1.简述7种寻址方式。
略。
2.简答题,请根据教材、手册,或查资料回答下列问题。
(1)下列指令的作用
MOV AL,5;字节传送,立即数送通用寄存器
MOV AX,BX;字传送,通用寄存器送通用寄存器
MOV DS,AX ;字传送,通用寄存器送段寄存器
(2)下列指令的作用
XCHG BL,AH ;字节交换,寄存器与寄存器的内容交换
XCHG AX,[BX][SI] ;字交换,寄存器与内存单元的内容交换
(3)若两个字数据分别存储在内存单元NUM1和NUM2中,下述代码的作用
汇编程序段如下:
MOV AX,NUM1
XCHG AX,NUM2
MOV NUM1,AX
将这两个内存单元的内容互换
(4)设(SS)=2011H,(SP)=0020H,依次执行下列汇编指令后,分析堆栈中的数据和寄存器AX、BX、SP的变化情况。
MOV AX,0103H
MOV BX,1228H
PUSH AX
PUSH BX
POP BX
(5)若(DS)=2000H,(BX)=0020H,(AL)=9H,则执行指令XLAT后(AL)的值是什么?
(AL)=39H
该指令隐含 寄存器BX保存内存表格的首地址;寄存器AL保存表格中某单元在此表格中的偏移量
(6)下列代码的作用
MOV DX,60H ;端口地址送DX寄存器中
IN AL,DX ;从60H端口写入一个8位数
OUT 90H,AX ;将16位数输出到90H端口
(7)设DS=2100H,BX=100H,SI=10H,(DS:110H)=1234H,则指令:
LEA BX,[BX+SI] 执行后的效果是?
执行后,(BX)=(BX)+(SI)=110H。
(8)编写汇编程序段,把标志寄存器的CF位求反,其他位不变。
LAHF ;取标志寄存器的低8位
XOR AH,01H ;最低位求反,其他位不变
SAHF ;送入标志寄存器的低8位
(9)编写汇编程序段,把标志寄存器TF位清零,其他标志位不变。
PUSHF ;标志寄存器入栈
POP AX ;取标志寄存器内容
AND AX,0FEFFH ;TF清零,其他位不变
PUSH AX ;新值入栈
POPF ;送入标志寄存器
(10)下列代码的作用
MOV AL,75H
CBW ;执行结果为:AX=0075H
MOV AX,0A085H
CWD ;执行结果为:DX=0FFFFH,AX=0A085H
(11)解释代码的效果
ADC CX,DI ;CX ← CX+DI+CF
ADC是带进位的加法指令,功能:(dest) ← (dest) + (src) + CF,用于多字节或多字加法运算。该指令执行后,影响标志:CF、PF、AF、ZF、SF和OF
(12)下列代码执行后,影响的标志位包括哪些?
MOV AL,0
DEC AL ;AL=0FFH,OF=0,SF=1,ZF=0,AF=1,PF=1
(13)编写汇编程序段,计算两个无符号数20H,0FFH相乘的结果。
解
MOV AL,20H ;AL=20H=32D
MOV BL,0FFH ;BL=0FFH=255D
MUL BL ;AX=1FE0H=8160D,OF=CF=1
(14)编写汇编程序段,计算12D+ 28D 并用压缩BCD码编码。
MOV AL,12H
ADD AL,28H ;AL=3AH,AF=1,CF=0
DAA ;AL=40H
(15)解读下列代码的作用
MOV AL,'7' ;AL=37H
ADD AL,'9' ;AL=70H,AF=1,CF=0
AAA ;AH=01H,AL=06H,CF=AF=1
用非压缩BCD码编码并计算7+9。