10分2分题1MOVAXDL错。目的操作数和源操作数的类型不一致。2MOVBXDX10错。用于基址或变址寻址的寄存器只能为BX、BP、DI、SI。3SHRAX4错。在移位操作中,移位次数为多次时,必须将移位次数存放到CL寄存器中。4MOVBXSI错。目的操作数和源操作数不能同时为存储单元。5MOVCX1000H对
四、设AX1122H,BX3344H,CX5566H,SP0040H下述程序执行后AXBXCXDX等通用寄存器的内容各是多少画出堆栈存储器的逻辑地址及其存储内容和SP指向的示意图。10分PUSHAXPUSHBXPUSHCXPOPBXPOPAX解:POPDXBX5566HAX3344HCX5566H
共6页第3页
fDX1122H堆栈存储器的逻辑地址、堆栈指示器的指向及栈区的内容如图11所示。
五、简答题。10分1分别指出下列指令中目的操作数的寻址方式。5分1MOVAX1000H3ADDAXBX45MOVBXAL1立即寻址2直接寻址3基址寻址4基址变址寻址5寄存器寻址六、编程将下面数据段以$结束的字符串中的小写字母改为大写字母,并应用DOS系统功能调用显示转换后的字符串。10分DATASTRDATA解答:SEGMENTDB‘heLLo,eveRyboDY!’,‘$’ENDSC2MOVAXES1000H4SUBAXBXDI5
CODESEGMENTASSUMESTART:MOVMOVLEAA1:MOVDS:DATA;CS:CODE
AX,DATADS,AXBX,STRAL,[BX]
CMPAL,‘$’;是$,则结束JEDONE
共6页第4页
fCMPAL,‘a’JBNEXT;低于,则为大写字母
CMPAL,‘z’JANEXT;高于,则不是字母
SUBAL,20H;将小写字母改为大写字母MOVBX.ALNEXT:INCJMPLEAMOVINTBXA1DXSTRAH09H21H
DONE:MOVAX.4C00HINTCODEENDSEND七、一数据段定义如下:ORG0000HDATASEGMENTS1DB12345S2DB12345′COUNTEQUS1NBDB3DUP2NWDW1203PDW2S2DATAENDS画出该数据段中数据的存储形式。10分START21H
共6页第5页
fS1
0102030405
S2
3132333435
NB
020202
NW
88FFFBFF
P
FEFF0500
八、问答题:10分1、在80868088的通用寄存器AX、BX、CX、DX中,用作存储器间址的寄存器为?BX2、用作IO端口间址的寄存器为?DX
3、用作循环控制指令LOOP的寄存器为?CX480868088有几个段寄存器?写出其名字。4个,CSDSESSS5、其中用来存放数据段段首地址的段寄存器为?DS用来存放代码段段首地址的段寄存器为?CS用来存放堆栈段段首地址的段寄存器为?SS
共6页第6页
fr