第3章 8086寻址方式和指令系统-题

更新时间:2024-01-18 11:04:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第3章 8086寻址方式和指令系统

一、单项选择题(共50小题)

1、指令MOV AX,[3070H]中源操作数的寻址方式为( )

A、寄存器间接寻址 B、立即寻址 C、直接寻址 D、变址寻址 2、DS是( )

A、数据段寄存器 B、代码段寄存器 C、堆栈段寄存器 D、附加数据段寄存器 3、CF是( )

A、进位标志位 B、辅加进位标志位 C、符号标志位 D、全零标志位 4、SS是_( )

A、数据段寄存器 B、代码段寄存器 C、堆栈段寄存器 D、附加数据段寄存器 5、指令MOV [BX],AX中

A、目的操作数是寄存器操作数 B、源操作数是存储器操作数 C、目的操作数是存储器操作数 D、源操作数是立即操作数 6、CS是( )

A、数据段寄存器 B、代码段寄存器 C、堆栈段寄存器 D、附加数据段寄存器 7、指令MOV AX,[BP]中

A、源操作数存于数据段 B、源操作数存于堆栈段 C、目的操作数存于数据段 D、目的操作数存于堆栈段 8、BX是( )

A、8位通用寄存器 B、16位通用寄存器 C、16位段寄存器 D、16位变址寄存器 9、ZF是( )

A、进位标志 B、方向标志 C、符号标志 D、零标志 10、IP是( )

A、指令指针寄存器 B、堆栈指针寄存器 C、通用寄存器 D、变址寄存器 11、SI是( )

A、8位通用寄存器 B、16位通用寄存器 C、16位段寄存器 D、指令指针寄存器 12、DL是( )

A、16位段寄存器 B、16位通用寄存器 C、8位通用寄存器 D、16位标志寄存器

13、指令IDIV BX 的含义是( ) A、(AX)/(BX) B、(DX:AX)/(BX) C、(AL)/(BX) D、(AL)/(BL)

14、下面4个寄存器中,不能作为间接寻址的寄存器是( ) A、BX B、DX C、BP D、DI

15、设SS=2000H,执行下列程序段后SP=( ) MOV SP,2000H

MOV AX,1234H PUSH AX

A、21FFEH B、20000H C、22000H D、22002H 16、寄存器间接寻址方式中,操作数在( )中。

A、通用寄存器 B、堆栈 C、内存单元 D、段寄存器 17、JMP WORD PTR[DI]是( )

A、段内间接转移 B、段间间接转移 C、段内直接转移 D、段间直接转移 18、堆栈指针SP的作用是( ) 。

A、指示在堆栈段SS中的堆栈的栈底位置 B、交换内存数据 C、指示在堆栈段SS中的堆栈的栈顶位置 D、确定内存容量 19、移位指令使用( )计数

A、CX B、CH C、CL D、BH 20、LOOP指令使用( )计数

A、CH B、CX C、CL D、BL 21、指令SHL AL,1的含义是( )。 A、AL左移1位 B、AL右移1位 C、AL 左移2位 D、AL左移2位 22、TEST 与AND的区别是( )。

A、TEST 改变目标操作数 B、TEST 不改变目标操作数 C、都影响标志位 D、TEST不变标志位 23、IDIV是( )

A、无符号数除 B、带符号数除 C、字节乘 D、字乘 24、指令AND AL,0FH的操作结果为( ) A、AL高4位全为0 B、AL 高4位全为1 C、0FH送AL D、AL低4位全为0 25、指令OR AL,1的操作结果为( )

A、AL的位0为0 B、AL 的位0为1 C、AL 为0 D、AL 为1 26、指令MUL BX 实现的是( )

A、(AL)*(BL) B、(AX)*(BX) C、(AL)*(BX) D、(AX)*(BL) 27、下列8086指令中,不合法的指令是( ) A、IN AX,0378H B、MOV BL,AL C、MOV DS,AX D、SHL AX,CL

28、完成将BX清零,并使标志位CF清零的操作,下面错误的指令是( ) A、SUB BX,BX B、XOR BX,BX C、MOV BX,00H D、AND BX,00H 29、指令LOOPZ的循环执行条件是( )

A、CX不等于0且ZF=0 B、CX不等于0或ZF=0 C、CX不等于0且ZF=1 D、CX不等于0或ZF=1

30、完成将有符号数BX的内容除以2的正确指令是( )。

A、SHR BX,1 B、SAR BX,1 C、ROR BX.1 D、RCR BX,1 31、设SS=2000H,下列程序段执行后,AL中的数据在内存地址为( ) MOV SP,2000H

