计算机汇编指令系统

计算机汇编指令系统

ID:38387405

大小:1.19 MB

页数:98页

时间:2019-06-11

计算机汇编指令系统_第1页
计算机汇编指令系统_第2页
计算机汇编指令系统_第3页
计算机汇编指令系统_第4页
计算机汇编指令系统_第5页
资源描述:

《计算机汇编指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章计算机指令系统3-1指令格式3-2指令寻址方式3-3MCS-51指令系统一.汇编语言指令格式[标号:]操作码操作数1,操作数2[;注释]换行表示一条指令结束。例:LOOP:MOVA,#40H;取参数1.标号:指令的符号地址2.操作码:指明指令功能。3.操作数:指令操作对象数据、地址、寄存器名及约定符号。4.注释行:说明指令在程序中的作用。操作码和操作数是指令主体。MOV__move传送XCH__exchange交换ANL__andlogic与逻辑运算XRL__exclusiveor异或运算M

2、UL__Multiply乘法RR__rotateright右循环SJMP__shortjump短跳转RET__return子程序返回§3-1指令格式二.机器语言指令格式操作码[操作数1][操作数2]有单字节、双字节和三字节指令。汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。举例:汇编语言:机器语言:MOVA,R0E8HMOVR6,#32H7E32HMOV40H,#100H754064H111010000111111000110010011101010100

3、000001100100§3-2指令寻址方式3-2-1操作数类型位(b)─位寻址区中的一位二进制数据字节(B)─8位二进制数据字(W)─16位双字节数据3-2-2寻址方式一.立即寻址方式指令中给出实际操作数据(立即数),一般用于为寄存器或存储器赋常数初值。举例:8位立即数:MOVA,#40H;A¬40H16位立即数:MOVDPTR,#2100H;DPTR¬2100H例:设存储器两个单元的内容如图所示,执行指令MOVA,40H后A=?二.直接寻址方式指令操作数是存储器单元地址,数据在存储器单元中。M

4、OVA,40H;A¬(40H)直接寻址方式对数据操作时,地址是固定值,而地址所指定的单元内容为变量形式。41H78H40H56H56H思考题:直接寻址方式指令和立即寻址方式指令的形式有什么不同?三.寄存器寻址方式指令操作数为寄存器名,数据在寄存器中。例:MOVA,R0;A¬R0设指令执行前A=20H,R0=40H,执行指令后,A=?,R0=?四.寄存器间接寻址方式指令的操作数为寄存器名,寄存器中为数据地址。存放地址的寄存器称为间址寄存器或数据指针。例:MOVA,@R0;A¬(R0)设指令执行前A=

5、20H,R0=40H,地址为40H存储器单元内容如图所示。执行指令后,A=?,R0=?,(40H)=?41H67H40H34H34H40H34H40H40H01000000A00100000R001000000R0→五.变址间接寻址方式数据在存储器中,指令给出的寄存器中为数据的基地址和偏移量。 数据地址=基地址+偏移量。例:MOVCA,@A+DPTR;A¬(A+DPTR)设指令执行前A=09H,DPTR=2000H,存储器单元内容如图所示。执行指令后,A=?DPTR=?12H2000H六.位寻址方

6、式指令给出位地址。一位数据在存储器位寻址区。例:MOVC,40H;Cy¬(位地址40H)设指令执行前Cy=1,位地址40H存储器单元如图,执行指令后,Cy=?28H0110001029H11010111位寻址区02008H89H2009H12H§3-3MCS-51指令系统分析指令功能分类:数据传送、数据操作、布尔处理、程序控制。3-3-1数据传送指令实现寄存器、存储器之间的数据传送。一.内部传送指令:片内数据存储器数据传送。二.外部传送指令:片外数据存储器数据传送。三.交换指令:片内数据存储器数据

7、传送。四.堆栈操作指令:片内数据存储器数据传送。五.查表指令:程序存储器数据传送。一、内部传送指令:实现片内数据存储器中数据传送。指令格式: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就是指的直接地址,而第三条指令中,就是我们刚才讲过

8、的。第四条指令是将立即数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,d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。