文档库 最新最全的文档下载
当前位置:文档库 › (完整版)第三章指令系统

(完整版)第三章指令系统

(完整版)第三章指令系统
(完整版)第三章指令系统

第三章指令系统习题参考答案(三)

1、80C51系列单片机的指令系统有何特点?

答:80c51的指令系统的特点有:(1)执行时间短。一个机器周期指令有64条,2个时间周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);(2)指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;(3)位操作指令丰富。这是80c51单片机面向控制特点的重要保证。

2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器

空间如何?

答:(1)寄存器寻址。

对应的寄存器有:

·工作寄存器R0~R7

·累加器A

·寄存器B

·数据指针DPTR

(2)直接寻址。

对应的存储空间有:

·片内RAM低128字节(以地址形式表示)

·SFR(以地址形式或SFR符号形式表示,但符号将转换为相应的SFR

地址)

(3)寄存器间接寻址。

对应的空间有:

·片内RAM(采用@R0,@R1或SP);

·片外RAM(采用@R0,@R1或@DPTR)

(4)变址寻址。

对应的空间有:

·ROM空间(采用@A+DPTR,@A+PC)

(5)相对寻址。

·ROM空间(采用JC rel)

(6)位寻址。

·片内RAM的20H~2FH单元的128可寻址位

·SFR的可寻址位

3、访问特殊功寄存器SFR可以采用哪些寻址方式?

答:直接寻址、位寻址

4、访问内部RAM单元可以采用哪些寻址方式?

答:寄存器寻址、直接寻址、寄存器间接寻址

5、访问外部RAM单元可以采用哪些寻址方式?

答:寄存器间接寻址

6、访问外部程序存储器可以采用哪些寻址方式?

答:立即寻址、变址寻址、相对寻址

7、为什么说布尔处理功能是80C51单片机的重要特点?

答:布尔处理功能是MCS-51系列单片机的一个重要特征,在物理结构

上,MCS-51单片机有一个布尔(位)处理器,对位地址空间具有丰富的位操作指令。它在进行位操作时,以进位标志做为位累加器。

8、对于80C52单片机几个内部RAM还存在高128字节,应采用何种方式

访问?

答:对片外RAM进行访问时,需要以下四条指令进行:

读:

(1)MOVX A,@DPTR;

(2)MOVX A,@Ri;

写:

(3)MOVX @DPTR,A;

(4)MOVX@ Ri,A;

9、试根据指令编码表写出下列指令的机器码。

(1)MOV A ,#88H

(2)MOV R3,50H

(3)MOV P1.1, #55H

(4)ADD A, @R1

(5)SETB 12H

答: 指令对应的机器码为

(1) 74H

(2)ABH

(3) 75H

(4) 27H

10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下

每种操作的指令序列。

(1)将R0的内容传送到R1;

(2)内部RAM单元60睥内容传送到寄存器R2;

(3)外部RAM单元1000H的内容传送到内部RAM单元60H;

(4)外部RAM单元1000H的内容传送到寄存器R2;

(5)外部RAM单元10000H的内容传送到外部RAM单元2000H。

答:(1)MOV A, R0;

MOV R1,A;

(2) MOV R2,60H;

(3)MOV DPTR,#1000H;

MOVX A,@DPTR;

MOV 60H,A;

(4)MOV DPTR,#1000H;

MOVX A,@DPTR;

MOV R2,A;

(5)MOV DPTR,#1000H;

MOVX A,@DPTR;

MOV R0,#2000H;

MOVX @R0,A;

11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试

分析执行下列程序段后上述各单元内容的变化。

答:MOVX A,@R1 ;A=60H

MOV @R1,40H ; (30H)=08H

MOV 40H,A ;(40H)=40H

MOV R1,#7FH ;(R1)=7FH

即最终结果为(R1)=7FH, (40H)=40H, (30H)=08H,( A)=60H

12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,

(20)=0FH,试指出CY、AC和OV的值。

