1、 汇编考题 精品文档 一、判断题 1、十六进制数0FFF8H表示的十进制正数为+65528. T 2、10010110与01011011异或的结果为11001101. T 3、计算机的内存存储器分为随机存储器(RAM)和只读存储器(ROM)两部分。 T 4、地址用无符号整数来表示。 T 5、执行INC指令除对SF,ZF有影响外,还要影响的标志位是OF,AF,PF。 F(没OF,加一个PF) 6、存储器的有效地址不是唯一的。 F 7、立即寻址方式不能用于目的操作数字段。
2、 T(只能用于源操作数字段) 8、MOV指令要影响标志位。 F(数据传送指令,不影响任何状态标志位) 9、LOPE/LOOPZ是相等/为零时转移到标号,其退出条件是(CX)=0或ZF=0。 T 10、执行所有转移指令时,都需要同时修改IP和CS的。 F(P85) 11、指令XCHG BX,ES可以将寄存器BX和ES的内容互换。 F 12、RET N指令中,N可以为任意值。 F 13、DW伪指令用来定义双字 F(P128) 14、一循环程序完成查找一组数据中是否有非零数据,控制循环应选取的循环控制指令是LOOPZ,这时循环程序
3、的循环终止条件是CX=0(或ZF=0) T(P96) 15、I/O指令是主机与外设进行通信的最基本途径 T 二、 选择题 1、 十进制数-100的8位二进制数的补码为(D) A、10011100 B、10011101 C、1100000 D、1100100 2、 运算器的主要功能是(C 算术运算和逻辑运算) 3、 下面是关于汇编语言程序中使用RET的描述,不正确的是(C) A、 每一个子程序中允许有多条RET指令。 B、 每一个子程序结束之前一定要有一条RET指令。 C、 每一个子程序中只允许有一条RET指令。 D、 以过程形式表示的代码段
4、一定有RET指令存在。 4、设AL=0AH,下列指令执行后能使AL=05H的是( C) A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH 5、 设(AX)=1000H,(BX)=2000H,则在执行指令“SUB AX,BX”后,标志位CF和ZF的值分别为(C:1,0) 解析:Sub:减法(sub ax,dx;ax=ax-dx),有借位时进位标志cf=1,无借位时cf=0,可表示无符号数的溢出;运算结果为0是零标志zf=1,否则=0。 6、 在下列指令中,(D)指令的执行会影响条件码中的
5、CF位。 A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 [解析]JMP、JC指令不任何影响状态标志位; INC指令执行结果除不影响CF外,其余状态标志位(AF、OF、PF、SF、ZF)都受影响。 算术左移SHL指令使CF=O,OF=O,影响ZF、SF、PF标志位,AF无定义。 7、 当程序顺序执行时,每取一条指令语句,IP指针增加的值是(D) A.1 B.2 C.3 D.由指令长度决定的 8、在执行下列指令时,需要使用段寄存器DS的指令是(D) A.STO
6、SW B.ADD AL,CL C.NEG BX D.INC DA[BX] 9、使用DOS 功能调用时,子程序的编号应放在寄存器中(A) A. AH B. AL C. AX D. 任意指定 10、段间间接寻址只改变( C )中的内容。 A.CS B.IP C.CS和IP D.PSW 11、8086CPU中计算物理地址时,若给定的段寄存器中的数是2898H,有效地址是8000H,则它的物理地址是(A) 。 A. 30980H B.A898H C. 30890H D. 828
7、98H 12、 一个段可以放在内存的任何地方,但起始地址应该从一个能被(A)整除的单元地址开始。 A.16 B.32 C.64 D.128 13、 如果一个字变量中存放16个字,该字变量的起始地址为1000H:2000H,则该字变量数据区中的最末一个字单元的物理地址为( C )。 A.1201FH B.12000H C.1201EH D.12020H 14、 执行 IN AL , DX指令后,进入AL寄存器的数据来自 (D) 。 A、寄存器 B、存储器 C、立即数 D、外设端口 15、 下面选项中,是CPU段寄存器的是(
8、C) A.AH B.SP C.AX D.ES 16、下列指令能将BX的内容存入堆栈的指令是(B) A.MOV[SP],BX B.PUSH BX C.POP BX D.MOV SS;[SP],BX 17、.如果当前(SP)=0058H,执行POP AX指令后,(SP)=( B ) (A)0060H (B)0056H (C)0059H (D)005AH 18、 已知(SS)=1000H,(SP)=0100H,弹出两个字后,SP的内容及栈顶的物理地址为(A) A.0104A,10104H B.00FCH
9、100FCH C.0102H,10102H D.00FEH,100FEH 19、汇编源程序时,出现语法错误的语句是( C ) A.MOV [BX+SI],BX B.MOV CL,[BP+DI] C.ADD AX ,ES D.MOV DS,AX 20、设CF=1,实现AL内容乘2的指令是( C ) A.RCL AL,1 B.SAR AL,1 C.SHL AL,1 D.ROR AL,1 21、下列
10、叙述正确的是( A )。 A.机器指令是可执行指令 B.汇编语言源程序可直接执行 C.汇编语言目标程序可直接执行 D.高级语言程序可直接执行 22、汇编语言中的变量有多种类型属性,但错误的类型是( B )。 A. 字节型byte B. 字符型char C.字型word D.双字型dword 23、汇编语言源程序,可以是 ( D ) A. 可以直接由机器执行 B. 必须由编译程序生成目标程序才能执行 C. 必须由解释程序生成目标程序才能执行 D. 必须由汇编程序汇编成目标程序才能执行
11、 24、 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。 A、CMP B、SUB C、AND D、MOV 25、 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来(B) A. 占内存空间小,但速度慢; B.占内存空间大,但速度快; C.占内存空间相同,速度快; D.占内存空间相同,速度慢。 三、 单选 1、已知(BX)=4567H求 NEG BX INC BX NEG BX DEC BX 执行后(BX)=(A) A.4565H B.4566H C.4567H
12、D.456FH 解释:NEG的功能是将目的操作数按位取反后加1,然后送回原操作数单元中 取反可以这么写FFFF - BX + 1 => 10000H - BX BX = 4567H NEG BX ; BX = 10000H - 4567H = BA99H INC BX ; BX = BA99H + 1 = BA9AH NEG BX ; BX = 10000H - BA9AH = 4566H DEC BX ; BX = 4566H - 1 = 4565H 所以(BX) = 4565H ,(CF) = 1 2、 MOV AL,01 H ROR AL,l OR AL
13、AL NEG AL 上述程序段执行后,AL=__B____ A.8FH B.80H C.08H D.0FH 解释:MOV AL,01H之后AL=01H ROR AL,l 循环右移之后AL=80H OR AL,AL 或之后AL=80H NEG AL就是把AL所有位取反然后加一之后AL=80H CF=0 3、 MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX 执行上述程序片段后,(AX)= (C) .[(CF)= 1, OF= 0] A.443FH
14、 B.4430H C.4431H D.4432H 4、 AND AL,AL JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3 上述程序运行后,试回答: A (1) 当(AL)= ()时,程序转向BRCH1 (2)当(AL)= () 时,程序转向BRCH2 【(3)当(AL)= 3 时,程序转向BRCH3】 A.0;1 B.1;0 C.0;0 D.1;1 5、 DA3 EQU WORD PTR DA4 DA4 DB 0ABH,89H ┇ SHR DA3,1 MOV DX,DA3 SHL DA4,1 MOV CX,DA3 上述程序段运行后,CX=(),DX=(). A A.44AAH;44D5H B.44FFH;44DFH C.44AAH;44DFH D.44FFH;44D5H 收集于网络,如有侵权请联系管理员删除






