文档库 最新最全的文档下载
当前位置:文档库 › 指令与寻址方式习题

指令与寻址方式习题

指令与寻址方式习题
指令与寻址方式习题

指令与寻址方式习题解答

1.试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:(1)AND AX,0FFH

(2)AND BL,[OFFH]

(3)MOV DS,AX

(4)CMP [SI],CX

(5)MOV DS:[0FFH],CL

(6)SUB [BP][SI],AH

(7)ADC AX,0ABH[BX]

(8)OR DX,-35[BX][DI]

(9)PUSH DS

(10)CMC

答:目的操作数源操作数

(1)寄存器直接寻址立即数寻址

(2)寄存器直接寻址直接寻址

(3)寄存器直接寻址寄存器直接寻址

(4)寄存器间接寻址寄存器直接寻址

(5)直接寻址寄存器直接寻址

(6)基址变址寻址寄存器直接寻址

(7)寄存器直接寻址寄存器相对寻址

(8)寄存器直接寻址基址变址相对寻址

(9)无寄存器直接寻址

(10)隐含寻址

2.试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。

(1)MOV [BX][BP],AX

(2)TEST [BP],BL

(3)ADD SI,ABH

(4)AND DH,DL

(5)CMP CL,1234H

(6)SHR [BX][DI],3

(7)NOT CX,AX

(8)LEA DS,35[SI]

(9)INC CX,1

(10)P USH 45[DI]

答:(1)应将BP,BX其中之一该为SI或DI

(2)正确

(3)ABH改为0ABH

(4)

(5)是字操作,CL改为CX

(6)移位数大于1时,应用CL

(7)NOT指令只有一个操作数

(8)LEA指令的源操作数应为一内存单元地址

(9)此指令不用指出1

(10)45改为45H

3.下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态?

MOV DL,86

ADD DL,0AAH

答: 0101,0110 + 1010,1010 = 1,0000,0000

CF=1 AF=1 ZF=1 SF=1 OF=1

4.在8086/8088CPU中可用于作地址指针的寄存器有哪些?

答:有BX,CX,DX,BP,SI,DI (IP,SP,)

5.已知(DS)=09lDH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。下列各指令或程序段分别执行后的结果如何?

(1)MOV CL,20H[BX][SI]

(2)MOV [BP][DI],CX

(3)LEA BX,20H[BX][SI]

MOV AX,2[BX]

(4)LDS SI,[BX][DI]

MOV [SI],BX

(5)XCHG CX,32H[BX]

XCHG 20H[BX][SI],AX

答(1) (CX)=56F6H;

(2) (09226H)=5678H;

(3) (AX)=1E40H;

(4) (1E4F6H)=0024H;

(5) (09226H)=1234H,(AX)=5678H.

6.已知(SS)=09l 5H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H。现有一指令“MOV AX,OPRD”,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个已知条件至少要使用一次)。

答:(1)MOV AX,[BP]

(2)MOV AX,[BP+DI+80H]

(3)MOV AX,[DI+0100H]

MOV AX,[SI+0220H]

(4)MOV AX,[02C0H]

7.试按下列要求分别编制程序段:

(1)把标志寄存器中符号位SF置‘1’。

(2)寄存器AL中高低四位互换。

(3)由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。

(4)现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,实现(A)+(B)=>C。

(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1形成奇数)。

答:(1)MOV AH, 80H

SAHF

(2 ) MOV BL, 0FH

AND BL, AL

SAL 4

SHR 4

XOR AL, BL

(3 ) MOV DX, 7FH

SUB AX, DX

MOV DX, 0FFH

SUB DX, BX

MOV BX, DX

(4 ) MOV AH, FFH

MOV BL, [B]

SUB AH, BL

MOV BH, [A]

SUB BH, AH

MOV [C], BH

(5 ) MOV AX, CX

NOT AX

TEST 01H

JNZ NEXT

HLT

NEXT: INC CX

HLT

8.试给出下列各指令的机器目标代码:

(1)MOV BL,12H[SI]

(2)MOV 12H[SI],BL

(3)SAL DX,1

(4)ADD 0ABH[BP][DI],1234H

答: (1) 10001010,11011111=8ADF;

(2) 10001000,01011100=885C;

(3) 11010001,11100010=D1E2;

(4) 10000001,10000001=8181.

9.执行下列指令后:

STR1 DW ‘AB’

STR2 DB 16DUP(?)

CNT EQU $-STR1

MOV CX,CNT

MOV AX,STR1

HLT

寄存器CL的值是多少?寄存器AX的值是多少?

答:寄存器CL的值为12H,寄存器AX的值为4241H。

10.JMP FAR PTR ABCD(ABCD是符号地址)的转移方式是什么?

答:JMP FAT PTR ABCD 的转移方式是段间直接转移.

11.MOV AX,ES:[BX][SI]的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI表示

出即可)?

答:MOV AX,ES:[BX] [SI]的源操作数的物理地址是[ES]×10H+[BX]+[SI].

12.运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?

答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址和基址加变址寻址方式。这些寻址方式中,CS,IP寄存器的内容不会发生变化。转移型指令的寻址方式包括段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP寄存器的内容发生改变。

13.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV AX,TABLE”和”LEA AX,TABLE”后,(AX)中的内容分别为多少?

答:执行MOV AX , TABLE后(AX)=1234H

执行LEA AX, TABLE 后(AX)=0032.

14.当指令”SUB AX,BX”执行后,CF=1,说明最高有效位发生了什么现象?对无符号

数来说,操作结果发生了什么现象?

