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

发布时间 : 星期一 文章第3章 8086寻址方式和指令系统-题更新完毕开始阅读

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