答:(1)MOV A, @R0 ; (A)=2CH, R0=40H

(2)MOV 40H,#0FH ; (40H)=0FH

(3)ADD A,R4 ; (A)=22H, (CY)=1, (AC)=1, (OV)=0

(4)SWAP A ; (A)=8EH

(5)DEC @R1 ; (20H)=0EH, (R1)=20H

(6)XCHD A, @R1 ; (A)=EFH, (20H)=08H, (R1)=20H

13、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部

RAM的40H、41H和42H单元中的内容各为多少?

答:MOV A ,50H ; (A)=40H

MOV R0, A ; (R0)=40H

MOV A,#00H ; (A)=00H

MOV @R0, A ; (40H)=00H

MOV A ,3BH ; (A)=(3BH)

MOV 41H, A ; (41H)=(3BH)

MOV 42H, 41H ; (42H)=(3BH)

即最终结果为(R0)=40H , (40H)=00H , (A)=(3BH) ,(41H)=(3BH) ,

(42H)=(3BH)

14、试用位操作指令实现下列逻辑操作。要求不得改变未涉及位的内容。

(1)使ACC。0置位;

(2)清除累加器高4位;

(3)清除ACC.3, ACC.4, ACC.5, ACC.6.

答:(1) CLR ACC.0 ; 使ACC.0置位

(2) CLR ACC.7

CLR ACC.6

CLR ACC.5

CLR ACC.4

(3) CLR ACC.3

CLR ACC.4

CLR ACC.5

CLR ACC.6

15、试编写程序,将内部RAM的20H、21H和22H三个连续单元的内容存入

2FH、2EH和2DH单元。

答:MOV A,20H

MOV R0,#2FH

LOOP: MOV @R0,A

INC A

DEC R0

CJNE R0,#2CH, LOOP

SJMP $

16、试编写程序,完成两个16位数的减法:F4DH—2B4EH,结果存入内部RAM

的30H和31H,31H单元存差的高8位,30H单元存差的低8位

答:CLR C

MOV A, #4DH

MOV R0,#4EH

SUBB A,R0

MOV 30H, R0

MOV A,#7FH

MOV R0,#2BH

SUBB A,R0

MOV 31H, R0

17、试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,

并将其存入在R1中。

答:MOV A, R2

MOV 40H,R1

MOV R1,#40H

XCHD A,@R1

MOV R1,A

18、试编写程序,将内部RAM的20H和21H单元的两个无符号数相乘,结果

存放在R2、R3中,R2中存放高8位,R3存放低8位。

答:MOV A,20H

MOV B,21H

MUL AB

MOV R2, B

MOV R3, A

19、若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列

程序段后,CY、P1口及P3口内容的变化情况。

答:MOV P1.3, C

MOV P1.4, C ; (P1)=10111011B

MOV C, P1.6 ; (CY)=0

MOV P3.6, C

MOV C, P1.0 ; (CY)=1

MOV P3.4, C ; (P2)=00111100B

即最终为(CY)=1 ,(P1)=10111011B ,(P2)=00111100B

20、若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程

序,并说明这种软件延时方式的优缺点。

答:分析:一个机器周期=12个晶振周期=1us

利用一对内外循环,运行20000个机器周期,从而延迟20ms。

汇编程序如下:

LOOP: MOV R1,#00H

INC R1

NEXT: MOV R0,#00H

INC R0

NOP

CJNE R0,#13H , NEXT

NOP

CJNE R1,#C8H,LOOP

SJMP $

第三章指令系统

