当前位置:文档之家› 习题(汇编语言)

习题(汇编语言)

一、单项选择/填空1.如果指令的运算结果为0,则标志位A.CF=1 B.OF=1 C.SF=1 D.ZF=11.8086CPU中,指令指针寄存器是A.BP B.IP C.SP D.PSW2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理地址为A.13000H B.23000H C.33000H D.3000H2.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为A.20200H B.30200H C.50200H D.200H3.设SP寄存器的内容为1352H,AX寄存器的内容为1200H,执行指令“PUSH AX”后,SP寄存器的内容为A.1200H B.1350H C.1352H D.1354H3.已知SP=2110H,执行指令“POP AX”后,SP寄存器的值为A.210EH B.210FH C.2111H D.2112H4.下列四条指令中,错误的...指令是A.MOV BX,[SI]B.MOV[BX], [SI]C.MOV DS,AX D.MOV AX, [BX]4.顺序执行PUSH AX和POP BX两条指令,其功能等同于A.MOV BX,AX B.MOV AX,BXC.XCHG AX,BX D.XCHG BX,AX5.指令“MOV AX,[BX]”中,源操作数的默认段寄存器是A.SS B.ES C.DS D.CS5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是A.BX B.BP C.SI D.DI6.执行“DIV BX”指令后,商存放在寄存器A.AL中B.AH中C.AX中D.DX中6.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=A.8856H B.6678H C.8800H D.6600H7.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为()A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=07.设AL=67H,执行“CMP AL,76H”后,AL=A.76H B.0DFH C.67H D.008.下列指令执行后,AL寄存器的值保持不变的是A.ADD AL,01H B.ADC AL,01HC.CMP AL,0lH D.SUB AL,01H9.若AX=1000H,执行“NEG AX”指令后,AX=A.1000H B.0E000H C.0F000H D.1001H9.若AX=-15要得到AX=15应执行的指令是()A.NEG AX B.NOT AX C.INC AX D.DEC AX10.指令“XOR AX,AX”执行后,AX中的内容是()A.00H B.11H C.0EEH D.0FFH10.设AL寄存器的初值为90H,指令“OR AL,09H”执行后,AL中的内容是()A.09H B.90H C.99H D.0FFH11.设AL的内容为0BEH,执行指令“SHR AL,01H”后,AL的内容为()A.5FH B.7CH C.0BEH D.0DFH11.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=A.0376H B.01BBH C.01BB D.037612.条件转移指令JB产生转移的条件是A.CF=0 B.CF=l C.OF=0 D.OF=112.条件转移指令“JE LOPl”的转移条件是A.OF=0 B.OF=1 C.ZF=0 D.ZF=113.下列指令执行后,能使(BX)=0,同时也使CF=0、OF=0的指令是()A.OR BX,BX B.XOR BX,BXC.AND BX,BX D.TEST BX,0FFFFH14.指令“MOV CL,55H XOR 0F0H”执行后,CL中的值是()A.05H B.50H C.0A5H D.0F5H14.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是A.0302H B.0203H C.0202H D.0303H15.表示过程定义结束的伪指令是A.ENDP B.ENDS C.END D.ENDM15.已知SP=12EH,执行段间返回指令RET后,SP的值是A.12AHB.12CHC.130HD.132H.16. 填空1)已知(DS)=4000H,(AX)=2060H,(BX)=3000H,(SI)=2060H,(43000H)=0A006H,执行AND AL,[BX] 后,(AL)= ,(ZF)= ,(PF)= ,(SF)= 。

执行CMP AL,[SI+0FA1H] 后,(AL)= ,(CF)= ,(SF)= ,(ZF)= ,(OF)= 。

2)已知(AX)=9C2AH,执行SHR AX,1 后,(AX)= ,(CF)= 。

3)已知(ES)=2000H,(BX)=3000H,(23000H)=0B116H,23002H)=8000H 执行JMP DWORD PTR ES:[BX] 后,(IP)= ,(CS)= 。

