资源描述
汇编语言期末复习题
DX:单项选择题 DU:多项选择题 TK:填空题 MC:名词解释
v JD:简答题 CXFX:程序分析题 CXTK:程序填空题 BC:编程题
第1章:基础知识
1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。 DX
A、宏定义,宏调用 B、宏定义,宏展开
C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用
2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。 DX
A、名字项 B、操作项 C、操作数项 D、注释项
3、可屏蔽中断就是它的请求是否被CPU响应要受 ( IF )的控制。 DX
4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。 DX
5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在 堆栈 段中,段地址在 SS 寄存器中。 TK
6、注释项用于说明程序段或是一条和几条指令的功能,一般用 ;(或分号) 表示注释的开始。 TK
7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。 TK
8、通常主程序和子程序间参数传送的方法有三种: 用寄存器传递 、 用存储单元传递、用堆栈传递(顺序可调换)。 TK
9、 中断 是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为 中断源 。 TK
10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。 TK
11、计算机系统通过 接口 与外围设备通信。 TK
12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。 TK
13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节为显示字符的 ASCII码 ,第二个字节为显示字符的 属性 。 TK
14、简述上机运行汇编语言程序的过程。 JD
答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
15、简述程序中指令和伪指令的区别。 JD
答:能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。
伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。
16、十六进制数88H,可表示成下面几种形式,请找出错误的表示(④ )。 DX
① 无符号十进制数136
② 带符号十进制数-120
③ 压缩型BCD码十进制数88
④ 8位二进制数-8的补码表示
17、指令指针寄存器是(IP )。 DX
18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B) DX
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
19、CS寄存器属于( 段寄存器 )。 DX
20、已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是( 3412H )。 DX
21、一个有16个字的数据区,它的起始地址是70A0H∶DDF6H,则这个数据区最末一个字单元的物理地址是( 7E814H )。 DX
22、简述上机运行汇编语言程序的过程。 JD 答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
第2章:8086/8088的寻址方式和指令系统
1、下列指令属于基址加变址寻址方式的是( MOV DX,DS:[BP][SI] )。 DX
2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。 DX
A.1 B.2 C.3 D.由指令长度决定的
3、下列属于合法的指令是( D ) DX
A.MOV DS,ES B.MOV [SI],[DI] C.MOV AX,BL D.MOV [DI],BL
4、若AX=349DH,CX=000FH。则执行指令AND AX,CX后,AX的值是( 000DH )。 DX
5、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( 85B92H ) DX
6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ) DX
A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS,DS,ES,SS
7、对寄存器AX的内容乘以4的正确指令序列是( SHL AX,1 SHL,AX,1 )。 DX
8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( OF,AF,PF )。 DX
9、设DH=10H,执行NEG DH指令后,正确的结果是( DH=0F0H CF=1 )。 DX
10、下列传送指令中有语法错误的是( A )。 DX
A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX
11、下面指令执行后,改变AL寄存器内容的指令是( D )。 DX
A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL
12、执行除法指令后,影响的标志位是( AF,CF,OF,PF,SF,ZF都不确定 )。 DX
13、执行下面指令序列后,结果是( AX=0FF82H )。 DX
MOV AL,82H
CBW
14、与MOV BX,OFFSET VAR指令完全等效的指令是( D )。 DX
A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VAR D、LEA BX,VAR
15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是( PARA )。 DX
16、MOV SP,3210H
PUSH AX 执行上述指令序列后,SP寄存器的值是( 320EH )。 DX
17、BUF DW 10H DUP(3 DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是( 100H )。 DX
18、MOV AH,7896H
ADD AL,AH
上述指令执行后,标志位CF和OF的值是( CF=1,OF=0 )。 DX
19、完成将带符号数AX的内容除以2的正确指令是( SHR AX,1 )。 DX
20、在汇编语言程序中,对END语句的叙述正确的是( C )。 DX
A.END语句是一可执行语句 B.END语句表示程序执行到此结束
C.END语句表示源程序到此结束 D.END语句在汇编后要产生机器码
21、已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(数据段中偏移量为3236H的字节)中。 DX
22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。 DX
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
23、已知(AX)=1234H,执行下述三条指令后,(AX)= (0000H)。 DX
MOV BX,AX
NEG BX
ADD AX,BX
A.1234H B.0EDCCH C.6DCCH D.
24、将DX的内容除以2,正确的指令是(C)。 DX
A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1
25、有如下指令序列: DX
ORG 40H
DA1 DW 0AB12H,8574H
……
MOV AX,DA1
MOV BX,OFFSET DA1
上述指令执行后,寄存器AX和BX的值分别为( AB12H,40H )。
26、下列数值表达式和地址表达式中,错误的是( D )。 DX
A.MOV AL,8*14+4 B.MOV SI,OFFSET BUF+13
C.MOV CX,NUM2-NUM1 D.MOV CX,NUM2+NUM1
27、数据段定义如下: DX
X1 DB 10H,50,1
X2 DW 10H,20,3
X3 DD ?
COUNT EQU X3-X1
变量COUNT的值是( 9 )。
28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是( C )。 DX
A、INC CX JZ MINUS B、SUB CX,OFFFFH JZ MINUS
C、AND CX,OFFFFH JZ MINUS D、XOR CX,OFFFFH JZ MINUS
29、AL和VAR字节单元中分别存放一个带符号数,执行CMP AL,VAR时,如AL>VAR,那么溢出位和符号位 的关系是( OF=SF )。 DX
30、下面是关于汇编语言程序中使用RET的描述,不正确的是( C )。 DX
A.每一个子程序中允许有多条RET指令。 B.每一个子程序结束之前一定要有一条RET指令。
C.每一个子程序中只允许有一条RET指令。 D.以过程形式表示的代码段,一定有RET指令存在。
31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是( CX=0或ZF=0 )。 DX
32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是( MOV AX,0604H )。 DX
33、重复前缀指令REP的重复次数由 CX 决定。 TK
34、DR1 DB 10H,30H
DR2 DW 10H DUP(0,2 DUP(2))
……
MOV BL,LENGTH DR1
MOV CL,LENGTH DR2 请问指令执行后,BL和CL的值分别为 1 和 10H 。 TK
35、设(SP)=100H,(AX)=0FFFFH
STC
PUSH AX
ADC AX,0
PUSH AX
POP BX 上述程序段运行后,(BX)= 0 ,(SP)= 0FEH 。 CXFX
36、假设数据段定义如下:
DA1 DW ’C’,’D’
DA2 DB 18 DUP(?)
DA3 DW $-DA2
……
MOV BX,DA3
MOV AX,DA1
上述指令执行后,BX寄存器中的内容是12H(或18),AH寄存器中的内容是 00H,AL寄存器中的内容是43H 。CXFX
37、现有如下数据段
DATA SEGMENT
ARRAY1 DB 1,26,‘3456’
ARRAY2 DW 7,89H,10
VAL EQU ARRAY2-ARRAY1
DATA ENDS
请问:该数据段已占有 12(或0CH) 字节的存储空间。 CXFX
38、当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( ④)。 DX
① 表示结果中含1的个数为偶数 ② 表示结果中含1的个数为奇数
③ 表示该数为偶数 ④ 表示结果中低八位含1的个数为偶数
39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C ) DX
A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位
B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0
C.指令AND AX,OFH执行后,分离出AL低四位
D.NOT AX,执行后,将AX清0
40、完成对CL寄存器的内容乘以4的正确操作是( C ) DX
A.ROL CL,1 B.MUL 4
ROL CL,1
C.SHL CL,1 D.MOV CL,2
SHL CL,1 SHL CL,CL
41、下面各传送指令中,正确的是( C ) DX
A.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX
42、要实现使BETA的值为56,应采用语句为( BETA EQU 56 ) DX
43、REPZ CMPSW指令,重复执行的终止条件是( CX=0或ZF=0 ) DX
44、下面程序段执行后,AL中的内容是( 21H ) DX
MOV AX,8833H
ADD AL,AH
DAA
45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(① )。 DX
① MOV AL,00H ② AND AL,00H ③ XOR AL,AL ④ SUB AL,AL
46、下列指令执行后总是使CF=0,OF=0的是( AND)。 DX
47、完成同指令XCHG AX,BX相同功能的指令或指令序列是(④ )。 DX
① MOV AX,BX ② MOV BX,AX
③ PUSH AX
POP BX
④ MOV CX,AX
MOV AX,BX
MOV BX,CX
48、设AH=0,AL=06H,BL=09H,执行指令
ADD AL,BL AAA
之后,其结果应是(AH=01,AL=05 )。 DX
49、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(OF=1,CF=1 )。 DX
50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0 )。 DX
51、下面指令中,合理而有意义的指令是(④ )。 DX
① REP LODSB ② REP SCASB ③ REP CMPSB ④ REP MOVSB
52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D ) DX
A.STOSW B.LODSW C.SCASW D.CMPSW
53、AL=0AH,下列指令执行后能使AL=05H的是( C ) DX
A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH
54、DA1 DW‘AB’,‘CD’,‘EF’,‘GH’
┇
MOV AX,DA1+3
指令执行后AX中的内容是( ‘FC’ )。 DX
55、在汇编语言程序中,对END语句的叙述正确的是( ③)。 DX
① END语句是一可执行语句 ② END语句表示程序执行到此结束
③ END语句表示源程序到此结束 ④ END语句在汇编后要产生机器码
56、下面的数据传送指令中,错误的操作是(④ )。 DX
① MOV SS:[BX+DI],1000H ② MOV DX,1000H ③ MOV WORD PTR[BX],1000H ④ MOV DS,2000H
57、下面指令执行后,变量DAB中的内容是(0F5H )。 DX
DAW DW2A05H
DAB DB 0FAH
:
MOV AL,BYTE PRT DAW
SUB DAB,AL
58、执行下列指令后,正确的结果是(② )。 DX
MOV AL,100
MOV BL,-2
① AL=100H
BL=02H
② AL=64H
BL=0FEH
③ AL=64H
BL=82H
④ AL=100H
BL=0FEH
59、设数据段中已有:
DA1 DB 12H,34H
DA2 DW 56H,78H
下面有语法错误的语句是(② )。 DX
① ADR1 DW DA1 ② MOV DA1+1,AX ③ MOV BYTE PTR DA2+1,AL ④ MOV WORD PTR DA1+1,AX
60、 DATA SEGMENT
TA1 DW 0102H,0304H,0506H
TA2 DB 02H,03H,04H
:
MOV BX,DS:[0006H]
AND BX,0FFH
AND BH,[BX]
上述指令序列运行后,BX的内容是( 0402H)。 DX
61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为___20A8H _____,其物理地址为___11488H _____。 TK
62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____ IP____,而后两个字节存放的是____ CS____。 TK
63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___ STOS____或___ CMP__才有实际意义。 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(?),10 22
(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的偏移地址是: 20H (2)COUNT的值是 0AH (3)DA2+5字节单元的内容是 ‘U’的ASCII码_
71、已知
AX=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX
执行上述指令序列后,AX=_________0__________,CF=______0__________。 CXFX
72、设寄存器AL,BL,CL中内容均为76H,
XOR AL,0FH
AND BL,0FH
OR CL,0FH
执行上述指令序列后,AL=______79H ___,BL=__06H ___CL=_7FH___。 CXFX
73、已知
AX=0A33AH,DX=0F0F0H
AND AH,DL
XOR AL,DH
NEG AH
NOT AL
执行上述指令序列后,AH=____60H____,AL=_____35H_。 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)=_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
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
第3章:8086汇编语言程序格式
1、指令JMP FAR PTR DONE属于(段间转移直接寻址)。 DX
2、下列叙述正确的是(C)。 DX
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
3、一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(12C59H)。 DX
4、某存储单元的物理地址是12345H,可以作为它的段地址有( D ) DX
A.2345H B.12345H
C.12340H D.1234H
5、在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(进位值在CF中,校正后根据CF内容再加在AH中) DX
6、执行后使BX=0的同时也使CF=0,OF=0的指令是( XOR BX
展开阅读全文