第5章指令系统 一、判断题 (×)1.执行指令时,指令在内存中的地址存放在指令寄存器中。 (√)2.程序计数器PC用来指示从内存中取指令。 (√)3.同一系列的不同型号的计算机,保持软件向上兼容的特点。 (√)4.在计算机的指令系统中,真正必须的指令数是不多的,其余的指令都是为了提高机器速度和便于编程而引入的。 (×)5.RISC的主要目标是减少指令数,因此允许以增加每条指令的功能的办法来减少指令系统所包含的指令数。 二、选择题 1.在计算机的指令系统中采用不同的寻址方式的主要目的是 C 。 A.实现程序控制和快速查找存储器地址 B.可以直接访问主存和外存 C.缩短指令长度,扩大寻址空间,提高编程的灵活性 D.降低指令的译码难度 2.单操作数指令的操作数由 B 提供。 A.指定寄存器或由操作码指定存储单元 B.由地址码指定的存储单元;如果已标明该存储单元的内容为地址,则由该地址所指定的存储单元 C.由操作码直接指定数据 D.由操作码直接指定的存储单元 3.在多地址指令中,算术运算结果不会存储在 A 中。 A.累加器B.第一地址码所指定的存储空间 C.第二地址码所指定的存储空间D.第三地址码所指定的存储空间 4.把存储单元A的内容传送到存储单元B的指令执行后,存储单元A的内容为 B 。A.空白或零,视机器而定B.与存储单元B的内容相同 C.二进制补码D.存储单元A的内容与存储单元B的内容之差 三、填空题 1.指令操作码通常有两种编码格式:固定格式和可变格式。 2.在当前的计算机中,指令的执行方式有3种,就是顺序执行方式,重叠执行方式和流水线方式。 3.数据传送类指令实现的功能是传送数据,它往往是在主存储器和寄存器之间,或寄存器和寄存器之间传送数据。 4.所谓堆栈,是主存中专门用来存放数据的一个特定的区域,它具有先进后出的性质。 5.Intel 8086/8088的字符串操作指令用来处理存放在存储器中的一串字符或数据。6.内存地址寄存器用来指示从内存中取数据。 7.浮点运算指令对于用于科学计算的计算机是很必要的,可以提高机器的运算速度。四、名词解释 1.计算机指令系统:是指一台计算机上全部指令的集合,也称为计算机的指令集。 2.固定格式:操作码的长度是固定的,集中放在指令字的某一个字段中。 3.可变格式:操作码的长度可变,且分散地放在指令字的不同字段中。 4.寻址:就是寻找操作数的地址,最终目的是寻找所需的操作数。 五、简答题

第三章 MCS-51指令系统习题答案

第三章 MCS -51指令系统 5 题 分析下面程序段的执行功能。 CLR A MOV R2, A MOV R7, #4 LOOP: CLR C MOV A, R0 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A, R2 RLC A MOV R2, A DJNZ R7, LO OP SJMP $ 答:将R2:R1:R0所表示的24位二进制数左移4位。(相当×16) 6 题 设系统晶振为12MHZ ,阅读下列程序,分析其功能。 START : SETB P1.0 NEXT: MOV 30H, #10 LOOP2: MOV 31H, #0FAH LOOP1: NOP NOP DJNZ 31H, LOOP1 DJNZ 30H, LOOP2 CPL P1.0 AJMP NEXT SJMP $ 答:((2+1+1)*250+2+2)*10+2=10.042(ms) 在P1.0引脚上输出周期为20ms 的方波。 7 题 阅读下列程序,分析其功能。 MOV R7, #10 MOV A, #30H MOV DPTR, #2000H LOOP : MOVX @DPTR, A INC A INC DPL DJNZ R7, LOOP SJMP $ R2 R1 R0 0 0 0 0

