1.汇编语言期末复习题

发布时间 : 星期六 文章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

联系合同范文客服:xxxxx#qq.com(#替换为@)