一、 选择
1.下面指令执行后,改变AL寄存器内容的指令是( D )。
A.TEST AL,02H B.OR AL,AL
C.CMP AL,BL D.AND AL,BL
A.TEST AL,02H B.OR AL,AL
C.CMP AL,BL D.AND AL,BL
2.对寄存器AX的内容乘以4的正确指令序列是( B )。
A.SHR AX,1 /SHR AX,1 B.SHL AX,1/ SHL,AX,1
C.ROL AX,1 /ROL AX,1 D.RCR AX,1/ RCR AX,1
A.SHR AX,1 /SHR AX,1 B.SHL AX,1/ SHL,AX,1
C.ROL AX,1 /ROL AX,1 D.RCR AX,1/ RCR AX,1
3.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )
A.85B92H B.86192H C.BB690H D.12169H
A.85B92H B.86192H C.BB690H D.12169H
4.指令JMP FAR PTR DONE属于 C
A.段内转移直接寻址
B.段内转移间接寻址
C.段间转移直接寻址
D.段间转移间接寻址
A.段内转移直接寻址
B.段内转移间接寻址
C.段间转移直接寻址
D.段间转移间接寻址
5.将DX的内容除以2,正确的指令是 C
A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1
A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1
6.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。
A.CMP B.SUB C.AND D.MOV
A.CMP B.SUB C.AND D.MOV
7.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是 A。
A.XOR AX,AX B.AND AX,AX C.OR AX,AX D.TEST AX,0
8.假设执行ADD汇编语言大小写字母转换指令后AX=006EH,再执行AAA指令,AX中的值是( B )
A. 14H B. 0104H C. 74H D. 04H
A. 14H B. 0104H C. 74H D. 04H
9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )
A. MOV AX,89 B. MOV AX,0809
C. MOV AX,89H D. MOV AX,0809H
A. MOV AX,89 B. MOV AX,0809
C. MOV AX,89H D. MOV AX,0809H
10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )
A. MOV DA1,32H B. MOV DA1,32
C. MOV WORD PTR DA1,3234H D. MOV WORD PTR DA1,‘24’
MOV DA1+1,34H MOV DA1+1,34
A. MOV DA1,32H B. MOV DA1,32
C. MOV WORD PTR DA1,3234H D. MOV WORD PTR DA1,‘24’
MOV DA1+1,34H MOV DA1+1,34
11.设 NUM1 EQU 100
NUM2 =64H 下面指令执行后,BL中全为1的指令是 D 。
A、MOV BL,NUM1 GT NUM2 B、MOV BL,NUM1 LT NUM2
C、MOV BL,NUM1 NE NUM2 D、MOV BL, NUM1 EQ NUM2
12.下列语句中能实现留空8个字节单元的语句是( D )
A. DA1 DT ? B.DA2 DW ?,? C. DA3 DD ? D.DA4 DQ ?
A. DA1 DT ? B.DA2 DW ?,? C. DA3 DD ? D.DA4 DQ ?
13.在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是 D 。
A、MOV DX,BUF1*BUF2 B、MOV DX,BUF1/BUF2
C、MOV DX,(BUF1*BUF2)-BUF1 D、MOV DX,BUF2-BUF1
14.设有变量VAR和标号LAB,不正确的指令是 C 。
A.LEA AX,VAR B.LEA AX,LAB
C.JMP NEAR PTR VAR D.JMP SHORT LAB
15.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是 C
A.12CSBH B.12B6BH C.12C59H D.12BFEH
A.12CSBH B.12B6BH C.12C59H D.12BFEH
16.在下列指令的表示中,不正确的是 C
A.MOV AL,[BX+SI]
B.JMP SHORT DONI
C.DEC [BX]
D.MUL CL
A.MOV AL,[BX+SI]
B.JMP SHORT DONI
C.DEC [BX]
D.MUL CL
17.在进行二重循环程序设计时,下列描述正确的是 A
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
18.条件转移指令JNE的测试条件为 A
A.ZF=0 B.CF=0 C.ZF=1 D.CF=1
A.ZF=0 B.CF=0 C.ZF=1 D.CF=1
19.将DX的内容除以2,正确的指令是 C
A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1
A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1
20.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。
A.数据段中偏移量为3236H的字节
B.附加段中偏移量为3234H的字节
C.数据段中偏移量为3234H的字节
D.附加段中偏移量为3236H的字节
A.数据段中偏移量为3236H的字节
B.附加段中偏移量为3234H的字节
C.数据段中偏移量为3234H的字节
D.附加段中偏移量为3236H的字节
21.执行如下程序:
MOV AX,0
MOV BX,1
MOV CX,100
A: ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)= C
A.99 B.100 C.101 D.102
MOV AX,0
MOV BX,1
MOV CX,100
A: ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)= C
A.99 B.100 C.101 D.102
22.上题的程序执行后(AX)= B
A.5000 B.5050 C.5100 D.5150
A.5000 B.5050 C.5100 D.5150
23.在下列指令中,__D____指令的执行会影响条件码中的CF位。
A.JMP NEXT B.JC NEXT
C.INC BX D.SHL AX,1
A.JMP NEXT B.JC NEXT
C.INC BX D.SHL AX,1
24.下面指令序列执行后完成的运算,正确的算术表达式应是 D
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A.y=x*2+1 B.x=y*2+1 C.x=y*2-1 D.y=x*2-1
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A.y=x*2+1 B.x=y*2+1 C.x=y*2-1 D.y=x*2-1
25.没有语法错误的输入指令是 A 。
A.IN AL,30H B.IN 30H,AL C.IN DX,AL D.IN AL,[BX]
26.在程序执行过程中,IP寄存器中始终保存的是 B
A.上一条指令的首地址
B.下一条指令的首地址
C.正在执行指令的首地址
D.需计算有效地址后才能确定地址
A.上一条指令的首地址
B.下一条指令的首地址
C.正在执行指令的首地址
D.需计算有效地址后才能确定地址
二、简答
1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。(3分)
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL
答:(1)005CH(2)00DCH(3)05CCH
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL
答:(1)005CH(2)00DCH(3)05CCH
2.8086中段的划分方式,以及最小段数目。
参考课本29页
3.指出下列指令的错误原因。
(1)MOV BX,AL 操作数类型不同
(2)MOV 256,CX
(3)POP CS
(4)MUL 45H
(5)MOV DS,2000H
(6)JMP WORD PIR LOO
(7)IN AL,3F8H
4.某程序段如下:
MOV DX,0EFADH
MOV AX,1234H
MOV CL,4
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
上面的程序段执行完后,DX、AX的内容是什么?
DX=FAD0H
DX=FAD0H
AX=2340H
三、填空
1.计算机语言分为 机器 语言、 汇编 语言和 高级 语言。
2.23D= 10111 B,100101011B= 12B H。
3.寄存器间接寻址 SI 的是默认段为DS BP默认段SS。
4.8086 CPU内部共有 14 个 16 位的寄存器。
5.汇编语言源程序需要 经过编译 才能运行
6. 8086存储器地址分段时,每个段起始地址的特征是__20位地址的最后4位为0____
7.执行带符号数的运算,IMUL BL 后CF=1 OF=1表示该数 乘积的高8位不是低8位的符号位扩展而是有效数
8. 8086系统的操作数分为 立即操作数 、 寄存器操作数 和 存储器操作数 三种类型
四、程序分析
1.现有如下程序段:
DATA SEGMENT
DATA SEGMENT
ORG 0020H
DA1 DW 12H,23H
DA2 DB 11H,21H
DA3 EQU 1234H
DA4 EQU $-DA2
DA5 DB 31H,32H
DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少?
答:(1) 该程序段已占有的存储字节数是8个字节。
DA5 DB 31H,32H
DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少?
答:(1) 该程序段已占有的存储字节数是8个字节。
(2) 符号名DA4的值为2,符号名DA5的值是0026H。
2.
2.
DA1 DB '345'
DA2 DB 3 DUP(0)
..
MOV SI,0
MOV CX,3
LOP: MOV AL,DA1[SI]
ADD AL,11H
OR AL,01H
MOV DA2[SI],AL
INC SI
LOOP LOP
试问:(1)程序段执行后,DA2各字节中的数据是
答:注意该题首先得到 ‘3’‘4’‘5’的asc码 33h 34h 35h 然后在增加到44H 45H 46H 分别对应D E F的ASC码,然后再把这些字母的ASC码对应的二进制数的最低位置1,把最终的ASC码值存入DA2中,结果为 EEG。
五、程序填空题
1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。如果总和值超过AX寄存器的容量,则置AX寄存器内容不变。请在程序中的空格处填入适当指令使其完整。
LEA BX,TABLE
MOV CX,10
MOV SUM,AX
MEXT: (1)ADD AL,[BX]
ADC AH,0
JNC DON
(2)MOV AX,SUM
JC END0
DON: INC BX
(3)LOOP NEXT
ENDO: HLT
LEA BX,TABLE
MOV CX,10
MOV SUM,AX
MEXT: (1)ADD AL,[BX]
ADC AH,0
JNC DON
(2)MOV AX,SUM
JC END0
DON: INC BX
(3)LOOP NEXT
ENDO: HLT
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论