汇编作业1:选择填空题:
单项选择题:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是( D )
A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H
C.DW ‘AB’,‘CD’,‘EF’ D.DW ‘BA’,‘DC’,‘FE’
2.在同一程序段中,定义下面伪指令,正确的是( C )?
A.PORT EQU AL B.CONT EQU 3500H AND OFFH
PORT EQU 2000H
C.STRl DB‘ABCD’ D.STR2 DW‘ABCD’
3.DA2 DW‘AB’,‘CD’
┇
MOV AX,WORD PTR DA2+1
上述语句执行后AX中的值是( C )
A.‘AD’ B.‘BC’ C.‘DA’ D.‘CB’
4.下列数据定义语句中可实现留空20H个字节存储单元的是( D )
A.DB 20 DUP(?) B.DW 20H DUP(?)
C.DB 10H DUP(4 DUP(?)) D.DB 20H DUP(?)
5.设DL=55H,执行指令后能使DL中的数据为OAAH的指令是 ( D )
A.TEST DL, OAAH B.OR DL, OAAH
C.NEG DL D.XOR DL, OFFH
6.DW 10H DUP (2 DUP(3),300H)
上述定义的数据单元中,能构成0303H字存储单元的个数是( D )
A.10H B.20H C.1EH D.OFH
7.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是( B )
A.BX B.BP C.SI D.DI
8.下列指令中有语法错误的是( C )
A.PUSH AX B.PUSH [20H+SI+BX]
C.POP CS D.PUSH CS
9.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( B )
A.CX≠0且ZF=1 B.CX≠0且ZF=0
C.CX≠0或ZF=1 D.CX≠0或ZF=0
10.设AX=0CCBBH, CF=1
AND AX, 7FFEH
RCR AX, 1
上述两条指令执行后,AX和CF中的内容分别是( C )
A.AX=265DH,CF=0 B.AX=265DH,CF=1
C.AX=A65DH, CF=0 D.AX=A65DH, CF=1
11.把BL中的数据输出到端口8CH中,正确指令是( C )
A.OUT 8CH,BL B.IN 8CH,BL
C.MOV AL,BL D.MOV AL,BL
OUT 8CH,AL IN 8CH,AL
12.结果为零的条件转移指令,其测试条件是( B )
A.ZF=1 B.ZF=0 C.SF=l D.SF=0
13.下面程序段完成测试DA_BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中空格里应填的语句是
MOV CH,0
TEST DA_BYTE,80H
______________
MOV CH,0FFH
ZERO:MOV DH,CH( C )
A.JNZ ZERO B.JS ZERO C.JZ ZERO D.JC ZERO
14.设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是(B )
A.11011011000B B.11011000B
C.00011011B D.00011011011B
15.设SP初值为3050H,执行指令PUSH BX后,SP的值是( B )
A.304FH B.304EH C.3048H D.3049H
16.下列指令执行后影响CF值的是(D )
A.DEC B.XCHG C.LEA D.SHL
17.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为( B )
A.AL=57H,BL=24H B.AL=33H,BL=24H
C.AL=57H,BL=33H D.AL=33H,BL=0
18.设CL=8(6),AL=0C8H,执行SAR AL,CL后,AL中的数据是( A )
A.0FFH B.80H C.00H D.0FEH B
19.在程序运行过程中,确定下一条指令的物理地址的计算表达式是( D )。
(A) DS*16+SI (B) SS*16+SP
(C) ES*16+DI (D) CS*16+IP
20.物理地址(10FF0H)=10H, (10FF1H)=20H, (10FF2H)=30H, 从地址10FF1H中取一个字的内容是( B )。
(A) 1020H (B)3020H (C)2030H (D)2010H
21.下列指令中操作数在代码段中的是( A )。?
(A) MOV AL,42H (B) ADD AL,BL
(C) SUB [BX],DI (D) INC [DI]
22.下列指令执行后,对源操作数和目的操作数均无影响的是( D )。
(A) MOV [BX+2],AX (B) SUB AX,2467H
(C) ADD [SI],BX (D) CMP AX,BX
23.数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:( D )。
DA1 DB 50H DUP(?)
DA2 DW DA1
(A) LEA SI,DA1 (B) MOV SI,OFFSET DA1
(C) MOV SI,DA2 (D) MOV SI,DA1
24.设(SS)=1234H,(SP)=0102H,执行PUSH BX后,堆栈顶部的物理地址是( A )。
(A) 12440H (B) 12444H (C) 12344H (D) 12340H
25.下面数据段共占用( D )字节的存储空间。
da1 DB 'ABCDEFGHIJ'
da2 DW 10 DUP(20H)
da3 EQU 100
(A) 21 (B) 31 (C) 20 (D) 30完成字符串是什么
a)将AX清零,下列指令错误的是( C )。
(A) SUB AX,AX (B) XOR AX,AX
(C) OR AX,00H (D) AND AX,00H
b)设(AL)=79,ADD AL,0B1H指令执行后, CF和OF的值是( D )。
(A) CF=0 OF=1 (B) CF=1 OF=1
(C) CF=0 OF=0 (D) CF=1 OF=0
c)设AX=1000H, 执行上述指令后,正确的结果是( B )。
d) NEG AX
NOT AX ( B )
(A) AX=1001H (B) AX=0FFFH (C) AX=1000H (D) AX=0111H
填空题
1.汇编语言程序中常量定义伪指令在( 汇编 )阶段被执行。?(不太了解常量定义伪指令的一些知识点)
2.0B1D:1000单元的物理地址是(0C1D0H ),该物理地址的另一种分段表示形式是(0A12:20B0 )。
3.在8088CPU中按照分段规则对1M存储空间进行分段,其可作为段首单元的地址共有(16 )个,每个相邻的段首地址相差( 64K )个单元。
4.一个汇编语言程序最少由( 1 )个代码段构成,(选择:必须有一个/可有可无)可有可无数据段,数据段内(不可以)(选择:可以/不可以)存储指令代码。
5.指令MOV AX,SEG BUF的功能是把( BUF变量的所在段的段地址值 )送到AX中。
6.要使AL寄存器中数据的高4位不变,低4位取反,可使用XOR AL,( 0FH)指令实现。
7.要使AL寄存器中负数变为正数,可以使用 ( NOT/NEG)指令实现。
8.指令MOV AX,ES:[BX][SI]源操作数的物理地址计算表达式是( ES*10H+BX+SI )。
9.条件转移指令的跳转地址范围是(-128~+127 ),如(IP)=1000H,位移量是0F8H,则条件转移指令的转移地址是( 10F8H )。
10.条件转移指令计算跳转地址的方法是(当前IP+位移量 ),它的寻址方式属于( 相对寻址 )。
11.写出将AL寄存器中的数据输出到378H号端口的指令(OUT 378H,AL )。
12.已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令XOR BX,VAR后(BX)=( 80H )。
13.已知(BX)=2AH,字变量VAR存放的内容为0AAH,执行指令CMP BX,VAR后(BX)=(2AH )。
14.MOV AX,-2指令执行后,AX寄存器中的16进制数值是(FFFEH )。
15.已知AX=1234H,CL=4,CF=1,ROR AX,CL指令执行后,AX=(4123)H。
汇编作业2-分析题
1.现有程序如下:
DATA SEGMENT
BUF DB ‘AI39*5867Jfe=KJYKGNGK339385’
C= $-BUF
N1 DB 0
N2 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论