答:在外部数据存储器中的以下地址内存放数据: (2000H)=30H (2001H)=31H (2002H)=32H ┇┇ (2009H)=39H 8 题简述下列程序段完成的功能,程序完成后SP指针应指向哪里? MOV SP, #2FH MOV DPTR, #2000H MOV R7, #50H NEXT: MOVX A, @DPTR PUSH A INC DPL DJNZ R7, NEXT SJMP $ 答:以内部存储器地址30H作为栈底,从30H开始一直到7FH依次存放外部数据存储器中2000H一直到204FH地址中的数据。7FH作为栈顶。程序完成后SP=7FH。 9 题分析下列程序段执行结果,程序执行完后,SP指向哪里? MOV SP, #3FH MOV R0, #40H MOV R7, #10H NEXT: POP A MOV @R0, A DEC R0 DJNZ R7, NEXT SJMP $ 答:将栈中3FH,3EH一直到30H地址中的内容依次放入40H,3FH,…,31H单元中。执行完后SP=2FH。 10 题分析下列程序段执行结果。 XCH A, 30H MOV B, A ANL A, #0FH MOV 33H, A MOV A, B SW AP A ANL A, #15 MOV 34H, A SJMP $ 答:将30H单元中的数的高四位放入34H中,低四位放入33H中。

(完整版)第三章指令系统

第三章指令系统习题参考答案(三) 1、80C51系列单片机的指令系统有何特点? 答:80c51的指令系统的特点有:(1)执行时间短。一个机器周期指令有64条,2个时间周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);(2)指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;(3)位操作指令丰富。这是80c51单片机面向控制特点的重要保证。 2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器 空间如何? 答:(1)寄存器寻址。 对应的寄存器有: ·工作寄存器R0~R7 ·累加器A ·寄存器B ·数据指针DPTR (2)直接寻址。 对应的存储空间有: ·片内RAM低128字节(以地址形式表示) ·SFR(以地址形式或SFR符号形式表示,但符号将转换为相应的SFR 地址) (3)寄存器间接寻址。 对应的空间有: ·片内RAM(采用@R0,@R1或SP); ·片外RAM(采用@R0,@R1或@DPTR) (4)变址寻址。 对应的空间有: ·ROM空间(采用@A+DPTR,@A+PC) (5)相对寻址。 ·ROM空间(采用JC rel) (6)位寻址。 ·片内RAM的20H~2FH单元的128可寻址位 ·SFR的可寻址位 3、访问特殊功寄存器SFR可以采用哪些寻址方式? 答:直接寻址、位寻址 4、访问内部RAM单元可以采用哪些寻址方式? 答:寄存器寻址、直接寻址、寄存器间接寻址 5、访问外部RAM单元可以采用哪些寻址方式? 答:寄存器间接寻址 6、访问外部程序存储器可以采用哪些寻址方式? 答:立即寻址、变址寻址、相对寻址 7、为什么说布尔处理功能是80C51单片机的重要特点? 答:布尔处理功能是MCS-51系列单片机的一个重要特征,在物理结构

第三章 80868088的指令系统

3.1 指令的基本格式   一、指令构成 微计算机的指令系统通常由几十种或百余种指令组成(可见表2-1)。每种指令又由两个字段(Field)构成: l.操作码(OP-Code)字段 该字段指示计算机所要执行的操作类型,由一组二进制代码表示,在汇编语言中又用助记将(Mnemonic)代表。8086执行指令时,首先将操作码从指令队列取入执行部件EU中的控制单元,经指令译码器识别后,产生执行本指令操作所需的时序性控制信号,控制计算机完成规定的操作。 2.操作数(Oprand)字段 该字段则是指出指令执行的操作所需的操作数。在操作数字段中,可以是操作数本身,或是操作数地址或是操作数地址的计算方法。微计算机中此字段通常可有一个或两个,称前者为单操作数指令,称后者为双操作数指令。而双操作数又分别称为源操作数src (source)和目的操作数dst(destination)。在指令执行之前,src和dst均为参加运算处理的两个操作数,指令执行之后,在dst中则存放运算处理的结果。 指令的基本格式如下:   二、8086   8086的指令长度可在1~6字节的范围,如图3-1所示。其中B l和B0为基本字节,B3~B6将根据不同指令作相应的安排。   (1)B1字节各字段定义如下: OP--指令操作码。 D--表示方向。D=1寄存器为目的,D=0寄存器为源。 W--表示字节或字处理方式。W=0为字节指令,W=1为字指令。

