资源描述
一、单项选择题
1 .完成将累加器AX 清零, 下面错误的指令是(C )
A .SUB AX, AX B .XOR AX, AX C .OR AX, 00H D .AND AX, 00H
2 .设DS = 5788H , 偏移地址为94H , 该字节的物理地址是(B )
A .57974H B .57914H C .5883H D .58ECH
3 . 指令的操作数中, 允许出现表达式, 例如BUF1 与BUF2 均为变量名, 下面指令中语法正确的是( D)
A .MOV AX,BUF1 * BUF2
B .MOV AX,BUF1/ BUF2
C .MOV AX,BUF1 + ES:BUF2
D .MOV AX,BUF2 - BUF1
4 . MOV AL, 80H
MOV CL, 2
SAR AL,CL
上述指令序列执行后, 结果是( )
A .AL = 40H B .AL = 20H
C .AL = 0C0H D .AL = 0E0H
5 .在执行POP [BX]指令, 寻找目的操作数时, 段地址和偏移地址分别是( )
A .无段地址和偏移地址 B .在DS 和BX 中
C .在ES 和BX 中 D .在SS 和SP 中
6 .在下列段寄存器中, 代码寄存器是( )
A .ES B .CS C .DS D .SS
7 .执行下面的程序段后, (AX) = ( )
TAB DW 1 , 2 , 3 , 4 , 5 , 6
ENTRY EQU 3
MOV BX, OFFSET TAB
ADD BX, ENTRY
MOV AX, [ BX]
A .0003H B .0300H
C .0400H D .0004H
8 .下面指令中影响状态位CF 的指令是( )
A .INC AX B .DEC AX
C .NOT AX D .NEG AX
9 .判当CX = 0 时, 转ZERO 执行的错误指令是( )
A .CMP CX, 0 B .MOV AX,CX
JZ ZERO JZ ZERO
C .OR CX, CX D .JCXZ ZERO
JZ ZERO
10 .执行1 号DOS 系统功能调用后, 从键盘输入的字符应存放在( )
A .AL 中 B .BL 中
C .CL 中 D .DL 中
11 .设物理地址(10FF0H) = 10H , (10FF1H) = 20H, (10FF2H) = 30H , 如从地址10FF1H 中取出一个字的内容是( )
A .1020H B .3020H C .2030H D .2010H
12 .完成同指令XCHG AX ,BX 相同功能的指令或指令序列是( )
A .MOV AX,BX B .MOV BX ,AX
C .PUSH AX D .MOV CX, AX
POP BX MOV AX,BX
MOV BX ,CX
13 .十六进制数88H, 可表示成下面几种形式, 请找出错误的表示()
A .无符号十进制数136 B .带符号十进制数- 120
C .压缩型BCD 码十进制数88 D .8 位二进制数- 8 的补码表示
14 .指令指针寄存器是( )
A .IP B .SP C .BP D .PSW
15 .DA – BYTE EQU THIS BYTE
DA –WORD DW ′AB′,′CD′,′EF′,′GH′
. . . . . . . .
MOV AL , DA–BYTE + 3
MOV AH, BYTE PTR DA–WORD + 4
上述二条传送指令执行后AX 中的内容是( )
A .′DE′ B .′HC′ C .′CF′ D .′FC′
16 .已定义FEES DW 100 DUP(0) , 则指令MOV CX , SIZE FEES 的等效指令是( )
A .MOV CX, 100 B .MOV CX, 200
C .MOV CX, 400 D .MOV CX, 100 DUP( 0)
17 .使状态标志位CF 清零的错误指令是()
A .OR AX, AX B .SUB AX, AX
C .MOV CF, 0 D .CLC
18 .设SP = 1110H , 执行PUSH AX 指令后, SP 的内容为( )
A .SP = 1112H B .SP = 110EH
C .SP = 1111H D .SP = 110FH
19 .当执行指令ADD AX, BX 后, 若AX 的内容为2BA0H , 设置的奇偶标志位PF = 1 ,叙述正确的是( )
A .表示结果中含1 的个数为偶数 B .表示结果中含1 的个数为奇数
C .表示该数为偶数 D .表示结果中低八位含1 的个数为偶数
20 .完成将累加器AL 清零, 并使进位标志CF 清零, 下面错误的指令是( )
A .MOV AL, 00H B .AND AL , 00H
C .XOR AL ,AL D .SUB AL, AL
21 .完成对字单元BUF 的内容加1 运算, 下面错误的指令是( )
A .MOV BX,BUF B .MOV BX , OFFSET BUF
INC BX INC WORD PTR[BX]
MOV BUF ,BX
C .MOV BX,BUF D .MOV BX , 0
INC WORD PTR[BX] INC WORD PTR BUF [BX]
22 .完成对寄存器BX 的内容求补运算, 下面错误的指令是( )
A .NEG BX B .NOT BX
INC BX INC BX
C .XOR BX , 0FFFFH D .MOV AX, 0
INC BX SUB AX,BX
23 .MOV AL , 79
ADD AL, 0B1H
指令执行后, 设置的标志位CF 和OF 的值是( )
A .CF = 0 OF = 1 B .CF = 1 OF = 1 C .CF = 0 OF = 0 D .CF = 1 OF = 0
24 .XOR AH , AH
MOV AL , 90H
CWD
执行上述指令后, 结果是( )
A .DX:AX = 0000: FF90H B .DX:AX = FFFF: 0090H
C .DX:AX = 0000 :0090H D .DX:AX = FFFF: FF90H
25 . DABY1 DB 12H, 34H , 56H , 78H
DB $ - DABY1
DABY2 DB 10H DUP (1 , 2 , 3 )
…
MOV DX, SIZE DABY1
ADD DX, WORD PTR DABY1 + 4
上述指令序列执行后, DX 的内容是( )
A .05H B .1005H C .0105H D .0202H
26 . 执行下列指令序列后, 正确的结果是( )
MOV AL , 81H
ADD AL, AL
ADC AL, AL
A .AL = 05H B .AL = 204H C .AL = 04H D .AL = 205H
27 .下列指令执行后总是使CF = 0 ,OF = 0 的是()
A .AND B .NEG C .NOT D .INC
28 .可用作寄存器间接寻址或基址、变址寻址的地址寄存器, 正确的是( )
A .AX,BX ,CX, DX B .DS, ES,CS, SS
C .SP ,BP, I P,BX D .SI , DI ,BP ,BX
29 .汇编源程序出现语法错误的指令有(D)
A .MOV [BX + SI ] , AL B .MOV AX, [BP + DI]
C .MOV DS, AX D .MOV CS , AX
30 .下列串操作指令中, 必须同时指明源串和目的串地址的指令是( )
A .STOSW B .LODSW
C .SCASW D .CMPSW
31 .设BL 中有一无符号数, 实现把BL 中的数乘以2 , 应选用的指令是( )
A .SHR BL , 1 B .SHL BL, 1
C .SAR BL, 1 D .RCL BL, 1
32 .执行PUSH AX 指令的正确步骤是()
A .1 .SP←SP - 1 , ( SP )←AH B .1 .(SP) ←AH , SP←SP - 1
2 .SP←SP - 1 , ( SP )←AL 2 .( SP) ←AL, SP←SP - 1
C .1 .SP←SP + 1 , ( SP )←AH D .1 .(SP) ←AH , SP←SP + 1
2 .SP←SP + 1 , ( SP )←AL 2 .( SP) ←AL, SP←SP + 1
33 .CF = 1 时转移到目标地址的条件转移指令是(B )
A .JNC B .JC C .JZ D .JS
34 .在执行NEG 指令时, 对标志位CF 有影响, 其影响的规则是( )
A .对正数求补时,CF = 0 B .对负数求补时,CF = 0
C .对非零数求补时, CF = 1 D .对零求补时,CF = 1
35 .用一条指令仅实现将BX + SI = > AX 的方法是()
A .XCHG AX, [BX] [ SI ] B .MOV AX, [ BX + SI ]
C .LEA AX,BX[SI] D .LEA AX, [ BX] [ SI ]
36 .选用串操作指令时, 错误的操作是( )
A .置方向标志位
B .根据串操作指令设置重复次数并送入CX
C .设置源操作数及目的操作数指针
D .源操作数和目的操作数都可以加段超越
37 .用户为了解决自己的问题, 用汇编语言所编写的程序, 称为()
A .目标程序 B .源程序
C .可执行程序 D .汇编程序
38 .某系列微机对存储器的分段, 如果每一个段最多的字存储单元( 16 位二进制) 是32K , 那么表示段内字节单元偏移地址的二进制位数应是( )
A .20 位 B .16 位 C .15 位 D .12 位
39 .下面指令中, 合理而有意义的指令是()
A .REP LODSB B .REP SCASB
C .REP CMPSB D .REP MOVSB
40 .在汇编语言程序中, 对END 语句的叙述正确的是( )
A .END 语句是一可执行语句 B .END 语句表示程序执行到此结束
C .END 语句表示源程序到此结束 D .END 语句在汇编后要产生机器码
41 . 下面所列通用数据传送指令的几种传送中, 错误的传送方式是()
A .从累加器到存储器 B .立即数到存储器
C .从寄存器到存储器 D .从存储器到存储器
42 .设SP 初值为2000H , 执行指令“PUSH AX”后, SP 的值是( )
A .1FFFH B .1998H C .2002H D .1FFFH
43 .连接两个汇编语言目标程序时, 若其数据段的段名相同, 组合类型为PUBLIC, 定位类型为PARA, 连接后第一个目标程序数据段的起始物理地址是00000H, 长度为1376H, 试问第二个目标程序数据段的起始物理地址是: ( )
A .01377H B .01378H
C .01380H D .01400H
44 .条件转移指令JB 产生程序转移的条件是( )
A .CF = 1 B .CF = 0
C .CF = 1 和ZF = 1 D .CF = 1 和ZF = 0
45 .在下列段寄存器中, 代码寄存器是( )
A .ES B .CS C .DS D .SS
46 . 要求将A, B 两个字符的ASCII 码, 41H, 42H 顺序存放在一个字存储单元中, 可选用的语句是()
A .DA1 DB ′AB′ B .DA1 DW ′AB′
C .DA1 DB 0ABH D .DA1 DW 0ABH
47 .设AL = 20H, SI = 0500H , DS = 3000H , (30500H) = 0C0H, CF = 1。执行SBB AL, [ SI] 后, 正确的结果是( )
A .AL = 5FH SF = 1 CF = 1 B .AL = 60H SF = 1 CF = 0
C .AL = 5 FH SF = 0 CF = 1 D .AL = 60H SF = 0 CF = 0
48 .设AX = 1000H
NEG AX
NOT AX
执行上述指令后, 正确的结果是( )
A .AX = 1001H B .AX = 0FFFH C .AX = 1000H D .AX = 0111H
49 .设AL = 0B4H,BL = 11H, 指令“MUL BL”和指令“IMUL BL”分别执行后OF ,CF 的值为( )
A .OF = 1 , CF = 0 B .OF = 1 ,CF = 1
C .OF = 0 ,CF = 0 D .OF = 0 ,CF = 1
50 .下面的数据传送指令中, 错误的操作是( )
A .MOV SS: [ BX + DI] , 1000H B .MOV DX, 1000H
C .MOV WORD PTR[BX] , 1000H D .MOV DS , 2000H
51 .下面指令执行后, 变量DAB 中的内容是( )
DAW DW 2A05H
DAB DB 0FAH
:
MOV AL,BYTE PRT DAW
SUB DAB,AL
A .0DAH B .0FAH C .0F5H D .0D0H
52 .下面程序段其功能是对32 位数求补, 32 位数已在DX:AX 中, 正确的程序段是( )
A .NGE AX B .NEG AX C .NOT DX D .NOT AX
NEG DX NOT DX NOT AX NEG DX
ADD AX, 1
ADC DX, 0
53 .在串操作指令前使用重复前缀指令REPE , 终止串的重复操作条件是( )
A .CX = 0 且ZF = 0 B .CX = 0 且ZF = 1
C .CX = 0 或ZF = 0 D .CX = 0 或ZF = 1
54 .执行下列指令后, 正确的结果是( )
MOV AL, 100
MOV BL, - 2
A .AL = 100H B .AL = 64H
BL = 02H BL = 0FEH
C .AL = 64H D .AL = 100H
BL = 82H BL = 0FEH
55 .数据定义如下:
BUF1 DB 10
BUF2 DW 20 DUP( ?)
实现将BUF1 单元的内容与BUF2 开始的第三个字节单元内容相比较的指令是( )
A .CMP BUF1 ,BYTE PTR BUF2 + 3 B .MOV AL ,BUF1
CMP AL ,BYTE PTR BUF2 + 2
C .MOV AL, BUF1 D .MOV AL ,BUF1
CMP AL , BUF2 + 2 CMP AL ,BUF2 + 3
56 .判当AX 的内容为负数时, 转MINUS 执行, 下面错误的指令是( )
A .NOT AX B .TEST AX, 8000H
JNS MINUS JNZ MINUS
C .SHL AX , 1 D .OR AX , AX
JC MINUS JS MINUS
57 .下面指令序列执行后, 正确的结果是( )
MOV AL, 0FCH
ADD AL ,AL
ADC AL , AL
A .AL = 0F8H B .AL = 0F8H
CF = 1 CF = 0
C .AL = 0 F9H D .AL = 0F9H
CF = 0 CF = 1
58 .当一个程序使用DOS 系统功能调用退出用户程序时, 在编写INT 21H 指令前, 应选的指令是()
A .MOV AH , 01H B .MOV AX, 4CH
C .MOV AH , 4CH D .RET
59 .当一个无符号数大于120时程序转移, 需使用条件转移指令()
A .JBE( 或JNA) B .JNBE( 或JA)
C .JNB(或JAE) D .JB(或JNAE)
60 .现有一数据定义语句:DA1 DB 35H, 37H
能与上述语句等效的语句或语句序列有( )
A .MOV DA1 , 37H B .MOV WORD PTR DA1 , 3537H
MOV DA1 + 1 , 35H
C .MOV WORD PTR DA1 ,′57′ D .MOV DA1 ,′5′
MOV DA1 + 1 ,′7′
61 .NUM EQU 80H
DA DB 34H
. . . . . .
AND DA, NUM
上述语句执行后DA 中的内容是( )
A .B4H B .80H C .34H D .0
62 .下面语句中有语法错误的语句是( )
A .DB 45H B .DW OABCDH
C .DW ′ABCD′ D .DD ′AB′
63 . MOV CL, 8
ROL AX, CL
OR AX ,BX
假设AX = 0012H ,BX = 0034H , 那么上述程序段执行后, AX 中的结果是( )
A .123H B .3412H
C .0046H D .0034H
64 .ORG 0030H
DA1 DB 0 ,′0′, 30H
DW DA1
数据为3000H 字存储单元的偏移地址是( )
A .0030H B .0031H C .0032H D .0033H
65 .实现将DX:AX 中存放的32 位数扩大四倍, 正确的程序段是( )
A .SHL AX, 2 B RCL AX, 2
ROL DX, 2 SHL DX, 2
C .MOV CX, 2 D SHL AX, 1
LOP : SHL AX, 1 SHL AX, 1
RCL DX, 1 RCL DX, 1
LOOP LOP RCL DX, 1
66 .设数据段中已有:
DA1 DB 12H, 34H
DA2 DW 56H , 78H
下面有语法错误的语句是( )
A .ADR1 DW DA1
B .MOV DA1 + 1 , AX
C .MOV BYTE PTR DA2 + 1 , AL
D .MOV WORD PTR DA1 + 1 , AX
67 .假定(DS) = 4000H , (DI) = 0100H , ( 40100H) = 55H, ( 40101H) = AAH , 试问执行指令LEA BX, [DI] 后, (BX) = ( )
A .0100H B .55AAH
C .AA55H D .4100H
68 . 设AL = 04H ,BL = 0F8H, 执行IMUL BL 指令后, 结果是( )
A .AX = 0032H B .AX = 00E0H
C .AX = 03E0H D .AX = 0FFE0H
69 .已知( IP ) = 1000H , ( SP ) = 2000H, (BX) = 283FH ,CALL WORD PTR[BX] 指令的机器代码是
FF17H, 试问执行该指令后, ( 1FFEH) = ( )
A .28H B .3FH C .00 D .02H
70 .如AX = 1000H
NEG AX
NEG AX
上述两条指令执行后, AX 的值为( )
A .1001H B .1002H C .1000H D .0F000H
71 .为了使执行串操作指令时, 地址按减量方式处理, 应使用的指令是( )
A .STD B .STI C .CLD D .CLI
72 .测试BL 寄存器内容是否与数据4FH 相等, 若相等则转NEXT 处执行, 可实现的方法是( )
A .TEST BL , 4FH B .XOR BL, 4FH
JZ NEXT JZ NEXT
C .AND BL, 4FH D .OR BL, 4FH
JZ NEXT JZ NEXT
73 .用来存放下一条将要执行的指令地址的寄存器是( )
A .SP B .IP C .BP D .CS
74 .要使串处理从低地址向高地址进行, 应把标志位置为( )
A .IF = 1 B .TF = 0 C .DF = 1 D .DF = 0
75 .若定义DAT DW‘A’, 则(DAT) 和(DAT + 1 )两个相邻的内存中存放的数据是( )
A .0041H B .4100H C .××H D .41××H
[ 注]选项C .和D .中的××表示任意数据。
76 .假设VAR 为变量, 指令MOV BX, OFFSET VAR 的寻址方式是( )
A .直接寻址 B .间接寻址
C .立即寻址 D .存储器寻址
77 .下列指令中, 不影响标志位的指令是( )
A .SUB BX, BX B .ROR AL , 1
C .JNC Label D .INT n
78 .已知:VAR DW 1 , 2 , $ + 2 , 5 , 6 若汇编时VAR 分配的偏移地址是0100H, 则汇编后0104H 单元的内容是: ( )
A .6H B .14H C .5H D .16H
79 .下列80X86 指令中, 不合法的指令是( )
A .IN AX, 0378H B .MOV BL, AL
C .MOVSB D .SHL AX, 1
80 .设数据定义如下:
ARRAY DW 1 , 2 , 3
执行指令ADD SI , TYPE ARRAY 相当于完成下面同等功能的指令是( )
A .ADD SI , 1 B .ADD SI , 2
C .ADD SI , 3 D .ADD SI , 0
二、填空题
1 .在1M 字节的存储器中, 每个存储单元都有一个唯一的 位地址, 称为该物理单元的物理地址。
2 .8086/ 8088 CPU 允许的最大存储空间为 , 其地址编号从 到 。
3 .MOVS ES: BYTE PTR[DI] ,DS: [ SI] 完全等价于 。
4 .指令中所用到的操作数可存放于 , 或 中。
5 .若SP = 0FFFFH, 则指令POP AX 执行后,SP = 。
6 .与LOOP NEXT 指令功能等效的两条指令依次是 和 。
7 .已知:AX = 4F08H, CF = 0 , CL = 4 , 则RCR AX,CL 指令执行完后AX = H。
8 .最常用的循环程序控制方法是 和条件控制法。
9 .同一地址即可以看作是 的地址, 也可以看作是 的地址。
10 .一个字存入存储器要占有相继的两个字节, 低位字节存入 , 高位字节存入 。
11 .DT 伪指令中定义的每个操作占有 字节。
12 .对于指令CMP AX, BX; 当AX, BX 为带符号数时, 若AX > BX, 则执行后标志位 , 。
13 .对于数值回送操作符TYPE、LENGTH、SIZE 之间有如下关系:
( SIZE 变量) = * ( TYPE 变量)
14 .串处理指令规定源寄存器使用SI , 源串在 段中; 目的寄存器使用DI , 目的串必须在 段中。
15 .循环程序可由, , , 三部分组成。
16 .SUB AL, AH
DAS
若指令执行前, AL = 86 , AH = 07;则指令执行后, AL = ,CF = , AF = 。
17 .指令分操作码字段和 两部分。码字段指示计算机要执行的操作, 而 则指出在指令操作的过程中所需要的操作数。
18 .标号和变量(名字) 均有三种属性, 它们是 、和 、 属性。
19 .主程序和子程序的参数传递方法有, , , 三种。
20 .对于MOV 指令, 不可以将一个存储单元的内容 另外一个存储单元。
21 .执行ADD AX,BX 指令后产生溢出则转移到ERROR 处执行。那么在ADD 指令后, 如AX,BX 中是带符号数时, 应选用的条件转移指令是 , 如是无符号数时, 应选用的条件转移指令是 。
三、程序分析题
1 .以BUF 为首址的字节单元中, 存放了COUNT 个无符号数, 下面程序段是找出其中最大数并送
入MAX 单元中。
BUF DB5 , 6 , 7 , 58H , 62 , 45H , 127 , ..
COUNT EQU $ - BUF
MAX DB ?
┇
MON BX, OFFSET BUF
MOV CX ,COUNT - 1
MOV AL , [BX]
LOP1: INC BX
JAE NEXT
MOV AL , [BX]
NEXT: DEC CX
MOV MAX, AL
2 .现有下列数据段:
DATA SEGMENT
STR1 BD ′ABCDEFGHIJKL′
COUNT EQU STR1
BUF DB COUNT DUP( 0)
DATA ENDS
下面程序段是实现把STR1 中所有字符逆向传送到BUF 缓冲区(即STR1 中第一个字符送到BUF的最后一个单元, STR1 中最后一字符送到BUF 的第一个单元) 。试把程序中所空缺的指令填上。
MOV SI , OFFSET BUF - 1
MOV DI , OFFSET BUF
MOV CX ,COUNT
LOOP : MOVSB
LOOP LOP
3 .在一字符串中搜索, 当搜索到′M′, 停止搜索, 将此单元地址存储;当未搜索到′M′, 也结束工作。
STRING DB ′THIS IS A EXAMPLE′
ADDRBF DW ? .
MOV AX ,SEG STRING
MOV ES ,AX
; 预置参数
MOV AL ,′M′
CLD
; 搜索
JZ NEXT
HLT
NEXT:
展开阅读全文