MOV AX,1234H PUSH AX

A、20000H B、22000H C、21FFEH D、21FFFH

32、设SS=2000H,下列程序段执行后,AH中的数据在内存地址为( ) MOV SP,2000H MOV AX,1234H PUSH AX

A、20000H B、22000H C、21FFEH D、21FFFH 33、设BL=05H,要使BL=0AH,应执行的指令是( )

A、NOT BL B、AND BL C、XOR BL,0FH D、OR BL,0FH 34、将BX-CX的结果送AX,以下错误的操作是( ) A、SUB BX,CX B、SUB AX,BX MOV AX,BX SUB AX,CX C、XCHG AX,BX D、MOV AX,BX SUB AX,CX SUB AX,CX

35、JMP FAR PTR ABCD(ABCD是符号地址)是( ) A、段内间接转移 B、段间间接转移 C、段内直接转移 D、段间直接转移

36、条件转移指令JNZ的测试条件是( )

A、ZF=1 B、CF=0 C、ZF=0 D、CF=1 37、逻辑移位指令SHL用于( )

A、带符号数乘2 B、带符号数除2 C、无符号数乘2 D、无符号数除2 E、A与C均可 38、在8086基址加变址的寻址方式中,基址寄存器可以为(1),变址寄存器可以为(2)。如已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(3)中。

(1)A、AX或CX B、BX或BP C、SI或BX D、DX或DI (2)A、BC或CX B、CX或SI C、DX或SI D、SI或DI

(3)A、数据段中偏移地址为3236H的字 B、数据段中偏移地址为3234H的字 C、附加段中偏移地址为3236H的字 D、附加段中偏移地址为3234H的字 39、下列指令中,有语法错误的是( ) A、MOV [SI],[DI] B、IN AL,DX

C、JMP WORD PTR[BX+8]

D、PUSH WORD PTR 20[BX+SI-2]

40、PUSH 操作数;其中操作数允许为( )。 A、立即操作数 B、字节内存操作数 C、字内存操作数 D、字节寄存器操作数 41、执行下列程序段,选择正确的结果。

MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI

POP DI SHL DX,1 TEST AX,DX PUSH DX

(1)SP=( );

A、2000H B、1FFFH C、2001H D、1FFEH (2)DH内容所在存储器的偏移地址为( );

A、1FFFH B、1FFEH C、1FFDH D、1FFCH (3)DL内容所在存储器的偏移地址为( );

A、1FFFH B、1FFEH C、2000H D、1FFCH (4)AX=( );

A、0H B、78H C、0F0H D、56H (5)DI=( )。

A、1234H B、5678H C、2000H D、00F0H (6)DX=( );

A、5678H B、0ACF0H C、2B3CH D、0ABF0H (7)标志位ZF=( )。

A、0 B、1 C、不定 D、无值 42、交换寄存器SI与DI的内容,以下正确的程序段是( );

A、PUSH SI B、PUSH SI C、MOV DI,SI D、MOV AX,SI PUSH DI PUSH DI MOV SI,DI MOV BX,DI POP SI POP DI XCHG BX,AX POP DI POP SI 二、填空题(共73空)

1、MOV [BP],AL指令中,内存操作数为______寻址方式,对______段的数据进行操作。 2、条件转移指令JNZ的测试条件是 。 3、设有DS=2000H,BX=0100H,SI=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。 (1) MOV AX,[1200H] AX=______ (2) MOV AX,[BX] AX=______ (3) MOV AX,1100[BX] AX=______ (4) MOV AX,[BX][SI] AX=______ (5) MOV AX,1100[BX][SI] AX=______

4、已知AX=0202H、CX=0003H,执行指令SAR AX,CL后,寄存器AX=______ 5、BX、BP被称为___(1)___寄存器,用他们寻址称为__(2)____方式。

6、当采用寄存器间接寻址时,使用通用寄存器BX、DI、SI时,可以默认不写的段寄存器是______

7、采用寄存器间接寻址,当使用通用寄存器BP时,可以默认不写的段寄存器是______。 8、指令MOV AX,[BX][SI]中,目标操作数在__(1)____中,源操作数在___(2)___ 中,此时源操作数隐含使用的段寄存器为__(3)____。

9、对于乘法、除法指令,其目的操作数一定在__(1)____或___(2)___中。 10、逻辑右移指令SHR可用来实现对______除2操作。

11、设当前的SI=1000H,DS=5000H,内存字单元(51000H)=1234H,则执行指令MOV BX,[SI]后,BX=__(1)___,执行LEA BX,[SI]后,BX=__(2)___。