答:执行指令SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢出。

15.在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为

30H、6CH、0B8H,则转向地址LAB的值分别为多少?

答:转向地址LAB的值分别为:

1000×10H+2H+30H=10032H

1000×10H+2H+6CH=1006EH

1000×10H+2H+B8H=100BAH

16.下面两个语句的区别在什么地方:

X1 EQU 1000H

X2=1000H

答:“EQU”和“=”都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。

17.调用指令CALL可进行哪四种调用?

答:调用指令CALL可进行段内直接调用,段内间接调用。段间直接调用。段间间接调用。

18.(AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写出标志位ZF、PF、CF、

SF的内容:( P8050)

(1)ADD AL,BL

(2)SUB AL,BL

(3)AND AL,BL

(4)OR AL,BL

(5)XOR AL,BL

答:(1)ADD AL,BL

1 0 0 1 1 0 1 0

+)1 0 1 1 1 1 0 0

1,0 1 0 1 0 1 1 0 ∴ZF=0,PF=1 CF=1 SF=0

(2)SUB AL,BL

1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0

—)1 0 1 1 1 1 0 0 —〉 +)0 1 0 0 0 1 0 0

1 1 0 1 1 1 1 0

∴ ZF=0 PF=1 CF=1 SF=1

(3)AND AL,BL

1 0 0 1 1 0 1 0

AND)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0

1 0 0 1 1 0 0 0

(4)OR AL,BL

1 0 0 1 1 0 1 0

OR)1 0 1 1 1 1 0 0

∴ ZF=0 PF=1 CF=0 SF=0

1 0 1 1 1 1 1 0

(5)XOR AL,BL

1 0 0 1 1 0 1 0

XOR)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0

0 0 1 0 0 1 1 0

19.若(SP)=2800H,试用两种方法实现(SP)=27FEH.

答:方法一:执行一次PUSH指令 PUSH CX

方法二:执行一次PUSHF指令

20.试简述LES REG,SRC所完成的操作?

答:LES REG,SRC 是将SRC和SRC+1中的偏移量送到REG 寄存器,而将SRC+2和SRC+3中的段基址送ES段寄存器。

21.关系操作符EQ、NE、LT、GT、LE、GE计算的结果为逻辑值,试问0FFFFH代表

假,0代表真是否正确?

答:0FFFFH代表真。0表示结果为假。

22.堆栈存取操作是以字节为单位的.试分析当堆栈存入数据和从堆栈取出数据时SP

的变化?

答:当堆栈存入一个字时,(SP)<—SP—2

从堆栈中取出一个字时(SP)<—SP+2

23.试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER1搬

移到内存的BUFFER2中去。

解答 LEA SI,BUFFER1

LEA DI,BUFFER2

MOV CX,1000

CLD

REP MOVSb

24.试编写汇编程序段完成以下功能:将数据段中100个字的数据块BLOCK1搬移到

同一个数据段的BLOCK2中去。

解答: LEA SI,BLOCK1

LEA DI,BLOCK2

MOV CX,100

CLD

REP MOVSW

25.试编写汇编程序段完成以下功能:比较DEST和SOURCE中的500个字节,找出第一个不相同的字节,如果找到,则将SOURCE中的这个数送AL中。

解答: CLD

LEA DI,DEST

LEA SI,SOURCE

MOV CX,500

REPE CMPB

JCXZ NEXT

DEC SI

MOV AL,BYTE PTR[SI]

NEXT:HLT

26.试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。

解答:MOV BX,OFFSET BLOCK

MOV AX,[BX]

MOV CX,100

ADD BX,2

F0:CMP AX,[BX]

JGE F1

MOV AX,BX

F1:ADD BX,2

JCXZ NEXT

JMP F0

MOV MAX,AX

NEXT:HLT

27.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是多少?

解答:

07H

21H

<—原栈顶20100

存放数据21H的物理地址是200FFH

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答 计算机科学与工程学院黄洪波2012年3月 一、单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。 A.13000H B.23000H C.33000H D.3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是()。 A.原码B.反码C.补码D.移码 5.用来作为寄存器间接寻址的寄存器有()个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是()。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是()。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生()。 A.无溢出且无进位B.无溢出但有进位

汇编语言设计复习题(第2章:8086的寻址方式和指令系统)

1、下列指令属于基址加变址寻址方式的是( MOV DX,DS:[BP][SI] )。 DX 2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。 DX A.1 B.2 C.3 D.由指令长度决定的 3、下列属于合法的指令是( D ) DX A.MOV DS,ES B.MOV [SI],[DI] C.MOV AX,BL D.MOV [DI], BL 4、若AX=349DH,CX=000FH。则执行指令AND AX,CX后,AX的值是( 000DH )。 DX 5、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是 ( 85B92H ) DX 6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ) DX A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS, DS,ES,SS 7、对寄存器AX的内容乘以4的正确指令序列是( SHL AX,1 SHL,AX, 1 )。 DX 8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( OF,AF,PF )。 DX 9、设DH=10H,执行NEG DH指令后,正确的结果是( DH=0F0H CF=1 )。 DX 10、下列传送指令中有语法错误的是( A )。 DX A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX 11、下面指令执行后,改变AL寄存器内容的指令是( D )。 DX A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL 12、执行除法指令后,影响的标志位是( AF,CF,OF,PF,SF,ZF都不确定 )。 DX 13、执行下面指令序列后,结果是( AX=0FF82H )。 DX MOV AL,82H CBW 14、与MOV BX,OFFSET VAR指令完全等效的指令是( D )。 DX A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VAR D、LEA BX,VAR 15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是 ( PARA )。 DX 16、MOV SP,3210H PUSH AX 执行上述指令序列后,SP寄存器的值是( 320EH )。 DX 17、BUF DW 10H DUP(3 DUP(2,10H),3,5) 上述语句汇编后,为变量BUF分配的存储单元字节数是( 100H )。 DX 18、MOV AH,7896H ADD AL,AH 上述指令执行后,标志位CF和OF的值是( CF=1,OF=0 )。 DX 19、完成将带符号数AX的内容除以2的正确指令是( SHR AX,1 )。 DX 20、在汇编语言程序中,对END语句的叙述正确的是( C )。 DX A.END语句是一可执行语句 B.END语句表示程序执行到此结束