(2)B2字节各字段定义如下: MOD--给出指令的寻址方式。8086的一条指令中,最多可使用两个操作数,它们不能同时位于存储器中,最多只能有一个是存储器操作数。当MOD=11时为存储器方式,即有一个操作数位于存储器中;MOD=00,没有位移量; MOD01,只有低8位位移量,需将符号扩展8位,形成16位; MOD=10有16位位移量。当MOD=1l时,为寄存器方式,两个操作数均为寄存器。 REG--表示指令中只有一个操作数,这个操作数为寄存器,可见表3-1,表中左部示出寄存器对应的编码。 R/M--R/M受MOD制约。当 MOD=11(即寄存器方式时),由此字段给出指令中第二个操作数所在的寄存器编码;当MOD≠11时,此字段用来指出应如何计算指令中使用的存储器操作数的有效地址。MOD和R /M字段表示的有效地址 EA计算方法如表3-1所示,共2 4种。   (3) B3~B6字节这四个字节一般是给出存储器操作数地址的位移量(即偏移量)和/或立即操作数。位移量可为8位,也可为16位,这由MOD来决定。8086规定16位的字位移量的低位字节放于低地址单元,高位字节放于高地址单元。 若指令中只有8位位移量, 8086在计算有效地址时,自动用符号将其扩展成一个16位的双字节数,以保证有效地址的计算不产生错误,实现正确的寻址。指令中的立即操作数位于位移量的后面。若B3,B4有位移量,立即操作数就位于B5,B6。若指令中无位移量,立即操作数就位于B3,B4字节。总之,指令中缺少的项将由后面存在的项向前顶替,以减少指令长度。 3.2 8086的寻址方式   8086的操作数可隐含在操作码中,也可以是操作数字段中的操作数本身,还可以是存放操作数的地址,如寄存器,I/0端口及存储器。对存储器,给出的或是存储器地址,或是产生存储器地址的信息。从表3

第3章答案指令系统1-40..

第3章指令系统 1,简述下列基本概念:指令,指令系统,机器语言,汇编语言,高级语言。1、指令:CPU根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言 2,什么是计算机的指令和指令系统? 2、见第1题。 3,简述89C51汇编指令格式。 3、操作码[目的操作数] [,源操作数] 4,简述89C51寻址方式和所能涉及的寻址空间。 5,要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式? 5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址 6,在89C51片内RAM中,已知(30H)=38H, (38H)=40H, (40H)=48H, (48H)=90H, 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。 6、MOV A,40H ;直接寻址(40H)→A MOV R0,A ;寄存器寻址(A)→R0 MOV P1,#0F0H ;立即数寻址0F0→P1

MOV @R0,30H ;直接寻址(30H)→(R0) MOV DPTR,#3848H ;立即数寻址3848H→DPTR MOV 40H,38H ;直接寻址(38H)→40H MOV R0,30H ;直接寻址(30H)→R0 MOV P0,R0 ;寄存器寻址(R0 )→P0 MOV 18H,#30H ;立即数寻址30H→18H MOV A,@R0 ;寄存器间接寻址((R0)) →A MOV P2,P1 ;直接寻址(P1)→P2 最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H 注意:→左边是内容,右边是单元 7,对89C51片内RAM的高128字节的地址空间寻址要注意什么 7、用直接寻址,位寻址,寄存器寻址 8,指出下列指令的本质区别。 8,MOV A,DATA ;直接寻址2字节1周期 MOV A,#DATA ;立即数寻址2字节1周期 MOV DATA1,DATA2 ;直接寻址3字节2周期 MOV 74H,#78H ;立即数寻址3字节2周期 如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A 9,设R0内容为32H, A的内容为48H, 片内RAM的32H单元内容为80H, 40H单元内容为08H, 请指出在执行下列程序段后上述各单元内容的变化。 9、 MOV A,@R0 ;((R0))=80H→A MOV @R0,40H ;(40H)=08H→(R0) MOV 40H,A ;(A)=80→40H MOV R0,#35H ;35H→R0 最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H 10,如何访问SFR,可使用哪些寻址方式? 10、用直接寻址,位寻址,寄存器寻址 11,如何访问片外RAM,可使用哪些寻址方式? 11、只能采用寄存器间接寻址(用MOVX指令) 12,如何访问片内RAM,可使用哪些寻址方式? 12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7) 高128字节:直接寻址,位寻址,寄存器寻址 13,如何访问片内外程序存储器,可使用哪些寻址方式? 13、采用变址寻址(用MOVC指令)