12、读取标志位指令LAHF和设置标志位指令SAHF均只对标志寄存器Flags中的_____标志操作。

13、条件转移指令是一种短转移,其转移范围在___ 内

14、段内和段间的转移指令寻址方式有__(1)____和___(2)___两种。 15、用CMP指令对无符号数比较(A-B),当A

16、四条逻辑运算指令AND、OR、XOR、NOT中,_(1)__指令结标志位均无影响,而其他3条指令除对标志位SF、ZF、PF有影响外,还使__(2)__和__(3)__ 标志位总是置“0”,AF不确定。

17、如果要对一个字节或一个字的内容求反,可用_(1)__指令;如果要对寄存器或存储单元内容中指定位求反则需用_ (2)__指令。 18、根据要求写出相应的指令。

(1)将附加段200H偏移地址中的数据送到BX中。_ (1)__ (2)将DH中的高4位求反,低4位保持不变。__(2)__

(3)将CL中的符号位(D7位)置1,其他位保持不变。__(3)__ 19、DEC BYTE PTR[DI]指令中,操作数的数据类型是___ 。

20、已知AL中存放一数据,要检测其第2位是否为0,应执行指令为________。 21、MOV SP,3210H

PUSH AX

执行上述指令序列后,SP寄存器的值是________。

22、执行下列程序段后,AX及IP的值分别为__(1)____和__(2)____。

MOV AX,0FFFFH MOV BX,-1 IMUL BX JMP DX

23、在SUB AX,BX 指令执行后,CF=1说明最高有效位____________。

24、假设SS=1500H,SP=1000H,如果在堆栈中存入5个数据,则栈顶的物理地址为__(1)___,如果又从堆栈中取出2个数据,则栈顶的物理地址为___(2)_____。

25、执行“DIV BX” 指令,隐含的被除数在__(1)__中,相除后的商结果在__(2)_中。 26、若AX=3500H,CX=56B8H,当执行TEST AX,CX指令后,AX=_________。 27、8086CPU在基址加变址的寻址方式中,基址寄存器可以为 (1) 和 (2) 。 28、循环指令LOOPZ终止循环的条件是__________。 28、指令JMP FAR PTR NEXT属于__________转移。

29、8086指令系统中,三种类型的操作数是 (1) 、 (2) 和 (3) 。 30、将AX寄存器清0的的逻辑指令是____(1)____或___(2)_____。

31、指令CBW只能对实现对寄存器_____(1)_____的内容进行扩展,存放的数据应该是一个____(2)______数。 32、将AL中的高4位清“0”,可使用指令__________。 33、将AL中的高4位置“1”,可使用指令__________。 34、将AL中的高4位取反,可使用指令__________。

35、汇编语言一条指令的基本结构一般由____(1)___和____(2)___两个部分组成。 36、双操作数指令中有两个操作数,其中之一是__(1)__,另一个是__(2)__,而运算结

果一般总是存放到__(3)__中。

37、CPU执行“JMP BX”指令只改变___(1)___,而不改变___(2)___内容。 38、8086指令系统中,所有指令的目的操作数均不能为_________寻址方式。

39、8086指令系统分为六大类型指令,CPU仅在执行___(1)______指令、_____(2)____指令和__(3)__指令时才会对状态标志位有影响。

40、与LOOP Again指令功能等效的两条指令依次是___(1)______和_____(2)___。 三、判断题(共32个,请判断以下每小题正误,括弧中打“√”或“×”,对于错误的请说明原因)

1、立即寻址方式只能用于源操作数。( ) 2、立即数不允许被用作目的操作数。( )

3、对于所有的存储器寻址方式,都可以采用段超越前缀。( ) 4、指令指针寄存器IP是不能通过指令访问的。( )

5、代码段寄存器CS的内容可以被压入栈区,也可以将堆栈中的数据弹出至CS中。( )

6、数据段寄存器DS只能读出信息,不能写入信息。( ) 7、CS和IP中的内容是不能通过指令随意改变的,也就是CS和IP都不能用作目的操作数。( )

8、INC和DEC指令不影响CF状态。( ) 9、AND、OR、XOR指令执行后,会使CF状态为0。( ) 10、NOT指令的操作数不能是立即数。( )

11、在条件转移指令中,只能用8位的位移量,即范围在-128~+127间。( )

12、CALL指令与JMP指令的区别在于:前者转移时需要保存返回地址,而后者不需要。( )

13、中断指令与CALL指令不同之处在于中断指令不要将标志寄存器Flags压入堆栈。( )

