该【计算机指令系统 】是由【相惜】上传分享,文档一共【98】页,该文档可以免费在线阅读,需要了解更多关于【计算机指令系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第三章计算机指令系统
3-1指令格式
3-2指令寻址方式
3-3MCS-51指令系统
编辑课件
[标号:]操作码操作数1,操作数2[;注释]
换行表示一条指令结束。
例:LOOP:MOVA,#40H;取参数
:指令的符号地址
:指明指令功能。
:指令操作对象
数据、地址、寄存器名及约定符号。
:说明指令在程序中的作用。
操作码和操作数是指令主体。
MOV__move传送
XCH__exchange交换
ANL__andlogic与逻辑运算
XRL__exclusiveor异或运算
MUL__Multiply乘法
RR__rotateright右循环
SJMP__shortjump短跳转
RET__return子程序返回
§3-1指令格式
编辑课件
操作码[操作数1][操作数2]
有单字节、双字节和三字节指令。
汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。
举例:
汇编语言: 机器语言:
MOVA,R0 E8H
MOVR6,#32H 7E32H
MOV40H,#100H 754064H
11101000
01111110
00110010
01110101
01000000
01100100
编辑课件
§3-2指令寻址方式
3-2-1 操作数类型
位(b)─位寻址区中的一位二进制数据
字节(B)─8位二进制数据
字(W)─16位双字节数据
3-2-2寻址方式
指令中给出实际操作数据(立即数),一般用于为寄存器或存储器赋常数初值。
举例:
8位立即数:MOVA,#40H ;A¬40H
16位立即数:MOVDPTR,#2100H;DPTR¬2100H
编辑课件
例:设存储器两个单元的内容如图所示,
执行指令MOVA,40H后A=?
指令操作数是存储器单元地址,数据在存储器单元中。 MOVA,40H ;A¬(40H)
直接寻址方式对数据操作时,地址是固定值,而地址所指定的单元内容为变量形式。
41H 78H
40H 56H
56H
思考题:直接寻址方式指令和立即寻址方式指令的形式有什么不同?
编辑课件
指令操作数为寄存器名,数据在寄存器中。例: MOVA,R0 ;A¬R0设指令执行前A=20H,R0=40H, 执行指令后,A=?,R0=?
指令的操作数为寄存器名,寄存器中为数据地址。
存放地址的寄存器称为间址寄存器或数据指针。
例: MOVA,***@R0 ;A¬(R0)
设指令执行前A=20H,R0=40H,地址为40H存储器单元内容如图所示。执行指令后,
A=?,R0=?,(40H)=?
41H 67H
40H34H
34H
40H
34H
40H
40H
01000000
A
00100000
R0
01000000
R0→
编辑课件
数据在存储器中,指令给出的寄存器中为数据的基地址和偏移量。 数据地址=基地址+偏移量。
例: MOVCA,***@A+DPTR ;A¬(A+DPTR)
设指令执行前A=09H,DPTR=2000H,存储器单元内容如图所示。执行指令后,A=? DPTR=?
12H
2000H
指令给出位地址。一位数据在存储器位寻址区。
例:MOVC,40H ;Cy¬(位地址40H)
设指令执行前Cy=1,位地址40H存储器单元如图,执行指令后,Cy=?
28H01100010
29H11010111
位寻址区
0
2008H 89H
2009H12H
编辑课件
§3-3 MCS-51指令系统分析
指令功能分类:
数据传送、数据操作、布尔处理、程序控制。
3-3-1数据传送指令
实现寄存器、存储器之间的数据传送。
: 片内数据存储器数据传送。
: 片外数据存储器数据传送。
: 片内数据存储器数据传送。
: 片内数据存储器数据传送。
: 程序存储器数据传送。
编辑课件
一、内部传送指令:实现片内数据存储器中数据传送。指令格式:MOV目的操作数,源操作数寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间址。
MOVA,Rn;A←Rn,Rn=R0~R7MOVA,direct;A←(direct),MOVA,***@Ri;A←(Ri),Ri=R0、R1MOVA,#data;A←d,
第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。第四条指令是将立即数data送到A中
下面我们通过一些例子加以说明:
MOVA,R1;将工作寄存器R1中的值送入A,R1中的值保持不变。
MOVA,30H;将内存30H单元中的值送入A,30H单元中的值保持不变。
MOVA,***@R1;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入
A中。如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。
MOVA,#34H;将立即数34H送入A中,执行完本条指令后,A中的值是34H。
1)以累加器为目的操作数的指令
编辑课件
MOVRn,direct;Rn←(n)
MOVRn,#data;Rn←data
MOVRn,A;Rn←(A)
2)以寄存器Rn为目的操作的指令
这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。
编辑课件
计算机指令系统 来自淘豆网m.daumloan.com转载请标明出处.