发布时间 : 星期六 文章1.汇编语言期末复习题更新完毕开始阅读
}恢复现场
试写出恢复现场时的指令序列。 答: POP DX POP CX POP BX POP AX
78、完成下列操作,选用什么指令: JD
(1)将AX的内容,减去0520H,和上次运算的借位; (2)将变量名TABL的段地址送AX; 答:(1)SBB AX,0520H(2分) (2)MOV AX,SEG TABL(2分) 79、D1 DB 20H DUP(?)
D2 DW D1 请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。 JD 答: ① LEA SI,D1 ② MOV SI,OFFSET D1 ③ MOV SI,D2 80、A DW 1234H B DW 5678H :
PUSH A PUSH B POP A POP B
试回答: CXFX
①上述程序段执行后(A)=__________,(B)=_____ ②设执行前SP=200H,执行后SP=____________ 答:
①(A)=5678H(2分)(B)=1234H(2分) ②SP=2000H(2分)
81、现有下列程序段: CXFX MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL
试问上述程序段运行后, (AX)=_5400H_ (BL)=_06H_(DX)=_2106H_ 82、分析下面程序段, CXFX MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL
ADD AL,BL 试问程序段执行后(BL)=__0E4H_(AL)=__0DDH___ 83、DA3 EQU WORD PTR DA4
17
DA4 DB 0ABH,89H ┇
SHR DA3,1 MOV DX,DA3 SHL DA4,1
MOV CX,DA3 上述程序段运行后,CX=___44AAH___,DX=__44D5H___。 CXFX 84、设(SP)=100H,(AX)=0FFFFH STC
PUSH AX ADC AX,0 PUSH AX
POP BX 上述程序段运行后,(BX)= 0 ,(SP)= 0FEH 。 CXFX
85、STRING DB ‘ABCDEFGHIJ' :
MOV AH,01 ;从键盘输入字符1~9 INT 21H AND AL,0FH DEC AL XOR AH,AH
MOV BX,OFFSET STRING ADD BX,AX MOV BL,[BX]
MOV AH,02H ;显示输出 INT 21H :
试回答:
(1)上述程序段的功能是什么? CXFX 根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。(2)如从键盘输入字符‘4',程序段有什么结果?
显示器显示字符‘D’ 86、已知: BX=4567H NEG BX INC BX NEG BX
DEC BX 程序段执行后,BX=____4565H___,CF=___1_____。 CXFX 87、已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3 当程序段执行完后AX=___3412H____,CX=__0078H_____。 CXFX
88、DA1 DB 83H,72H,61H,94H,5AH
18
┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3
SHL AL,CL 上述指令序列执行后,AL=__0A0H____,CL=__03H____。 CXFX
89、现有如下程序段: CXFX DATA SEGMENT DA3 EQU 1234H ORG 0020H DA4 EQU $-DA2
DA1 DW 12H,23H DA5 DB 31H,32H DA2 DB 11H,21H DATA ENDS 请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名DA5的值是多少?
答:(1) 该程序段已占有的存储字节数是8个字节。(2) 符号名DA4的值为2,符号名DA5的值是0026H。
90、执行下列程序段后,回答问题。 CXFX ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1 ? MOV CH,TYPE NUM MOV AX,NUM HLT 请问:(AX)=______,(BX)=______,(CX)=______。 答:(AX)=0012H (BX)=1221H (CX)=0200H
91、执行下列指令后AX、BX寄存器的内容? CXFX MOV SI,10H MOV AX,1234H MOV [SI+12H],AX LEA BX,[SI] MOV [SI+14H],BX
答:AX为1234H,BX为22H LES BX,DWORD PTR [SI+12H]
92、试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。 BC
LEA DI,DA_BY
MOV CX,32 MOV AL,‘Y’ CLD
REP STOSB
93、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。 BC
DATA SEGMENT
BUF1 DW-56,24,54,-1,89,-8?? BUF2 DW45,-23,124,345,-265,?? SUM DW10DUP(0) DATA ENDS
19
94、编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。 BC
MOV BH,AL MOV CH,AH MOV AL,AH AND AL,0F0H MOV BL,AH AND BL,0FH MOV CL,BH AND CL,0F0H MOV DL,BH AND DL,0FH
95、在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。 CXTK
┇
MOV AX,NUMW
____ MOV BX,500_________ XOR DX,DX DIV BX MOV QUI,AX
____ MOV REM,DX _________
96、已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3
当程序段执行完后AX=___3412H _____,CX=___0078H _____。 CXFX
97、DA1 DB 83H,72H,61H,94H,5AH ┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL
上述指令序列执行后,AL=___0A0H ____,CL=___03H ____。 CXFX 98、DA3 EQU WORD PTR DA4 DA4 DB 0ABH,89H ┇
SHR DA3,1 MOV DX,DA3 SHL DA4,1 MOV CX,DA3
20