第3章指令系统3.ppt
《第3章指令系统3.ppt》由会员分享,可在线阅读,更多相关《第3章指令系统3.ppt(61页珍藏版)》请在第壹文秘上搜索。
1、第三章第三章 指令系统及程序设计举例指令系统及程序设计举例3.3 89C513.3 89C51指令系统指令系统3.1 3.1 汇编语言汇编语言3.2 3.2 寻址方式寻址方式REVIEW:算术运算指令:算术运算指令(24条条)算术运算指令可以完成加、减、乘、除及加加算术运算指令可以完成加、减、乘、除及加加1和减和减1等运算。这类指令除等运算。这类指令除INC、DEC指令外,其它运算指令的目指令外,其它运算指令的目的操作数必是的操作数必是A。REVIEW:逻辑运算及移位指令逻辑运算及移位指令(24条条)例例1:从:从(30H)=X7X6X5X4X3X2X1X0中取出高中取出高5位,位,从从(31
2、H)=Y7Y6Y5Y4Y3Y2Y1Y0中取出低中取出低3位,拼装位,拼装后存入后存入40H,(40H)=Y2Y1Y0X7X6X5X4X3 ORG 0030HMOV A,30HSWAP A RL A MOV 40H,A ANL 40H,#00011111B MOV A,31H MOV B,20H MUL AB ANL A,#11100000B ORL 40H,AHERE:SJMP HERE 例例2:设设(A)=43H,(CY)=0,则则执行指令执行指令:RL A ;RLC A ;RR A ;RRC A ;结果为结果为:(A)=86H,(CY)=0 (A)=0CH,(CY)=1 (A)=06H,(
3、CY)=1 (A)=83H,(CY)=03.3.4 控制程序转移类指令控制程序转移类指令 通常情况下,程序的执行是顺序进行的,通常情况下,程序的执行是顺序进行的,但也可以根据需要但也可以根据需要改变程序的执行顺序改变程序的执行顺序,这种,这种情况称作情况称作程序转移程序转移。控制程序的转移要利用转移指令。控制程序的转移要利用转移指令。80C51的转移指令有的转移指令有无条件转移无条件转移、条件转移条件转移及及子程序调用与返回子程序调用与返回等。等。控制程序转移类指令控制程序转移类指令(17条条)一、无条件转移指令一、无条件转移指令(4条条)(1)短转移指令短转移指令 AJMP addr11 ;
4、PC(PC)+2,;PC100 addr11 n机器代码:机器代码:n2KB范围内的无条件跳转指令范围内的无条件跳转指令n转移目标地址:转移目标地址:例:例:若若AJMP指令地址指令地址(PC)=2300H。执行指令执行指令:AJMP 0FFH后后PC值?值?n(PC)(PC)+2=2302H,n(PC)100 00011111111 n(PC)150=0010000011111111B 20FFH(2)长转移指令长转移指令 LJMP add16;,add16 PC LJMP提供的是提供的是16位地址,因此程序可以转向位地址,因此程序可以转向64KB的程序存储器地址空间的任何单元的程序存储器地
5、址空间的任何单元。例:例:设(设(PC)=0123H,标号,标号JMPADR所指的所指的单元单元3456H。执行指令为。执行指令为 LJMP JMPADR结果结果是什么?是什么?n(PC)70 56H,n(PC)158 34H,执行结果为执行结果为(PC)=3456H所以,程序转向所以,程序转向3456H单元执行。单元执行。(3)相对转移(短转移)指令相对转移(短转移)指令 SJMP rel ;PC(PC)+2 ;PC(PC)+rel rel 是一个带符号的偏移字节数(是一个带符号的偏移字节数(2的补码),取值的补码),取值范围为范围为 127 128(00H7FH对应表示对应表示0 127,
6、80HFFH对应表示对应表示1281)。负数表示反)。负数表示反向转移,正数表示正向转移。向转移,正数表示正向转移。例:例:在(在(PC)=0100H地址单元有条地址单元有条“SJMP rel”指令,若指令,若rel=55H,执行该指令后,执行该指令后PC转向转向何处?若何处?若rel=F6H,执行该指令后,执行该指令后PC转向何处?转向何处?n(1)若若rel=55H(正数正数)(PC)+2PC,(PC)=0102H (PC)+relPC,(PC)=0157Hn(2)若若rel=F6H(负数负数)(PC)+2PC,(PC)=0102H (PC)+relPC,(PC)=00F8H v跳转的范围
7、不同。跳转的范围不同。短转移类指令:短转移类指令:AJMP AJMP addr11addr11 长转移类指令:长转移类指令:LJMP LJMP addr16addr16 相对转移指令:相对转移指令:SJMP SJMP relrelv指令构成不同。指令构成不同。AJMPAJMP、LJMPLJMP后跟的是后跟的是绝对地址绝对地址,而而SJMPSJMP后跟的是后跟的是相对地址相对地址。v指令长度不同指令长度不同v 原则上,所有用原则上,所有用SJMPSJMP或或AJMPAJMP的地方都可以用的地方都可以用 LJMPLJMP来替代。来替代。短转移、长转移、相对转移指令的区别短转移、长转移、相对转移指令
8、的区别(4)间接转移指令间接转移指令JMP A+DPTR ;(A)+(DPTR)PC 该指令具有散转功能,可以代替许多判别跳该指令具有散转功能,可以代替许多判别跳转指令。其转移地址由数据指针转指令。其转移地址由数据指针DPTR的的16位数位数和累加器和累加器A的的8位数进行无符号数相加形成,并位数进行无符号数相加形成,并直接装入直接装入PC。该指令执行时对标志位无影响。该指令执行时对标志位无影响。例:例:根据累加器根据累加器A中命令键键值,设计命令键操作中命令键键值,设计命令键操作程序入口跳转表:程序入口跳转表:CLR C ;清进位;清进位 RLC A ;键值乘;键值乘2 MOV DPTR,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统