字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节为显示字符的______,第二个字节为显示字符的______。 TK62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是______,而后两个字节存放的是______。TK63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是______或______才有实际意义。TK64、已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。JD(1)MOV AL,[BX]21357H(2)MOV CS:[BX+DI],AH43357H65、0P1 DB 1,20P2 DW 3412H,5678H┇MOV AX,OP1+1;字单元(OP1+1) AXMOV BL,OP2+1;字节单元(OP2+1) BL上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。JDMOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR(OP2+1)66、下列语句在存储器中分别为变量分配多少字节?JD(1)AD2 DW 10 DUP(?),1022(2)AD3 DD 100 DUP(?)40067、简述下面两条指令分别是什么语法错误?JDMOV [BX],[SI]MOV AX,DLMOV指令不能在两个______器操作数之间进行;操作数类型不匹配。68、在指令系统中,段内、段间返回均为RET指令。试回答:JD(1)执行段内返回RET指令时,执行的操作是:栈顶内容→IP,SP+2→SP(2)执行段间返回RET指令时,执行的操作是:①栈顶内容→IP,SP+2→SP②栈顶内容→CS,SP+2→SP69、ARY DW 10 DUP(?)┇MOV AL,TYPE ARYMOV BL,LENGTH ARYMOV CL,SIZE ARY上述MOV指令序列执行后的结果是什么?JDAL=2BL=10CL=2070、设某数据段:JDDATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB 'COMPUTER'DB 0AH,0DHCOUNT EQU -DA1DA2 DW'CO','MP','UT','ER'DATA ENDS试回答:(1)DA1的偏移地址是:______(2)COUNT的值是______(3)DA2+5字节单元的内容是_________71、已知AX=0FF60H,CF=1MOV DX,96XOR DH,0FFHSBB AX,DX执行上述指令序列后,AX=______,CF=______。 CXFX72、设寄存器AL,BL,CL中内容均为76H,XOR AL,0FHAND BL,0FHOR CL,0FH执行上述指令序列后,AL=______,BL=______CL=______。 CXFX73、已知AX=0A33AH,DX=0F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL执行上述指令序列后,AH=______,AL=______。 CXFX74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。JD(1)SHR DX,1(2)RCR DL,1(3)RCL DX,CL答:(1) 005CH (2) 00DCH (3) 05CCH75、写出完成下述功能的程序段:JD(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容并请写出最后(AX)=?答:(1)MOV AL, 25H (2)SHL AL, 1 (3)MOV BL, 15H(4)MUL BL 最后,(AX)=612H =155476、写一程序段,求双字长数DX∶bX的相反数。JD答:NEG DXNEG AXSBB DX, 077、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:JDPUSH AXPUSH BX 保护现场PUSH CX /PUSH DX/:}恢复现场试写出恢复现场时的指令序列。答:POP DXPOP CXPOP BXPOP AX78、完成下列操作,选用什么指令: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,D280、A DW 1234HB DW 5678H:PUSH APUSH BPOP APOP B试回答:CXFX①上述程序段执行后(A)=__________,(B)=_____②设执行前SP=200H,执行后SP=____________答:①(A)=5678H(2分)(B)=1234H(2分)②SP=2000H(2分)81、现有下列程序段:CXFXMOV AX,6540HMOV DX,3210HMOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL试问上述程序段运行后, (AX)=________ (BL)=________(DX)=________82、分析下面程序段,CXFXMOV AL,200SAR AL,1MOV BL,ALMOV CL,2SAR AL,CLADD AL,BL试问程序段执行后(BL)=_________(AL)=___________83、DA3 EQU WORD PTR DA4DA4 DB 0ABH,89H┇SHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA3上述程序段运行后,CX=______,DX=______。CXFX84、设(SP)=100H,(AX)=0FFFFHSTCPUSH AXADC AX,0PUSH AXPOP BX 上述程序段运行后,(BX)=______,(SP)=______。 CXFX85、STRING DB ‘ABCDEFGHIJ':MOV AH,01 ;从键盘输入字符1~9INT 21HAND AL,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV BL,[BX]MOV AH,02H ;显示输出INT 21H:试回答:(1)上述程序段的功能是什么?CXFX根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。(2)如从键盘输入字符‘4',程序段有什么结果?显示器显示字符‘D’86、已知:BX=4567HNEG BXINC BXNEG BXDEC BX程序段执行后,BX=______,CF=______。CXFX87、已知数据段中定义DAT1 DB 12H,34H,56H,78HMOV CX,0MOV AX,WORD PTR DAT1MOV CL,DAT1+3当程序段执行完后AX=______,CX=______。CXFX88、DA1 DB 83H,72H,61H,94H,5AH┇MOV CX,WORD PTR DA1AND CX,0FHMOV AL,DA1+3SHL AL,CL上述指令序列执行后,AL=______,CL=______。CXFX89、现有如下程序段:CXFXDATA SEGMENT DA3 EQU 1234HORG 0020H DA4 EQU $-DA2DA1 DW 12H,23H DA5 DB 31H,32HDA2 DB 11H,21H DATA ENDS请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名DA5的值是多少?答:(1) 该程序段已占有的存储字节数是8个字节。(2) 符号名DA4的值为2,符号名DA5的值是0026H。90、执行下列程序段后,回答问题。CXFXORG 1221H MOV BX,OFFSET NUMNUM DW 12H MOV CL,BYTE PTR NUM+1… MOV CH,TYPE NUMMOV AX,NUM HLT请问:(AX)=______,(BX)=______,(CX)=______。答:(AX)=0012H (BX)=1221H (CX)=0200H91、执行下列指令后AX、BX寄存器的内容?CXFXMOV SI,10HMOV AX,1234HMOV [SI+12H],AXLEA BX,[SI]MOV [SI+14H],BX答:AX为1234H,BX为22HLES BX,DWORD PTR [SI+12H]92、试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。BCLEA DI,DA_BYMOV CX,32MOV AL,‘Y’CLDREP STOSB93、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。BCDATA SEGMENTBUF1 DW-56,24,54,-1,89,-8……BUF2 DW45,-23,124,345,-265,……SUM DW10DUP(0)DATA ENDS94、编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。 BCMOV BH,ALMOV CH,AHMOV AL,AHAND AL,0F0HMOV BL,AHAND BL,0FHMOV CL,BHAND CL,0F0HMOV DL,BHAND DL,0FH95、在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。CXTK┇MOV AX,NUMW_____________________XOR DX,DXDIV BXMOV QUI,AX_____________________96、已知数据段中定义DAT1 DB 12H,34H,56H,78HMOV CX,0MOV AX,WORD PTR DAT1MOV CL,DAT1+3当程序段执行完后AX=______,CX=______。CXFX97、DA1 DB 83H,72H,61H,94H,5AH┇MOV CX,WORD PTR DA1AND CX,0FHMOV AL,DA1+3SHL AL,CL上述指令序列执行后,AL=______,CL=______。CXFX98、DA3 EQU WORD PTR DA4DA4 DB 0ABH,89H┇SHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA3上述程序段运行后,CX=______,DX=______。CXFX99、编制完整程序实现下列算式:W=X+Y+36-Z。设X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W+2两个单元中。BCDATA SEGMENTX DD …Y DD …Z DD …W DD …DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,XADD AX,YMOV BX,X+2ADC BX,Y+2ADD AX,36ADC BX,0SUB AX,ZSBB BX,Z+2MOV W,AXMOV W+2,BXCODE ENDSEND START
字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节为显示字符的______,第二个字节为显示字符的______。 TK
62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是______,而后两个字节存放的是______。TK
63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是______或______才有实际意义。TK
64、已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。JD
(1)MOV AL,[BX]
21357H
(2)MOV CS:[BX+DI],AH
43357H
65、
0P1 DB 1,2
0P2 DW 3412H,5678H
┇
MOV AX,OP1+1;字单元(OP1+1) AX
MOV BL,OP2+1;字节单元(OP2+1) BL
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。JD
MOV AX,WORD PTR(OP1+1)
MOV BL,BYTE PTR(OP2+1)
66、下列语句在存储器中分别为变量分配多少字节?JD
(1)AD2 DW 10 DUP(?),1022
(2)AD3 DD 100 DUP(?)400
67、简述下面两条指令分别是什么语法错误?JD
MOV [BX],[SI]
MOV AX,DL
MOV指令不能在两个______器操作数之间进行;
操作数类型不匹配。
68、在指令系统中,段内、段间返回均为RET指令。试回答:JD
(1)执行段内返回RET指令时,执行的操作是:栈顶内容→IP,SP+2→SP
(2)执行段间返回RET指令时,执行的操作是:①栈顶内容→IP,SP+2→SP②栈顶内容→CS,SP+2→SP
69、
ARY DW 10 DUP(?)
┇
MOV AL,TYPE ARY
MOV BL,LENGTH ARY
MOV CL,SIZE ARY
上述MOV指令序列执行后的结果是什么?JD
AL=2
BL=10
CL=20
70、设某数据段:JD
DATA SEGMENT
ORG 20H
NUM1=8
NUM2=NUM1+10H
DA1 DB 'COMPUTER'
DB 0AH,0DH
COUNT EQU $-DA1
DA2 DW'CO','MP','UT','ER'
DATA ENDS
试回答:(1)DA1的偏移地址是:______(2)COUNT的值是______(3)DA2+5字节单元的内容是_________
71、已知
AX=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX
执行上述指令序列后,AX=______,CF=______。 CXFX
72、设寄存器AL,BL,CL中内容均为76H,
XOR AL,0FH
AND BL,0FH
OR CL,0FH
执行上述指令序列后,AL=______,BL=______CL=______。 CXFX
73、已知
AX=0A33AH,DX=0F0F0H
AND AH,DL
XOR AL,DH
NEG AH
NOT AL
执行上述指令序列后,AH=______,AL=______。 CXFX
74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。JD
(1)SHR DX,1(2)RCR DL,1(3)RCL DX,CL答:(1) 005CH (2) 00DCH (3) 05CCH
75、写出完成下述功能的程序段:JD
(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
答:(1)MOV AL, 25H (2)SHL AL, 1 (3)MOV BL, 15H(4)MUL BL 最后,(AX)=612H =1554
76、写一程序段,求双字长数DX∶bX的相反数。JD
答:NEG DX
NEG AX
SBB DX, 0
77、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:JD
PUSH AX
PUSH BX 保护现场
PUSH CX /
PUSH DX/
:
}恢复现场
试写出恢复现场时的指令序列。
答:
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)=________ (BL)=________(DX)=________
82、分析下面程序段,CXFX
MOV AL,200
SAR AL,1
MOV BL,AL
MOV CL,2
SAR AL,CL
ADD AL,BL试问程序段执行后(BL)=_________(AL)=___________
83、DA3 EQU WORD PTR DA4
DA4 DB 0ABH,89H
┇
SHR DA3,1
MOV DX,DA3
SHL DA4,1
MOV CX,DA3上述程序段运行后,CX=______,DX=______。CXFX
84、设(SP)=100H,(AX)=0FFFFH
STC
PUSH AX
ADC AX,0
PUSH AX
POP BX 上述程序段运行后,(BX)=______,(SP)=______。 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=______,CF=______。CXFX
87、已知数据段中定义
DAT1 DB 12H,34H,56H,78H
MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3当程序段执行完后AX=______,CX=______。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=______,CL=______。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
_____________________
XOR DX,DX
DIV BX
MOV QUI,AX
_____________________
96、已知数据段中定义
DAT1 DB 12H,34H,56H,78H
MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3
当程序段执行完后AX=______,CX=______。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=______,CL=______。CXFX
98、DA3 EQU WORD PTR DA4
DA4 DB 0ABH,89H
┇
SHR DA3,1
MOV DX,DA3
SHL DA4,1
MOV CX,DA3
上述程序段运行后,CX=______,DX=______。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
题目解答
答案
ASCII码 属性 IP CS STOS CMP 存储 20H 0AH ‘U’的ASCII码 0 0 79H 06H _ 7FH 60H 35H 5400H 06H 2106H0E4H 0DDH 44AAH 44D5H 0 0FEH 4565H 1 3412H 0078H 0A0H 03H MOV BX,500 MOV REM,DX3412H 0078H 0A0H 03H 44AAH 44D5H