指令系统的习题 联系客服

发布时间 : 星期二 文章指令系统的习题更新完毕开始阅读

第2章 指令系统及汇编语言程序设计

一.选择题

1.指令ADD CX,55H[BP]的源操作数的寻址方式是( )。

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

3.若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。

(A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=1

4.已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=( ) 。 (A) 0102H (B) 0201H (C) 245AH (D) 5A24H

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

(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,1

7.下列四条指令都可用来使累加器清\,但其中不能清\进位\位的是( ) 。 (A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL

8.若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。 (A) 0FBH (B) 01H (C) 61H (D) 0BH

9.下列能使CF标志置1的指令是( ) 。 (A) CMC (B) CLC (C) STC (D) CLD

10.MOV AX,[BP+SI]隐含使用的段寄存器是( )。 (A) CS (B) DS (C) ES (D) SS

11.设AL=7FH,要使AL=80H,应使用下列哪一条指令( )。 (A) AND AL,80H (B) OR AL,80H (C) XOR AL,80H (D) NOT AL

12.在执行十进制调整指令 DAA,DAS之前必须将结果存放于( )中。 (A) AX (B) AH (C) AL (D) BL

13.下列指令执行后影响标志位的是( ) 。 (A) MOV (B) PUSH (C) ADD (D) XCHG 14.唯一能对应存储单元的地址是( )。

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

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

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

(A) 空闲单元 (B) 堆栈单元 (C) 数据单元 (D) 指令单元

18.若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行LEA SI,[BX]指令后,SI寄存器的内容是( )。

(A) 1234H (B) 3412H (C) 1000H (D)0010H

19.若(AL)=80H,执行 NEG AL指令后,CF和OF标志位的状态分别为( )。 (A) 0和0 (B) 0和1 (C) 1和0 (D) 1和1

20.若要完成(AX)*7/2运算,则在下列四条指令之后添加( )指令。 MOV BX,AX ;MOV CL,3 ;SAL AX,CL ;SUB AX,BX( ) 。

(A) ROR AX,1 (B)SAL AX,1 (C)SAR AX,1 (D)DIV AX,2 21.在保护模式下,代码段的段基址存在于( )中。

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

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

24.寄存器间接寻址方式中,操作数在( )中。

(A) 通用寄存器 (B) 堆栈 (C) 主存单元 (D) 段寄存器

25.运算型指令的寻址和转移型指令的寻址,其不同点在于( )。 (A) 前者取操作数,后者决定程序的转移地址 (B) 后者取操作数,前者决定程序的转移地址

(C) 两者都是取操作数 (D) 两者都是决定程序的转移地址 26.JMP WORD PTR [DI]是( )。

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

28.逻辑移位指令SHL用于( )。

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

(A) 带符号数乘2 (B) 带符号数除2 (C) 无符号数乘2 (D) 无符号数除2 30.下列指令中,有语法错误的是( )。 (A) MOV [SI],AX (B) IN AL,DX

(C) XOR AX,1234H (D) OUT 210H,AL 31.在下列伪指令中定义字变量的是( )。 (A) DD (B) DW (C) DQ (D) DT

32.下列指令中,能使AL的内容固定为偶数的是( )。

(A) ADD AL,01 H (B) OR AL,0FEH (C) AND AL,0FEH (D) XOR AL,0FEH 33.改变( )寄存器的值,可改变堆栈中栈顶元素的位置。 (A) BP (B) IP (C) SP (D) BX

34.加减类运算指令对标志位的状态( )。

(A) 有影响 (B) 部分影响 (C) 无影响 (D) 任意

35.当AH=( )时,执行INT 21H指令可在屏幕上显示一组字符。 (A) 01H (B) 02H (C) 09H (D) 0AH

36.已知VAR DW 1,2,$+2,5,6 若汇编时VAR分配的偏移地址是2010和,则汇编后2014H单元的内容是( )。

(A) 6H (B) 14H (C) 5H (D) 16H

37.若某数据段位于存储区68000H~7FFFFH,则该数据段的段基址是( )。 (A) 68000H (B) 7FFFFH (C) 6000H (D) 6800H

38.SP的作用是用来指示( )。

(A) 栈顶元素的有效地址 (B) 下一条要执行指令的地址 (C) 下一条要取的指令的地址 (D) 栈底元素的有效地址

39.在数据传送指令执行过程中,不能直接与立即数进行传送的是()。 (A)通用寄存器 (B)段寄存器 (C)存储器 (D)通用寄存器和存储器 40.转移类指令对标志位的状态( )。 (A)有影响 (B)部分影响 (C)无影响 (D)随意 41.欲从存储单元取某操作数,可采用( )。

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

43.已知AL=10010111H,BL=00010101H,执行ADD AL,BL指令后,OF、SF、CF、ZF标志的状态为( )。

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

(A) MOV BX,OFFSET BUF (B) LEA SI,BUF

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

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

(A) 汇编语言仅由指令性语句组成

(B) 汇编语言包括指令性语句和伪指令语句

(C) 指令性语句和伪指令语句的格式是完全相同的

(D) 指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行 47.下列指令中不属于逻辑运算指令的是( )。 (A)XOR (B)CWD (C)NOT (D)OR

48.假定DX=10111001B,CL=3,CF=1,则执行指令SHL DX,CL后,DX的值为( )。 (A)005CH (B)0017H (C)1700H (D)05C8H 49.下列指令中不会改变指令指针寄存器内容的是( )。 (A)MOV (B)JMP (C)CALL (D)RET 50.伪指令ENDP告诉汇编程序( )。 (A)宏定义结束 (B)过程定义结束 (C)段定义结束 (D)过程运行结束

51.利用DOS系统功能调用的9号(AH=9)功能,显示一个字符串,其入口参数应为( )。 (A)DS:DX=字符串首地址 (B)DS:DX=字符串末地址 (C)CS:DX=字符串首地址 (D)CS:DX=字符串末地址 52.在下列伪指令中定义双字变量的是( )。 (A) DB (B) DW (C) DD (D) DT 三、填空题

1.若SS=5310H,SP=0E30H,其物理地址为( )。

2.若CH=07H,CL=08H,执行指令ADD CH,CL后,AF=( ),CF=( ),OF=( ),PF=( )。 3.指令由( ) 和( ) 两个字段构成。

4. 条件转移指令JNE的测试条件是( )。

5.若用指针(BP)访问存储器,则数据包含在( ) 段中。

6. 若AX=1234H,SP=1000H,指令PUSH AX执行后AX=( ),SP=( ) 。 7.指令采用( )寻址方式时操作数是在代码段中。 四、阅读程序

3. 写出下列程序段的功能 MOV BX,2000H MOV DS,BX XOR AL,AL MOV CX,100

AGAIN: MOV [BX],AL INC BX

LOOP AGAIN

4.写出下列程序段的功能 LEA SI,BUFFER LEA DI,ARRAY MOV CX,100 XOR BL,BL

LP: CMP [SI],01H JNZ LP1 INC BL

LP1:INC SI LOOP LP

MOV [DI],BL

5.写出下列程序段的功能 MOV CX,16 MOV AX,N MOV BH,0

LP0: SHL AX,1 JC LP INC BH

LP: LOOP LP0 MOV SUM,BH

6.写出下列程序段的功能 MOV AL,N AND N,0FH MOV BL,N SHR AL,4 MOV BH,AL

9.执行下面的程序段后AX=? MOV CX,5 MOV AX,50

NEXT: SUB AX,CX LOOP NEXT HLT

14. 分析下列程序段 MOV AL,N XOR AH,AH MOV CL,4 DIV CL

当N=3CH时,程序执行完后AX= 16.执行下列指令后

TABLE DB 19H,55H,9CH LEA BX,TABLE MOV AL,[BX] XOR AL,89H MOV [BX],AL 寄存器AL的值是 六、编写程序

1.在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。

3.已知有100字节的数据块存放在以5C10H: 2000H开始的存储区内,要求编写一个完整程序将数据移动到以5C10H:2008H开始的存储区内。 7.编写程序找出BUF数据区中50个带符号数的最大值和最小值,并分别存入MAX和MIN单元。

9.以STRING起始的字符串的最大长度为80个字符,字符串的结束用字符$表示。编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格字符串中的位置(00H~4FH)存入POST单元;若无空格则将-1存入POST。

10.BUFFER字节数组中存有一组无序列字节数数据,列的长度表示在BUFFER的第一个字节中KEY中为一个字节数据,编写程序在BUFFER中查找有无KEY,若有就结束,若没有就将KEY加入到BUFFER中去,并修改列的长度。

11.利用移位及数据循环指令完成将DH AL中的16位二进制乘以8的运算,结果仍存入DH AL中。

12.分别从键盘上接收两长度相等的组数A和B,试完成两数组的求和任务,将结果存放在数组C中,并显示在屏幕上。

13.编写程序,将键盘输入的小写字母用大写字母显示出来。

14.要求从键盘接收一个十进制数字,然后找出它的前导数字和后继数字,并按相反的顺序显示输出。

15.设在变量X、Y、Z中存放有三个数,若三个数都不为0,则求出三个数之和存入U中,若有一个为0,则将其它两个单元也清零,编写此程序。

16.求出首地址为DATA的M个字节的无符号数组中最小奇数,并把它存放于DL中