汇编语言设计复习题(第2章:8086的寻址方式和指令系统)

发布时间 : 星期日 文章汇编语言设计复习题(第2章:8086的寻址方式和指令系统)更新完毕开始阅读

ADD AL,BL 试问程序段执行后(BL)=__0E4H_(AL)=__0DDH___

83、DA3 EQU WORD PTR DA4 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 ┇

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

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

上述程序段运行后,CX=____44AAH _____,DX=_____44D5H _______。 CXFX 99、编制完整程序实现下列算式:W=X+Y+36-Z。设X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W+2两个单元中。 BC

DATA SEGMENT X DD ? Y DD ? Z DD ? W DD ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,X ADD AX,Y MOV BX,X+2 ADC BX,Y+2 ADD AX,36 ADC BX,0 SUB AX,Z SBB BX,Z+2 MOV W,AX MOV W+2,BX CODE ENDS END START

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