第三章计算机硬件体系结构报告

第三章计算机硬件体系结构 一、填空题 1.地址总线的位数决定了计算机的能力,数据总线的宽度决定了计算机的。2.计算机的运算速度用每秒钟所能执行的______数表示,单位是______。 3.按照总线上传送信息类型的不同,可将总线分为___________、___________、__________三种。 4.在计算机中通常以___________作为单位传送信息的。 5.指令一般包括___________和___________两部分。 6.若一台微机的地址总线位长为32位,则其最大寻址空间为___________。 7.CPU包括________、__________和_______________三个基本部分。 8. 光盘按读写性能可分为___________、___________、__________三种。 二、单项选择题 1. 一个完整的微型计算机硬件系统应由____、存储器、输入设备和输出设备构成。 A. 硬盘 B. ROM和RAM C. CPU D. 显示器 2. 计算机中指令的执行主要由___完成的。 A. 存储器 B. 控制器 C. CPU D. 总线 3. 微型计算机的CPU主要由两部分构成,它们是____。 A. 内存和控制器 B. 内存和外存 C. 运算器和控制器 D. 外存和运算器 4. 磁盘经过高级格式化后,其表面形成多个不同半径的同心圆,这些同心圆称为____。 A. 磁道 B. 扇区 C. 族 D. 磁面 5. 下面有关计算机的叙述中,是正确的。 A. 计算机的主机包括CPU、内存储器和硬盘三部分 B. 计算机程序必须装载到内存中才能执行 C. 计算机必须具有硬盘才能工作 D. 计算机键盘上字母键的排列方式是随机的 6. 计算机的内存储器比辅助存储器_______。 A. 存储更多信息,但存取速度慢 B. 可以存储的信息少,但存取速度快 C. 存储更多信息,且存取速度快 D. 可以存储的信息少,且存取速度慢 7. 计算机的输入输出设备中,处理速度最快的是_____。 A. 软盘 B. 键盘 C. 打印机 D. 硬盘 8. 在计算机中指令主要存放在中。 A. CPU B. 内存 C. 键盘 D. 磁盘 9. 下列有关存储器读写速度的排列,正确的是。 A. RAM>Cache>硬盘>软盘 B. Cache>RAM>硬盘>软盘 C. Cache>硬盘>RAM>软盘 D. RAM>硬盘>软盘>Cache 10. CPU中的可存放少量数据。 A. 存储器 B. 辅助存储器 C. 寄存器 D. 只读存储器

第三章 80868088的指令系统

