的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)?
答:(1)MOVAL25H
(2)SHLAL1
(3)MOVBL15H
(4)MULBL
最后,(AX)612H1554
解析1)将AL的内容左移1位,将使它的内容扩大2倍,即使AL的内容乘以2。
2)最后,AX的内容应为25H215H612H1554
3.写一程序段,求双字长数DX∶bX的相反数。
答NEGDX
NEGAX
fSBBDX0解析求双字长数DXAX相反数,即对其求补,所以应实现的操作是
DXAX←0DXAX即00DXAX将上面的算式分解后,即为对DX求补,对AX求补,并从DX中减去将AX求补时产生的借位。所以相应的指令就是:
NEGDXNEGAXSBBDX0三,程序分析题(每小题6分,共36分)
1.现有如下程序段:
DATASEGMENT
DA3EQU1234H
ORG0020H
DA4EQU$DA2
DA1DW12H,23H
DA5DB31H,32H
DA2DB11H,21H
DATAENDS
注意:程序是从左到右看,先把左边的程序段看完了再看右边的程序段。下面的程序段
以相同的方法进行读解。
请回答:(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少?
答:1该程序段已占有的存储字节数是8个字节。
2符号名DA4的值为2,符号名DA5的值是0026H。
解析1)伪指令ORG0020H,设置存储单元起始偏移地址为0020H;
2)符号名DA1的值(即所对应存储单元的偏移地址)是0020H,该数据区的类型
为字,有2个字数据,所以共占用4个字节;
3)符号名DA2的值(即所对应存储单元的偏移地址)是0024H,该数据区的类型
为字节,有2个字节数据,所以共占用2个字节;
4)经EQU定义的符号名DA3、DA4不占用存储空间,“”用来表示当前地址计
数器的值(0026H),可它们的值分别为DA31234HDA42。
5)符号名DA5的值(即所对应存储单元的偏移地址)是0026H,该数据区的类型
为字节,有2个字节数据,所以共占用2个字节;
6)综上所述,该程序段共占有的存储字节数8个字节。
2.执行下列程序段后,回答问题。
ORG1221HMOVBX,
OFFSETNUM
NUMDW12H
MOVCL,BYTEPTRNUM1
…
MOVCH,TYPENUM
MOVAX,NUM
HLT
请问:(AX)______,(BX)______,(CX)______。
答:AX0012HBX1221HCX0200H
解析1)指令MOVAXNUM的功能是将NUM单元的字内容12H传送给AX,
使得AX0012H;
2)指令MOVBXOFFSETNUM的功能是将NUM单元的偏移地址1221H传送给
BX,使得BX1221H;
f3)指令MOVCLBYTEPTRNUM1的功能是将NUM11222H单元的字节内容
即NUM字单元的高字节00H传送给CL,使得CL00H;
4)指令MOVCLTYTENUM的功能是将NUM字单元的类型字节r