二、简答题1.设DS=2000H,BX=0100H,SI=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少?(1)MOV AX,1200H(2)MOV AX,BX(3)MOV AX,[1200H](4)MOV AX,[BX](5)MOV AX,[BX+SI]2.分别指出下列各指令中源操作数的寻址方式(1)MOV AX,1000H(2)MOV AX,[1000H](3)MOV AX,[BX](4)MOV AX,[BX+0100H](5)MOV AX,[BX+SI+0010H]3.设数据段定义如下:DA TA SEGMENTBUF1 DB 36H,3,2BUF2 DW 1364H,253HBUF3 DB 30 DUP(‘ABC’)BUF4 DW $-BUF3BUF5 DB 100 DUP(0)DA TA ENDS请回答:(1)执行“MOV AX,WORD PTR BUF1”后,AX= __________________。

(2)执行“MOV BX,OFFSET BUF3”后,BX=__________________。

(3)执行“MOV CX,BUF4”后,CX=__________________。

(4)执行“MOV AL,BUF3+2”后,AL=__________________。

(5)执行“MOV AX,BUF2+1”后,AH=__________________。

4.设DS=2000H,(23000H)=12H,(23001H)=34H,(23002H)=56H,(23003H)=78H,(23004H)=9AH,(23005H)=0BCH,(1)执行“MOV AL,BYTE PTR [3004H]”后,AL= __________________。

(2)执行“MOV AX,WORD PTR [3002H]”后,AX= __________________。

(3)执行“MOV BX,WORD PTR [3003H]”后,AX= __________________。

(4)执行“LES SI,[3000H]”后,SI= _________,ES= _________。

5.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW;(2)双字变量AYD存放的地址指针送ES和SI;(3)地址表达式AYY[4]的偏移地址送字变量ADDR;(4)AX的内容加1,要求不影响CF;(5)BX的内容加1,要求影响所有标志位。

6.设有数据定义如下:ARRAY DB 10H,24H,5AH,…,0C7H,98HCOUNT EQU $-ARRAY试分别写出完成下列操作的指令。

(1)将ARRAY的偏移地址送BX;(2)将ARRAY的第1个字节单元内容送AL;(3)将ARRAY数组的数据元素个数送CX。

7. 试分析下列程序段:ADD AX,BXJNO L1JNC L2SUB A X,BXJNC L3JNO L4JMP SHORT L5如果AX和BX的内容给定如下,程序执行完后转向哪里?1) 147BH 80DCH2) B568H 54B7H3) 42C8H 608DH4) D023H 9FD0H5) 94B7H B568H8. 假设X和X+2的内容为双精度数P,Y和Y+2的内容为双精度数q。

请说明下列程序段的功能。

MOV DX,X+2MOV AX,XADD AX,XADC DX,X+2CMP DX,Y+2JL L2JG L1CMP AX,YJBE L2L1: MOV AX,1JMP SHORT EXITL2: MOV AX,2EXIT:9. 请回答:(1)下列程序段的功能是什么?(2)若程序执行前(AX)=1234H,程序执行完后(BX)= 。

MOV CX,16MOV BX,0MOV DX,1AG:AND AX,DXJZ NEXTINC BXNEXT:SHL DX,1LOOP AG10. 试根据以下要求写出相应的汇编语言指令。

1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。

2)用寄存器BX和SI 的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。

3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。

4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。

5)把数0B5H与(AL)相加,并把结果送回AL中。

三、程序分析题1.MOV AX,4760HMOV BX,1264HPUSH AXPUSH BXPOP AXPOP BX程序段执行后,(AX)=________,(BX)=________。

2.MOV CX,3100HMOV WORD PTR[2000H], 8150HMOV BX, [2000H]PUSH BXPUSH CXPOP AXPOP DX程序段执行后,(AX)=________,(BX)=________,(CX)=________,(DX)=________。

3.MOV CL,3MOV AL,0AAHSHR AL,CLSAR AL,1RCL AL,1ROR AL,CL程序段执行后,AL=_____________,CF=_____________。

相关主题