作业习题 寻址方式和指令

寻址方式和指令习题 一、选择题 1、MOVX A,@DPTR指令中源操作数的寻址方式是() (A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址 2、ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H 当CPU响应外部中断0后,PC的值是() (A)0003H (B)2000H (C)000BH (D)3000H 3、执行PUSH ACC指令,MCS-51完成的操作是() (A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP (C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP 4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=() (A)2000H (B)2001H (C)2002H (D)2003H 5、51执行完MOV A,#08H后,PSW的哪一位被置位() (A)C (B)F0 (C)OV (D)P 6、下面条指令将MCS-51的工作寄存器置成3区() (A)MOV PSW,#13H (B)MOV PSW,#18H (C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4 7、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是()(A)/PSEN (B)ALE (C)/RD (D)/WR 8、MOV C,#00H的寻址方式是() (A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址 9、ORG 0000H AJMP 0040H ORG 0040H MOV SP,#00H 当执行完上面的程序后,PC的值是()

8086汇编语言指令的寻址方式有哪几类

1. 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 寄存器寻址最快 7. 下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。 XCHG CS , AX ;不能修改CS MOV [BX] , [1000] ;不能在两个内存单元之间直接进行数据传送 XCHG BX , IP ;不能用名字直接访问IP PUSH CS POP CS ;不允许直接修改CS值 IN BX , DX ;输入数据必须使用累加器AL或AX MOV BYTE [BX] , 1000 ;格式错误,且超范围,应为MOV word PTR [BX],1000 MOV CS , [1000];不允许直接修改CS值 20.带参数的返回指令用在什么场合?设栈顶地址为3000H,当执行RET 0006后,SP的值为多少? 利用堆栈传递参数时使用;对于近调用SP=3008H,对于远调用SP=300AH 27.设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶地址为多少?当执行 PUSH BX指令后,栈顶地址和栈顶2个字节的内容分别是什么? 栈顶地址:SS:SP,物理地址为:2FF00H;PUSH 完以后栈顶地址为:SS:SP=2010:FDFEH,即物理地址为:2FEFEH,内容为:57H 34H(由低地址到高地址) B P7 5. 设(DS)=3000H,(BX)=1100H,(CS)=0062H,(S1)=0002H,(31100H)=52H, (31101H)=8FH,(31162H)=6BH,(31163H)=99H,(31103H)=F6H, (32200H)=AAH,(32201H)=B6H,(32800H)=55H,(32801H)=77H,给出下列各指令执行后AX寄存器的内容: (1) MOV AX,BX (2) MOV AX,[BX] (3) MOV AX,4200H (4) MOV AX,[2800H] (5) MOV AX,1100H[BX] (6) MOV AX,[1160H+SI] 9. 分别执行下列各指令组,写出AX的内容: (1) MOV AX,93A4H NEG AX 73A4-8c5c,e689-1977 (AX)=6C5CH (2) XY DW "AB" MOV AX,XY (AX)=4142H (3) MOV AX,2B7EH MOV CX,4DB5H ADD AX,CX (AX)=7933H (4) XA DW 0BD57H MOV AX,0FBCDH AND AX,XA (AX)=B945H (5) STC MOV BX, 0B69FH MOV AX, 43A2H SBB AX, BX

实验一 指令与寻址方式认知实验(Keil)

实验一指令与寻址方式认知实验 一、实验目的 1.了解单片机基本指令及其寻址方式; 2.掌握在μVision环境中查看指令操作结果的技巧。 二、实验仪器和设备 Keil软件;THKSCM-2综合实验装置; 三、实验原理及实验内容 1.示例及相关设置 (1)建立一个文件夹:lx31。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx31.asm文件名存盘到lx31文件夹中。 ORG 0000H MAIN:MOV R7,#16 MOV A,#00H MOV R0,#30H LP:MOV @R0,A INC R0 INC A DJNZ R7,LP SJMP $ END (3)在lx31文件夹下建立新工程,以文件名lx31存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。

○4在Debug标签选择Use Simulator(软件模拟)。 (5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。利用单步、执行到光标处两种方法运行程序,观察程序运行的结果。 (6)分析程序的功能,研究观察以下指令的寻址方式及其操作效果。 2.示例及相关设置 (1)建立一个文件夹:lx32。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx32.asm文件名存盘到lx32文件夹中。 ORG 0000H MOV R0,#20H MOV R1,#22H MOV A,@R0 ADD A,@R1 MOV 24H,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV 25H,A SJMP $ END (3)在lx32文件夹下建立新工程,以文件名lx32存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。 ○4在Debug标签选择Use Simulator(软件模拟)。

第六章_寻址方式和指令系统

1

第 6章 寻址方式和汇编指令 第6章
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
▲ 汇编指令是可执行指令,每条指令对应一条机器 码,用以控制处理器中的执行部件进行各种操 作。 ▲ TMS320F281X系列的汇编指令有150多条。 ▲ 它们支持各种信号处理运算,同时也提供了应用 中所需要的多级处理和过程控制功能。 ▲ 寻址方式是指寻找指令中操作数地址的方式。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
TMS320C28x指令集采用7种存储器寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
F2812 的大多数指令利用操作码中的8位字段来选择寻 址方式和对寻址方式进行修改.在 F2812 指令系统中,这个8 位字段用于以下寻址方式: (1)loc16 。 为16位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
(2)loc32 。 为32位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
以上7种寻址方式都与“loc16/loc32”组合起来使用。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
寻址方式选择位
由 于 F2812 提 供 了 多 种 寻 址 方 式 , 因 此 用 寻 址 方 式 选 择 位 ( AMODE )来选择8位字段( loc16/loc32 )的解码。该 位属于状态寄存器ST1。寻址方式可以大致归类如下: ▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译
器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
对与loc16或者loc32字段,其可用的寻址方式总结如P375所示

计算机组成原理,指令系统,练习题

单项选择题 1 在CPU执行指令的过程中,指令的地址由___B__给出。 A 程序计数器PC B 指令的地址码字段 C 操作系统 D 程序员 2 下列关于指令的功能及分类叙述正确的是__B___。 A 算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据 B 移位操作指令,通常用于把指定的两个操作数左移或右移一位 C 转移指令,子程序调用与返回指令,用于解决数据调用次序的需要 D 特权指令,通常仅用于系统软件,这类指令一般不提供给用户 3 零地址的运算类指令在指令格式中不给出操作数的地址,参加的两个操作数来自__C__。A累加器和寄存器 B 累加器和暂存器 C 堆栈的栈顶和次栈顶单元 D 堆栈的栈顶单元和暂存器 4 下列一地址运算类指令的叙述中,正确的是_____。 A 仅有一个操作数,其地址由指令的地址码提供 B 可能有一个操作数,也可能有两个操作数 C 一定有两个操作数,其中一个操作数是隐含的 D 指令的地址码字段存放的一定是操作码 5 关于二地址指令一下论述正确的是_____。 A 二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中 B二地址指令中,指令的地址码字段存放的一定是操作数 C二地址指令中,指令的地址码字段存放的一定是寄存器号 D二地址指令中,指令的地址码字段存放的一定是操作数地址 6 单字长四地址指令OP A1、A2、A3、A4的功能为(A1)OP(A2)→A3,且A4给出下一条指令地址,假设A1、A2、A3、A4都为主存储器地址,则完成上述指令需访存_____。 A 1 B 2 C 3 D 4 7 在指令格式设计中,采用扩展操作码的目的是_____。 A 增加指令长度 B 增加地址码数量NN C 增加指令数量 D 增加寻址空间 8 某机器的指令字长为16位,有8个通用寄存器,有8种寻址方式,单操作数指令最多有_____个,双操作数指令最多有_____个。 A 1024 16 B 2048 32 C 256 64 D 1024 32 9 指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现_____。 A 程序浮动 B 程序的无条件浮动和条件浮动 C程序的无条件转移和条件转移 D 程序的调用 10 某机器指令字长为16位,主存按字节编址,取指令时,每取一个字节PC自动加1,。当前指令地址为2000H,指令内容为相对寻址的无条件转移指令,指令中的形式地址D=40H。那么取指令后及指令执行后PC内容为_____。 A 2000H,2042H B 2002H,2040H C 2002H,2042H D 2000H,2040H 11 指令系统中采用不同的寻址方式的目的主要_____。 A 可降低指令译码难度 B 缩短指令字长,扩大寻址空间,提高编程灵活性

存储器寻址方式

存储器寻址方式 存储器寻址方式的操作数存放在主存储器中,用其所在主存的位置表示操作数。在这种寻址方式下,指令中给出的是有关操作数的主存地址信息。8088的存储器空间是分段管理的。程序设计时采用逻辑地址;由于段地址在默认的或用段超越前缀指定的段寄存器,所以采用偏移地址,称之为有效地址(Effective Address, EA) 1.直接寻址 在这种寻址方式下,指令中直接包含了操作数的有效地址,跟在指令操作码之后。其默认的段地址在DS段寄存器中,可以采用段超越前缀。 例将数据段中偏移地址2000H处的内存数据送至AX寄存器。 MOV AX, [2000H] 该指令中给定了有效地址2000H, 默认与数据段寄存器DS一起构成操作数所在存储单元的物理地址。 如果DS=1429H,则操作数所在的物理地址为1429H*16+2000H=16920H. 该指令的执行结果是将16920H单元的内容传送至AX寄存器,其中,高字节内容送AH寄存器,低字节内容送AL寄存器。

MOV AX, [2000H];指令代码:A1 00 20 例: 将附加段中偏移地址2000H 处的内存数据送至AX 寄存器。 MOV AX, ES:[2000H]; 指令代码:26 A1 00 20 变量指示内存的一个数据,直接引用变量就是采用直接寻址方式。变量应该在数据段进行定义,常用的变量定义伪指令DB 和DW 分别表示字节变量和字变量,例如 WV AR DW 1234H; 定义字变量WV AR ,它的初值是1234H 这样,标示符WV AR 表示具有初值1234H 的字变量,并由汇编程序为它内存分配了两个连续的字节单元。假设它在数据段偏移地址是0010H 。 例:将数据段的变量WV AR (即该变量名指示的内存单元数据)送至AX 寄存器。 MOV AX, WV AR; 指令功能: 上述指令实质就是如下指令: AX WV AR AX DS :[0010H]

寻址方式和指令系统

《微机原理》复习思考题第3章 8086的寻址方式和指令系统 3.1 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 3.2 直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段 寄存器指出段地址,指令中应如何表示? 3.3 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定? 3.4 用寄存器间接寻址方式时,BX,BP,SI,DI分别针对什么情况来使用?这四个寄存器组合 间接寻址时,地址是怎样计算的?举例进行说明。 3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作: MOV BYTE PTR [BP], 2000 MOV WORD PTR [BX], 2000 3.6 使用堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注 意什么问题? 3.7 下面这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。 XCHG CS, AX MOV [BX], [1000] XCHG BX, IP PUSH CS POP CS IN BX, DX MOV BYTE[BX], 1000 MOV CS, [1000] 3.8 8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。 3.9 以下是格雷码的编码表 0——0000 1——0001 2——0011 3——0010 4——0110 5——0111 6——0101 7——0100 8——1100 9——1101 请用换码指令和其他指令设计一个程序段,实现格雷码往ASCII的转换。 3.10 用加法指令设计一个简单程序,实现两个16位十进制数的加法,结果放在被加数单元。 3.11 为什么用增量指令或减量指令设计程序时,在这类指令后面不用进位标志CF作为判断依 据?

指令系统习的题目解答

指令系统习题解答 一、选择题 1、变址寻址方式中,操作数的有效地址等于______。(C) A 基值寄存器内容加上形式地址(位移量) B 堆栈指示器内容加上形式地址(位移量) C 变址寄存器内容加上形式地址(位移量) D 程序记数器内容加上形式地址(位移量) 2、用某个寄存器中操作数的寻址方式称为______寻址。(C) A 直接 B 间接 C 寄存器直接 D 寄存器间接 3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。(C) A 堆栈寻址方式 B 立即寻址方式 C 隐含寻址方式 D 间接寻址方式 4、寄存器间接寻址方式中,操作数处在______。(B) A. 通用寄存器 B. 主存单元 C. 程序计数器 D. 堆栈 5、程序控制类指令的功能是______。(D) A 进行算术运算和逻辑运算 B 进行主存与CPU之间的数据传送 C 进行CPU和I / O设备之间的数据传送 D 改变程序执行顺序 6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作的动作是:(A)→M SP,(SP)- 1 →SP ,那么出栈的动作应是______。(B) A (M SP)→A,(SP)+ 1→SP ; B (SP)+ 1→SP ,(M SP)→A ;

C (SP)- 1→SP ,(M SP)→A ; D (M SP)→A ,(SP)- 1→SP ; 7.指令周期是指______。(C) A CPU从主存取出一条指令的时间; B CPU执行一条指令的时间; C CPU从主存取出一条指令加上CPU执行这条指令的时间; D 时钟周期时间; 8、指令系统采用不同寻址方式的目的是______。(B) A 实现存贮程序和程序控制; B 缩短指令长度,扩大寻址空间,提高编程灵活性; C 可直接访问外存; D 提供扩展操作码的可能并降低指令译码的难度 9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。(D) A 堆栈寻址 B 程序的条件转移 C 程序的无条件转移 D 程序的条件转移或无条件转移 10、算术右移指令执行的操作是______。(B) A 符号位填0,并顺次右移1位,最低位移至进位标志位; B 符号位不变,并顺次右移1位,最低位移至进位标志位; C 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位; D 符号位填1,并顺次右移1位,最低位移至进位标志位 11、二地址指令中,操作数的物理位置可安排在______。(B) A 栈顶和次栈顶 B 两个主存单元 C 一个主存单元和一个寄存器 D 两个寄存器

指令格式及寻址方式

指令格式及寻址方式 一、指令格式 指令的表示方法称为指令格式,它包括指令的长度和指令内部信息的安排等内容。一条指令一船由两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作,而操作效则表示指令操作的对象。操作数可以直接是一个数(立即数),也可以是一个数据所在的空间地址,即在执行指令时从指定的地址空间取出操作数。 单片机中的指令并不是固定的长度,对于不同的指令,指令的字节数不同。MC5—5l 单 片机用机器语言表示的指令格式按字节划分,有一字节指令、两字节指令和三字节指令三种。 1.一字节指令 一字节指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。在一字节指令中,有些指令的指令码中隐合着对某一寄存器的操作,NXP代理商无需再具体指定操作数。例如数 据指针DPTR加1指令;INC DPTR,其指令码为: 另外有些指令的操作数在通用寄存器中,由指令码中的rrr三位的不同编码来指定该 寄存器。例如:寄存器向氮加器A传送数据指令:MOV A,Rn,其指令码为: 其中,高5位表示操作内容——传送,最低三位rrr的不同二进制编码用来表示从哪一个寄 存器取数。 2.二字节指令。 二字节指令中的第一个字表尔操作码,第二个字节表示操作数,这里的操作数既可能是立即数,也可能是地址。其指令格式为: 3.三字节指令 三节节指令中,第一字节表示操作码,另两个字节是操作数,其指令格式为

绝大多数指令执行时都需要使用操作数,因此如何寻找存放操作数的单元地址和提取操作数就变得十分重要。Atmel代理所谓寻址方式就是如何找到存放操作数的地址,把操作数提取出来 的方法。 寻址方式与计算机的存储器空间结构有关,寻址方式越多,则计算机的功能越强,灵活性也越大,能更有效地处理各种数据,但指令系统也会相应的复杂。 MCS-51单片机共有七种寻址方式。下面分别加以介绍。 1.寄存器寻址 寄存器寻址是将所选定的工作寄存器组中的8个工作寄存器(R0—R7)的内容作为操 作数。指令操作码的低三位的不同组合分别代表R0—R7中的某一个。A、B、DPTR和C(位累加器)也能作为寄存器来寻址。例如: 这里源操作数和目标操作数均采用寄存器寻址.寄存器中的内容为操作数。 2.直接寻址 在直接寻址方式中、操作数由指令中的一个8位地址单元所指定。只有内部RAM中的00H~7FH地址单元和80H~FFH地址中的专用寄存器可直接寻址,且直接寻址是访问专 用寄存器的唯一方法。 采用直接寻址方式的指令是双字节指令,第一个字节是操作码,第二个字节是内部RAM的低128字节或专用寄存器的地址。例如: 此例中,源操作数采用直接寻址方式,表示把内部RAM中30H单元的内容送入A。指令代码为E5H、30H。 3.寄存器间接寻址 在寄存器间接寻址方式个,指令中给出的杏存器的内容为操作数的地址,而不是操作数本身。内部RAM和外部RAM都可以间接寻址。 当访问内部RAM或外部RAM的低256字节时,间址寄存器可以是选中寄存器组中的R0或R1,即内R0或R1间接给出操作数所在的地址‘ 当访问外部RAM时,16位间址寄存器只能使用16位数据指针寄存器DPTR,这时可对整个外部RAM空间(64KB)寻址。 PUSH和POP指令的执行也采用寄存器间接寻址,这时堆栈指针SP用作间址寄存 器。堆栈指针可驻留在内部RAM的任何地方;例如:

第五章 指令系统习题

第五章指令系统 一、选择题 1、采用直接寻址,操作数在中。 A、主存 B、寄存器 C、硬盘 D、光盘 2、为了缩短指令中某个地址段的位数,有效的方法是采取。 A、立即寻址 B、变址寻址 C、间接寻址 D、寄存器寻址 3、指令系统采用不同寻址方式的目的是。 A、实现存储程序和程序控制 B、缩短指令长度,扩大寻址空间,提高编程灵活性 C、可以直接访问外存 D、提供扩展操作码的可能,并降低指令译码难度 4、假设寄存器R中的数值为200,主存地址为200和300的地址单元中存放的内容分别是300和400,则方式下访问到的操作数为200。 A、直接寻址200 B、寄存器间接寻址(R) C、存储器间接寻址(200) D、寄存器寻址R 5、输入输出指令的功能是。 A、进行算术运算和逻辑运算 B、进行主存和CPU之间的数据传送 C、进行I/O设备和CPU之间的数据传送 D、改变程序执行的顺序 6、下列关于RISC的描述中,不正确的是。 A、只选用简单的,使用频率高的指令,所以采用RISC的CPU的性能较差,不能运行复杂的指令 B、指令长度固定,指令格式和寻址方式少 C、采用硬布线逻辑,提高指令执行的速度 D、采用指令流水线技术,大部分指令都能在一个机器周期中完成。 7、间接寻址是指。 A、指令中直接给出操作数地址 B、指令中直接给出操作数 C、指令中间接给出操作数 D、指令中间接给出操作数的地址 8、基址寻址方式中,操作数的有效地址等于。 A、基址寄存器的内容加上形式地址(偏移量) B、变址寄存器的内容加上形式地址(偏移量) C、程序计数器的内容加上形式地址(偏移量) D、堆栈寄存器的内容加上形式地址(偏移量) 8.通常指令编码的第一个字段是__ __ A.操作 B.指令 C.操作码 D.控制码 9.堆栈常用于 _ A.程序转移 B.输入输出 C.数据移位 D.保护程序现场 10.在堆栈中保持不变的是_ _ A.栈指针 B.栈底 C.栈顶 D.栈中数据 11.设寄存器R=1000,地址1000处的值为2000,2000处为3000,PC的值为4000,用相对寻址方式,-2000(PC)的操作数是__ __ A.4000 B.3000

第4部分:指令系统习题

指令系统习题 一、选择题 1、变址寻址方式中,操作数的有效地址等于______。 A 基值寄存器内容加上形式地址(位移量) B 堆栈指示器内容加上形式地址(位移量) C 变址寄存器内容加上形式地址(位移量) D 程序记数器内容加上形式地址(位移量) 2、用某个寄存器中操作数的寻址方式称为______寻址。 A 直接 B 间接 C 寄存器直接 D 寄存器间接 3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。 A 堆栈寻址方式 B 立即寻址方式 C 隐含寻址方式 D 间接寻址方式 4、寄存器间接寻址方式中,操作数处在______。 A. 通用寄存器 B. 主存单元 C. 程序计数器 D. 堆栈 5、程序控制类指令的功能是______。 A 进行算术运算和逻辑运算 B 进行主存与CPU之间的数据传送 C 进行CPU和I / O设备之间的数据传送 D 改变程序执行顺序 6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作的动作是:(A)→M SP,(SP)- 1 →SP ,那么出栈的动作应是______。 A (M SP)→A,(SP) + 1→SP ; B (SP) + 1→SP ,(M SP)→A ; C (SP) - 1→SP ,(M SP)→A ; D (M SP)→A ,(SP) - 1→SP ; 7.指令周期是指______。 A CPU从主存取出一条指令的时间; B CPU执行一条指令的时间; C CPU从主存取出一条指令加上CPU执行这条指令的时间; D 时钟周期时间; 8、指令系统采用不同寻址方式的目的是______。 A 实现存贮程序和程序控制; B 缩短指令长度,扩大寻址空间,提高编程灵活性; C 可直接访问外存; D 提供扩展操作码的可能并降低指令译码的难度 9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。 A 堆栈寻址 B 程序的条件转移 C 程序的无条件转移 D 程序的条件转移或无条件转移 10、算术右移指令执行的操作是______。 A 符号位填0,并顺次右移1位,最低位移至进位标志位; B 符号位不变,并顺次右移1位,最低位移至进位标志位; C 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位; D 符号位填1,并顺次右移1位,最低位移至进位标志位

指令与寻址方式习题

指令与寻址方式习题解答 1.试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:(1)AND AX,0FFH (2)AND BL,[OFFH] (3)MOV DS,AX (4)CMP [SI],CX (5)MOV DS:[0FFH],CL (6)SUB [BP][SI],AH (7)ADC AX,0ABH[BX] (8)OR DX,-35[BX][DI] (9)PUSH DS (10)CMC 答:目的操作数源操作数 (1)寄存器直接寻址立即数寻址 (2)寄存器直接寻址直接寻址 (3)寄存器直接寻址寄存器直接寻址 (4)寄存器间接寻址寄存器直接寻址 (5)直接寻址寄存器直接寻址 (6)基址变址寻址寄存器直接寻址 (7)寄存器直接寻址寄存器相对寻址 (8)寄存器直接寻址基址变址相对寻址 (9)无寄存器直接寻址 (10)隐含寻址 2.试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。 (1)MOV [BX][BP],AX (2)TEST [BP],BL (3)ADD SI,ABH (4)AND DH,DL (5)CMP CL,1234H (6)SHR [BX][DI],3 (7)NOT CX,AX (8)LEA DS,35[SI] (9)INC CX,1 (10)P USH 45[DI] 答:(1)应将BP,BX其中之一该为SI或DI (2)正确 (3)ABH改为0ABH (4) (5)是字操作,CL改为CX (6)移位数大于1时,应用CL (7)NOT指令只有一个操作数 (8)LEA指令的源操作数应为一内存单元地址

(9)此指令不用指出1 (10)45改为45H 3.下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态? MOV DL,86 ADD DL,0AAH 答: 0101,0110 + 1010,1010 = 1,0000,0000 CF=1 AF=1 ZF=1 SF=1 OF=1 4.在8086/8088CPU中可用于作地址指针的寄存器有哪些? 答:有BX,CX,DX,BP,SI,DI (IP,SP,) 5.已知(DS)=09lDH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。下列各指令或程序段分别执行后的结果如何? (1)MOV CL,20H[BX][SI] (2)MOV [BP][DI],CX (3)LEA BX,20H[BX][SI] MOV AX,2[BX] (4)LDS SI,[BX][DI] MOV [SI],BX (5)XCHG CX,32H[BX] XCHG 20H[BX][SI],AX 答(1) (CX)=56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H; (5) (09226H)=1234H,(AX)=5678H. 6.已知(SS)=09l 5H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H。现有一指令“MOV AX,OPRD”,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个已知条件至少要使用一次)。 答:(1)MOV AX,[BP] (2)MOV AX,[BP+DI+80H] (3)MOV AX,[DI+0100H] MOV AX,[SI+0220H] (4)MOV AX,[02C0H] 7.试按下列要求分别编制程序段: (1)把标志寄存器中符号位SF置‘1’。 (2)寄存器AL中高低四位互换。 (3)由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。 (4)现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,实现(A)+(B)=>C。 (5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1形成奇数)。 答:(1)MOV AH, 80H SAHF

MCS-51单片机的寻址方式和指令系统

MCS-51单片机指令系统与汇编语言程序设计 伪指令............................................. (2) MCS-51单片机的寻址方式 (4) MCS-51单片机的指令系统 (7) 数据传送指令 (8) 算数运算指令 (10) 逻辑运算及移位指令 (12) 控制转移指令 (13) 位操作指令 (18)

指令格式:指令的表示方式称为指令格式,它规定了指令的长度和内部信息的安排。完整的指令格式如下: [标号:] 操作码 [操作数] [,操作数] [;注释] 标号: 代表指令的具体地址 操作码: 又称助记符,英文缩写 操作数: 操作数中常数可以用二、八、十、十六进制表示,如果用十六进制表示,最高位用A以上的数开头时,前面须加0,否则机器不识别 注释:增加程序的可读性 伪指令 (1)定位伪指令ORG 格式:ORG n 其中:n通常为绝对地址,可以是十六进制数、标号或表达式。 功能:规定编译后的机器代码存放的起始位置。在一个汇编语言源程序中允许存在多条定位伪指令,但每一个n值都应和前面生成的机器指令存放地址不重叠。 例如程序:ORG 1000H START:MOV A,#20H MOV B,#30H ┇ (2)结束汇编伪指令END 格式:[标号:] END [表达式] 功能:放在汇编语言源程序的末尾,表明源程序的汇编到此结束,其后的任何内容不予理睬。 (3)赋值伪指令EQU 格式:字符名称x EQU 赋值项n 功能:将赋值项n的值赋予字符名称x。程序中凡出现该字符名称x就等同于该赋值项n,其值在整个程序中有效。赋值项n可以是常数、地址、标号或表达式。在使用时,必须先赋值后使用。 “字符名称”与“标号”的区别是“字符名称”后无冒号,而“标号”后面有冒号。 (4)定义字节伪指令DB

1_寻址方式与基本指令实验

2.1 寻址方式与基本指令实验 2.1.1 实验目的 1、熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。 2、掌握汇编语言程序设计上机过程, 掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。 3、熟悉Microsoft的DEBUG或Borland的Turbo DEBUG调试工具的使用方法 2.1.2 实验预习要求 1、认真阅读本书第一部分第1章,熟悉汇编语言程序设计上机步骤。 2、认真阅读本书第三部分,熟悉DEBUG调试工具的使用方法。 3、复习80x86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。 4、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题除外),以便在实验时进行验证。 2.1.3 实验内容 1、读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST 文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。 (1)程序装入后,代码段寄存器CS的内容为13FD________H,代码段第一条可执行指令MOV A X, DATA对应的机器代码为B8FC13__________H,它是一个_3_______字节指令,注意观察 执行该指令时IP值的变化情况,该指令源操作数DATA的寻址方式是(立即数寻址_),其值为__13FC________。 (2)执行完MOV DS, DATA指令后,数据段寄存器DS的内容为_13FC_______H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为_13FC0_______H、13FC1________H和13FC2________H。 (3)程序中第一条ADD AL, [BX] 指令对应的机器代码为_0207_________H,它是一个_2_______字节指令,注意观察执行该指令时IP值的变化情况;该指令中源操作数的寻址方式为_寄存器间接寻址_________,该操作数所在存储单元的逻辑地址(DS): (BX)为_13FC:0001_________,其物理地址为_13FC1_________H;执行完该指令后(AL)=_EA_____H,CF=_NC_____,OF=NV______,ZF=NZ______,SF=NG______,AF=NA______,PF=PO______;若两操作数为无符号数,计算结果是否正确__正确_____?若两操作数为带符号数,计算结果是否正确__正确______?若计算结果正确,结果是正数还是负数(正数)? (4)执行完第二条ADD AL, [BX] 指令后(AL)=__72____H,CF=CY______,OF=OV______,ZF=NZ______,SF=PL______,AF=AC______,PF=PE______;若两操作数为无符号数,计算结果是否正确__正确_____?若两操作数为带符号数,计算结果是否正确_不正确_______? (5)指令MOV SUM, AL中目的操作数的寻址方式为__寄存器直接寻址________。该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为_00_______H。 DA TA SEGMENT NUM DB 82H, 68H, 88H SUM DB ? DA TA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DA TA

第三章寻址方式与指令系统

第三章寻址方式与指令系统 一:选择题 1:下列指令中正确的是() A:MOV BX,AL B:MOV BL,AX C:MOV BL,AL D:MOV BL,BP 2:下列指令不合法的指令是() A:IN AX,03F8H B:MOV AX,BX C:REP CMPSB D:SHR BX,CL 3:下列指令中正确的是() A:MOV 100,CL B:MOV CL,100H C:MOV CL,1000 D:MOV CL,100 4:下列指令中正确的是() A:MOV SS,2400H B:MOV 2400H,SS C:MOV SS,DS D:MOV SS,SP 5:下列指令中正确的是() A:XCHG AH,AL B:XCHG AL,20H C:XCHG AX,DS D:XCHG[BX],[20H] 6:执行完下列程序后,BX寄存器的内容是() MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL A:002DH B:00EDH C:C02DH D:000DH 7:在程序运行过程中,确定下一条指令的物理地址的计算表达式是() A:CS×16+IP B:BX×16+DI C:SS×16+SP D:ES×16+SI 8:寄存器间接寻址方式中,操作数在()中 A:通用寄存器B:堆栈C:主存单元D:段寄存器 9:下列指令,指令()先执行CX-1赋给CX操作,然后再根据CX的值决定是否转移、循环或进行重复操作。 A:JNC B:REP C:JCXZ D:LOOP 10:运算型指令的寻址和控制转移型指令的寻址,其不同点在于() A:前者取操作数,后者决定程序的转移地址B:后者取操作数,前者决定程序的转移地址 C:两者都是取操作数D:两者都是决定程序的转移地址 11:在PC系列机中调试汇编语言程序的工具是DEBUG。用DEBUG调试程序时,可以在目标程序中设断点,或用单步跟踪来找出程序中的毛病。断点只能在RAM中设置,不能在ROM中设置,这是因为() A:ROM不能存放汇编程序B:ROM中数据不能修改 C:ROM不能放入断点中断指令D:ROM不能保护断点 12:DEBUG调试工具是汇编语言最有力的调试手段,当用D命令时显示的结果如下: 0000:0080 72 10 A7 00 7C 10 A7 00—4F 03 62 06 8A 03 62 06 0000:0090 17 03 62 06 86 10 A7 00—90 10 A7 00 9A 10 A7 00 INT 21H是最常用的DOS中断,试确定INT 21H的中断向量为 A:1072H:00A7H B:7C10H:A700H C:00A7H:107CH D;107CH:00A7H 13:设AL和BL是带符号数,当AL≤BL时转至NEXT处,在CMP AL,BL指令后应选择正确的条件指令是 A:JBE B:JNG C:JNA D:JNLE 二:填空题 1:若累加器AX中的内容为4142H,执行指令CMP AX,4041H后,(AX)= 。执行SUB AX,4041H 后,(AX)= 。 2:用CBW指令生成双倍长度的被除数存放在。用CWD指令生成双倍长度的被除数存放在。

相关文档
相关文档 最新文档