16 编写程序段,使(AH)与( AL)中的内容互换
解1 MOV BL,AL MOV AL,AH
MOV AH,BL 解2 XCHG AH,AL 2
17 编写程序段,使 (BL) 中高 4 位与低 4 位内容互换
解1 MOV CL,4 MOV BH,0 SHL BX,CL ADD BL,BH 解2 MOV CL,4 ROL BL,CL 2
18 编写程序段,实现当(DL)是奇数时使(AL)=31H,否则使(AL)=30H
SHR DL,1 MOV AL,0 RCL AL,1 ADD AL,30H 2
20 设寄存器AX 中存放 1234H,BX 寄存器中存放 1 ,执行 DIV BL 指令后,会发生什么现象
溢出,商超过8 位,在AL 中存放不下商
21 设 DX 寄存器中存放值为 0 ,AX 中存放 1234H,BX 中存放 1 ,执行 DIV BX 后,是否会出现与 2
20 相同现象
不会,因为是16 位除法,商未超过16 位 2
22 一字数据压栈时堆栈指针如何改变
弹出一字数据时堆栈指针如何改变
压栈时堆栈指针减2;弹出一字数据时堆栈指针加2 2
23 已知(SP)=2088H,(AX)=1A89H,(BX)=90CDH
依次执行以下三条指令后,画图说明堆栈中数据情况,及SP、AX、BX 中数据
PUSH AX PUSH BX POP AX (SP)=2086H,(AX)=90CDH,(BX)=90CDH
25 编写程序段求 8
(8 的阶乘)
MOV AX,8 MOV BX,7 NEXT:DX,0 MUL BX DEC BX JNZ NEXT 2
27 假设(AX)=07EH,变量 BUFFER 中存放的内容为B5H,求下列各条指令单独执行后的结果
(1) AND AX,BUFFER 34H (2) X