3.1 指令的基本格式 一、指令构成 微计算机的指令系统通常由几十种或百余种指令组成(可见表2-1)。每种指令又由两个字段(Field)构成: l.操作码(OP-Code)字段 该字段指示计算机所要执行的操作类型,由一组二进制代码表示,在汇编语言中又用助记将(Mnemonic)代表。8086执行指令时,首先将操作码从指令队列取入执行部件EU中的控制单元,经指令译码器识别后,产生执行本指令操作所需的时序性控制信号,控制计算机完成规定的操作。 2.操作数(Oprand)字段 该字段则是指出指令执行的操作所需的操作数。在操作数字段中,可以是操作数本身,或是操作数地址或是操作数地址的计算方法。微计算机中此字段通常可有一个或两个,称前者为单操作数指令,称后者为双操作数指令。而双操作数又分别称为源操作数src (source)和目的操作数dst(destination)。在指令执行之前,src和dst均为参加运算处理的两个操作数,指令执行之后,在dst中则存放运算处理的结果。 指令的基本格式如下: 二、8086 8086的指令长度可在1~6字节的范围,如图3-1所示。其中B l和B0为基本字节,B3~B6将根据不同指令作相应的安排。 表3-1 8086指令格式 (1)B1字节各字段定义如下: OP--指令操作码。 D--表示方向。D=1寄存器为目的,D=0寄存器为源。 W--表示字节或字处理方式。W=0为字节指令,W=1为字指令。 (2)B2字节各字段定义如下: MOD--给出指令的寻址方式。8086的一条指令中,最多可使用两个操作数,它们不能同时位于存储器中,最多只能有一个是存储器操作数。当MOD=11时为存储器方式,即有一个操作数位于存储器中;MOD=00,没有位移量;MOD01,只有低8位位移量,需将符号扩展8位,形成16位;MOD=10有16位位移量。当MOD=1l时,为寄存器方式,两个操作数均为寄存器。 REG--表示指令中只有一个操作数,这个操作数为寄存器,可见表3-1,表中左部示出寄存器对应的编码。

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

第三章指令系统及寻址方式 一、教学内容 1.指令格式 2.指令寻址方式 3.指令系统 二、要求掌握指令的书写格式、指令的寻址方式和每一条指令的作用。 三、重点掌握指令的寻址方式和每一条指令的功能作用。 四、难点在于理解和掌握指令的寻址方式,怎样找到操作数所在存储单元的存放地址以及运用指令编程的技巧等。 五、本章分为4讲,每讲2学时。 第一讲指令寻址方式 1.指令的书写格式 指令有两种书写格式: ?机器指令:由一串二进制数描述 ?符号指令:用英文字母缩写词描述。符号指令的书写格式如下: 标号:操作助记符 [目的操作数][,源操作数];注释 几点说明: 1)标号—表示某一条指令所在存储单元的首址。标号应由字母打头,后跟字母、数字及特殊字符均可,但不能用关键字。 标号的用法: ①标号一般放在子程序(子过程)的第一条指令的开头; ②标号一般放在转移指令要转去的目的地的第一条指令的开头。 ③标号一般放在其他符号定义的前面。 2)指令助记符(操作助记符):MOV;ADD;SUB;END。 3)操作数—有源操作数和目的操作数,他们之间用“,” 分隔。操作数也可有可无。 2.数据寻址方式 一般在指令中包含有操作码和操作数,怎样找到指令中的操作数和操作数所在的地址,这就是寻址方式。

1)立即寻址 操作数直接包含在代码段的指令中。 如: MOV EAX,H MOV BX,6688H MOV AX,1234H ?立即数只能作为源操作数 ?立即寻址主要用来给通用寄存器或存储器赋值 ?不允许给段寄存器直接赋值 2)寄存器寻址 操作数在寄存器中。 32位寄存器:EAX、EBX、ECX、EDX、 ESP、EBP、 ESI、EDI 16位寄存器:AX、BX、CX、DX、SP、BP、SI、 DI、CS、DS、SS、ES、FS、GS 8 位寄存器:AH、AL、BH、BL、 CH、CL、DH、DL 如: MOV AX,BX MOV EDI,ESI MOV AL,CL 3)存储器寻址 操作数在存储器中,其地址由指令以某种方式指出。 ① 16位指令模式下的存储器寻址 16位指令模式寻址结构由4部分组成:段基址×10H+基址+变址+偏移量基址:BX、BP ,变址:SI、DI ,偏移量:8位或16位 如果有效地址在BX,SI或DI中,则以DS寄存器内容为段基址; 如果有效地址在BP中,则以SS段寄存器的内容为段基址。 如果使用段超越(CS:ES:DS:SS:),前缀操作数可以放在冒号前指定的段。例如:MOV ES:[DI],AL MOV ES:2000H, AL

相关文档