当前位置:文档之家› 汇编语言测试题

汇编语言测试题

汇编语言自测题1一•选择题I.指令ADD CX 55H[BP]的源操作数的寻址方式是(D )。

(A)寄存器寻址(B)直接寻址(C)寄存器间接寻址(D)寄存器相对寻址2 .设(SS)=3300H(SP)=1140H在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( A )。

(A)113AH (B) 114AH (C) 1144H (D) 1140H3.若SI=0053H, BP=0054H,执行SUB S] BP后,贝U ( C )(A) CF=Q OF=0 (B) CF=0 OF=1 (C) CF=1 OF=0 (D) CF=1 OF=1[解析]只有两个正数相加变成负数或两个负数相加变成正数才会产生溢出(运算结果超出了所能表达的范围,只针对有符号数),两个数想减不会产生溢出,故题中OF=0b4.已知(BP)=0100H, (DS)=7000H, (SS)=8000H, (80100H)=24H, (80101H)=5AH,(70100H)=01H , (70101H)=02H,指令MOV BX, [BP]执行后,(BX)=( D )。

(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5.实模式下80486CPU对指令的寻址由(A )决定。

(A) CS IP (B) DS IP (C) SS IP (D) ES IP6 .使用80486汇编语言的伪操作指令定义:VAL DB 2 DUP(1 2 , 3 DUP(3) , 2 DUP(1 , 0))则在VAL存储区内前十个字节单元的数据是(D )。

(A) 1, 2 , 3 , 3 , 2 , 1, 0 , 1, 2 , 3 (B) 1 , 2 , 3 , 3 , 3 , 3 , 2 , 1, 0 , 1 (C) 2, 1, 2 , 3 , 3 , 2 , 1 , 0 (D) 1, 2 , 3 , 3 , 3 , 1, 0 , 1 , 0 , 17.下列四条指令都可用来使累加器清"0",但其中不能清"进位"位的是(C ) o(A) XOR AL AL (B) AND AL 0 (C) MOV AL, 0 (D) SUB AL AL&若(AX)=96H , (BX)=65H,依次执行ADD AX, BX指令和DAA 指令后,(AL)=( C。

(A) 0FBH (B) 01H (C) 61H (D) 0BH9 .下列能使CF标志置1的指令是(C ) o(A) CMC (B) CLC (C) STC (D) CLD10. MOV AX , [BP+SI隐含使用的段寄存器是(D )o(A) CS (B) DS (C) ES (D) SSII.设AL=7FH,要使AL=80H ,应使用下列哪一条指令(D )。

(A) AND AL, 80H (B) OR AL 80H (C) XOR AL 80H (D) NOT AL12.在执行十进制调整指令D AA , DAS之前必须将结果存放于(C )中。

(A) AX (B) AH (C) AL (D) BL(A) MOV (B) PUSH (C) ADD (D) XCHG14 .唯一能对应存储单元的地址是(A )。

(A)物理地址(B)端口地址(C)有效地址(D)逻辑地址15.计算机能直接执行的语言是(A )。

(A)机器语言(B)汇编语言(C)高级语言(D)程序设计语言16.需采用先进后出原则操作的存储区是(D )。

(A)寄存器组(B)地址缓冲器(C)数据寄存器(D)堆栈区17.寄存器SP用于对(B )的操作。

(A)空闲单元(B)堆栈单元(C)数据单元(D)指令单元18.若(BX)=1000H, (DS)=2000H, (21000H)=12H , (21001H)=34H,执行LEA SI, [BX]指令后, SI寄存器的内容是(C )o(A) 1234H (B) 3412H (C) 1000H (D)0010H19.若(AL)=80H,执行NEG AL指令后,CF和OF标志位的状态分别为(AC )。

(A) 0 和0 (B) 0 和1 (C) 1 和0 (D) 1 和120.若要完成(AX) *7/2运算,则在下列四条指令之后添加(C脂令。

MOV BX, AXMOV CL, 3SAL AX CLSUB AX BX()(A) ROR AX 1 (B)SAL AX 1 (C)SAR AX 1 (D)DIV AX, 221 .在保护模式下,代码段的段基址存在于(D )中。

(A)段选择符(B)指令指针寄存器(C)段寄存器(D)段描述符22.查表指令XLAT规定,待查表的首址应存入(D )中。

(A) BP (B) SI (C) DI (D) BX23.将要取的某一条指令的偏移地址由(D )提供。

(A) SI (B) BP (C) SP (D) IP24.寄存器间接寻址方式中,操作数在(C )中。

(A)通用寄存器(B)堆栈(C)主存单元(D)段寄存器25.运算型指令的寻址和转移型指令的寻址,其不同点在于(A )o(A)前者取操作数,后者决定程序的转移地址(B)后者取操作数,前者决定程序的转移地址(C)两者都是取操作数(D)两者都是决定程序的转移地址26.JMP WORD PTR [。

是(A )。

(A)段内间接转移(B)段间间接转移(C)段内直接转移(D)段间直接转移27.INC指令不影响(B )标志。

(A) OF (B) CF (C) SF (D) ZF28.逻辑移位指令SHL用于(C )。

(A)带符号数乘2 (B)带符号数除2 (C)无符号数乘2 (D)无符号数除229•算术移位指令SAR用于(B )。

(A)带符号数乘2 (B)带符号数除2 (C)无符号数乘2 (D)无符号数除230.下列指令中,有语法错误的是(D )。

(A) MOV [SI], AX (B) IN AL DX(C) XOR AX 1234H (D) OUT 210H, AL31.在下列伪指令中定义字变量的是(B )。

(A) DD (B) DW (C) DQ (D) DT32 .下列指令中,能使AL的内容固定为偶数的是(C )(A) ADD AL, 01 H (B) OR AL 0FEH (C) AND AL 0FEH (D) XOR AL 0FEH33.改变(C寄存器的值,可改变堆栈中栈顶元素的位置。

(A) BP (B) IP (C) SP (D) BX34 .加减类运算指令对标志位的状态(A )o(A)有影响(B)部分影响(C)无影响(D)任意35.当AH=( C时,执行INT 21H指令可在屏幕上显示一组字符。

(A) 01H (B) 02H (C) 09H (D) 0AH36.已知VAR DW 1, 2, $+2, 5, 6若汇编时VAR分配的偏移地址是2010H ,则汇编后2014H 单元的内容是(D )o(A) 6H (B) 14H (C) 5H (D) 16H37.若某数据段位于存储区68000H〜7FFFFH则该数据段的段基址是(D )。

(A) 68000H (B) 7FFFFH (C) 6000H (D) 6800H38.SP的作用是用来指示(A )o(A)栈顶元素的有效地址(B)下一条要执行指令的地址(C)下一条要取的指令的地址(D)栈底元素的有效地址(A)通用寄存器(B)段寄存器(C)存储器(D)通用寄存器和存储器40.转移类指令对标志位的状态( C )。

(A)有影响(B)部分影响(C)无影响(D)随意41.欲从存储单元取某操作数,可采用( D )。

(A)寄存器寻址、寄存器间接寻址(B)立即寻址、直接寻址(C)立即寻址、寄存器间接寻址(D)寄存器间接寻址、直接寻址42.在指令MOV AX, 0执行后,CPU状态标志位ZF的取值(D )。

(A)为0 ( B)为1 ( C)不确定 (D)不改变43.已知AL=10010111H, BL=00010101H,执行ADD AL, BL指令后, 的状态为(B)。

(A) 1、0、1、1 (B)1、1、0、0 (C)0、0、1、1 (D) 0、1、0、144.下列指令中,错误的是(C )。

(A) MOV BX, OFFSET BUF (B) LEA SI BUF(C) LEA DI OFFSET BUF (D) MOV BP, SEG BUF45 .输入/输出指令对标志位的状态(C )。

(A)有影响 (B)部分影响(C)无影响 (D)任意46.下列描述正确的是(B )。

(A)汇编语言仅由指令性语句组成(B)汇编语言包括指令性语句和伪指令语句(C)指令性语句和伪指令语句的格式是完全相同的(D)指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行解析:我们写的指令,由“编译软件”翻译成机器码的,称为指令语句;有一些是写给“编译软件”看的,不翻译成机器码,这样的就是“伪指令” 可以翻译成机器代码,而伪指令不能翻译成机器代码。

47.下列指令中不属于逻辑运算指令的是( B )。

(A) XOR ( B) CWD (C) NOT (D) OR48.假定DX=10111001B, CL=3, CF=1,则执行指令SHL DX CL后,(A) 005CH ( B) 0017H ( C) 1700H (D) 05C8H49.下列指令中不会改变指令指针寄存器内容的是( A )o(A) MOV ( B) JMP (C) CALL ( D) RET50.伪指令ENDP告诉汇编程序(B )oOF、SF、CF、ZF标志o即指令性语句DX的值为(D)o(A)宏定义结束(B)过程定义结束9号(AH=9)功能,显示一个字符串, (B ) DS: DX=字符串末地址(D ) CS: DX=字符串末地址 52.在下列伪指令中定义双字变量的是( C )o(A) DB (B) DW (C) DD (D) DT二、 判断题I.指令MOV AX, [BX]的源操作数是寄存器寻址方式。

(X )2 .对堆栈区的操作必须遵循先进先出的原则。

(X )3 .比较两个带符号数的大小,可根据 CF 标志来判断。

(X )4.逻辑操作符 AND , OR , XOR 和NOT ,只能用于数字表达式。

(V )5 •不能给段寄存器赋立即数。

(V ) 6. OF 位可用来表示有符号数的溢出。

(V )7 .无条件转移指令只能用于段内直接转移。

(X )6MOV AX , [BP]的源操作数的物理地址为16*(DS )+(BP )° (X )9. 指令 MOV DI , OFFSET [BX][S 是正确的。

(X )解析:改为lea di,[bx][si]就正确了。

相关主题