- 36
- 0
- 约4.22千字
- 约 8页
- 2017-05-04 发布于湖北
- 举报
安徽大学2014年汇编复习题教程
第 PAGE 8 页 共 NUMPAGES 8 页
一.填空题
1.设段地址DS=2000H, 指令MOV [600H],AX的目的操作数物理地址是(20600H),如果段地址是2020H,指令MOV [400H],AX的目的操作数物理地址是(20600H)。
2.汇编源程序中出现的数值,默认采用(十进制);汇编程序在DEBUG调试状态下出现的数值,默认采用(十六进制)。
3.循环指令LOOP OPR执行的操作是(CX=CX-1若CX≠0跳转到标号OPR处循环执行,若CX=0则执行LOOP的下一条指令),LOOPNE指令循环得以继续的条件是(ZF=0且CX≠0)。
4.带符号数比较大小,当AX BX时程序转向标号L1,若前导指令为CMP AX,BX,后续指令应为(JG L1),若视为二个无符号数比较大小,后续指令应为(JA L1)。
5.16位加法6FA7+9F20H=(0EC7H),标志位SF,ZF,CF,OF的值分别为(0,0,1,0)。
6.设SS=2000H,SP=0100H,执行 CALL FAR PTR SUBPRO 后,SP=(00FCH)。
7.可以用一条指令(XOR BL,0FH)使BL中的低四位变反,高四位不变。
8.宏指令与子程序相比,子程序调用的执行速度比宏指令的(慢),在多次调用时,宏指令调用的目标程序长度比子程序调用的(长)。
9.执行DIV? BX指令后,(DX)寄存器中存放余数,(AX)寄存器中存放商。
10.在串操作中,如果地址变化是自动增量,则应将DF标志位设置为(0),如果地址变化是自动减量,则应将DF标志位设置为(1)。
二.简答题
1.请指出下列各条指令的源操作数的寻址方式是什么?
(1) MOV AX,53H 立即寻址方式
(2) TEST AL,[BP] 寄存器间接寻址方式
(3) MOV BX,ARRY 直接寻址方式
(4) CMP DX,CX 寄存器寻址方式
(5) LEA AX,-32H[BX][DI] 相对基址变址寻址方式
(6) ADC AH,ARRY[SI] 寄存器相对寻址方式
(7) SUB AX,[BX+SI] 基址变址寻址方式
2.分析以下指令是否有错,请指出错误原因。
(1) MOV DL,AX 两个操作数长度不一致
(2) MOV [BX],9 常数无类型,[BX]没有说明是字节单元还是字单元
(3) MOV BX,[DX] 寄存器间接寻址只允许BX、BP、SI和DI
(4) MOV CS,BX 代码段寄存器不能赋值
(5) MOV DS,DATA 段寄存器不接受符号地址
(6) ADD AX,[SI+DI] 变址寄存器只能使用一个
(7) SUB [BX],[SI] SUB指令的两个操作数不能同为内存单元
(8) MUL BX,CX 乘法指令格式不对,MUL后面只能有一个操作数
3.设 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 (AX)=1200H
(2)MOV AX,BX (AX)=0100H
(3)MOV AX,[1200H] (AX)=4C2AH
(4)MOV AX,[BX] (AX)=3412H
(5)MOV AX,[BX+1100H] (AX)=4C2AH
(6)MOV AX,[BX+SI] (AX)=7856H
(7)MOV AX,[BX+SI+1100H] (AX)=65B7H
4.用十六进制按字节标出以上数据在内存中的存放,并回答寄存器的值。
课本P103习题5.1
ORG 0
ARRAY LABEL BYTE
DA1 DW 2,9,14,3,315H,-6
DA2 DB 7,‘ABCDEDFG’
LEN = $-DA2
ORG 100H
DA3 DW DA4
DA4 DB 4 DUP(2 DUP(1,2,3),4)
。。。。。。
MOV AL,ARRAY+2 AL=( )H
ADD AL,DA2+1 AL=( )H
原创力文档

文档评论(0)