14、DOS所有的功能子程序调用都是利用INT 21H中断指令。( ) 15、指令“MOV AX,[BP]”的源操作数的物理地址为SS*16+BP。( ) 16、段内转移要改变IP、CS的值。( ) 17、条件转移指令只能使用于段内直接短转移。( ) 18、立即寻址方式不能用于目的操作数字段。( ) 19、不能给段寄存器直接传送立即数。( ) 20、MOV指令执行时会影响标志位。( )

21、DIV指令在执行字节除法时,运算后的商值存放在AH中,余数存放在AL中。( )

22、堆栈存取操作是以字节为单位的。当堆栈存入数据时,SP减1;当从堆栈中取出数据时,SP加1。( )

23、判断以下指令的正误,对于错误的请说明原因并改正。 (1)POP CS( ) (2)PUSH Flags( ) (3)MOV BP,AL( ) (4)LEA BX,2000H( ) (5)AND [BX][BP],AX( ) (6)SAR AX,4( ) (7)POP AL( )

(8)CMP [SI],[DI] ( ) (9)MUL 25( ) (10)INC IP( )

(11)XCHG BL,100( ) (12)IN AL,300H( ) (13)TEST AL,100H( )

(14)ADD AL,[BX+DX+10] ( ) 四、简答题(20个)

1、简述一条指令中一般包含哪些信息? 2、简述计算机中操作数可能存放的位置。

3、解释以下名词:操作码、操作数、立即数、寄存器操作数、存储器操作数 4、什么是寻址方式?

5、两个逻辑地址分别为2345H:0000H和000H:3450H,他们所对应的物理地址是多少?说明了什么?

6、在转移类指令中,对转移的目标的址的寻址方式有几种?段内转移的范围是多大?段间转移的范围是多大?条件转移的范围是多大? 7、若一个堆栈段的起始地址为3520H:0000H,栈区长度为0100H,当前SP的内容为0020H,试问:(1)栈顶和栈底的物理地址分别是什么?(2)栈区中已有字节数为多少?(3)存入数据1234H和5678H后,SP内容为多少? 8、试编写三段程序,分别用不同的寻址方式实现将AX的内容送入数据段偏移地址为2000H单元中去。

9、设SS=2000H,SP=2000H,AX=2234H,BX=5673H,Flags=7103H,试说明执行指令:

PUSH AX

PHSH BX

PUSHF

POP CX

之后,SP=?SS=?CX=?并画图指出堆栈中各单元的内容 10、CALL指令与JMP指令的相同之处与不同之处分别是什么? 11、已知各寄存器和内存单元的状态(如下图所示),请阅读下列程序段,并将中间结果填入相应指令右边的空格。

MOV DX,[BX+2] ;DX=( )

PUSH CS ;SP= ( )[SP]=( )(注:字) TEST AX,BX ;AX= ( )CF=( ) ADC AL,[DI] ;AL= ( )

XCHG AX,DX ;AX= ( )DX=( ) XOR AH,BL ;AH=( ) SAR AH,1 ;AH=( )

12、采用最少的指令,实现下述要求的功能 (1)将AH的高4位清0

(2)将AH中的非压缩型BCD码转化成ASCII码 13、采用最少的指令,实现下述要求的功能 (1)将AL的高4位取反

(2)将AL的高4位移到低4位,高4位清0 14、写出满足下列要求的指令:

(1)将有效地址为1000H的内存单元内容送到BX寄存器中

(2)将偏移地址为1000H的内存单元的有效地址送到BX寄存器中 15、设有:DS=2000H,BX=0100H,SI=0002H,(21200H)=4C2AH,(21202H)=8765H。试求:执行以下各条指令以后,AX寄存器的内容? (1)MOV AX,1200H (2)MOV AX,[1200H] (3)MOV AX,1100[BX] (4)MOV AX,1100[BX][SI]

16、试写出能完成下列各操作功能的指令

(1)将累加器AX清零,同时将进位标志位CF清零 (2)提取AX的低4位

(3)将BX的高8位置1,其他位不变

17、试写出能完成“将溢出位OF变反”的程序段 18、根据下列各要求,写出程序段 (1)判断AL,若为负则转至NEXT

(2)判断字节变量DAT1,若为0则转至NEXT 19、根据下列各要求,写出程序段

(1)判断AL的D1位,若为1则转至NEXT

(2)判断字变量DAT1的D1位,若为0则转至NEXT 20、根据下列各要求,写出程序段

(1)比较AH与字节变量DAT1中的数据,若AH不等于DAT1,则转至NEXT (2)比较字节变量DAT1与字符“A”,若DAT1≥“A”,则转至NEXT

本文来源:https://www.bwwdw.com/article/p95o.html

Top