指令系统与程序设计.ppt
《指令系统与程序设计.ppt》由会员分享,可在线阅读,更多相关《指令系统与程序设计.ppt(106页珍藏版)》请在沃文网上搜索。
1、第三章第三章 指令系统与程序设计指令系统与程序设计4.1 概述概述3.4 MCS-51的寻址方式的寻址方式4.2 数据传送类指令数据传送类指令4.3 算术运算类指令算术运算类指令4.4 逻辑运算类指令逻辑运算类指令4.5 控制转移类指令控制转移类指令4.6 布尔布尔(位位)处理类指令处理类指令14.1 指令与程序设计基础指令与程序设计基础1.基本概念基本概念 指令指令:指挥计算机(指挥计算机(CPU)完成各种操作的命令。完成各种操作的命令。机器语言指令机器语言指令:指令的二进制表示形式,即用一定位数的指令的二进制表示形式,即用一定位数的二进制编码表示操作命令,是指令在程序存储器中的存放形式,二
2、进制编码表示操作命令,是指令在程序存储器中的存放形式,是是CPU可直接读取、识别和执行的唯一形式。可直接读取、识别和执行的唯一形式。机器语言(目标)程序机器语言(目标)程序:用机器语言指令表示的程序。是用机器语言指令表示的程序。是所有程序的最终形式。所有程序的最终形式。例如,用例如,用MCS-51指令系统表示指令系统表示“10+6”运算的目标程运算的目标程序为:序为:74 0A 24 06 80 FE 机器语言指令和程序不便于阅读。机器语言指令和程序不便于阅读。汇编语言指令(符号指令、指令助记符)汇编语言指令(符号指令、指令助记符):采用具有采用具有一定意义的符号来表示操作命令,使指令便于阅读
3、。一定意义的符号来表示操作命令,使指令便于阅读。2 汇编语言(源)程序汇编语言(源)程序:用汇编语言指令书写的程序。:用汇编语言指令书写的程序。例如,用例如,用MCS-51指令系统表示指令系统表示“10+6”运算的汇运算的汇编语言程序为:编语言程序为:MOV A,#10 ;将数将数10送入送入A中中 ADD A,#6 ;常数常数6与与A中内容相加,结果中内容相加,结果 ;存入;存入A SJMP$;结束结束 汇编语言指令必须最终转换为机器语言目标程序,汇编语言指令必须最终转换为机器语言目标程序,才能为才能为CPU所识别和执行。所识别和执行。源程序源程序(汇编语言程序)(汇编语言程序)汇编程序汇编
4、程序(完成把源程序翻译(完成把源程序翻译成目标程序的工作)成目标程序的工作)目标程序目标程序(机器语言程序)(机器语言程序)3 例如,用例如,用MCS-51指令系统表示指令系统表示“10+6”运运算的汇编语言源程序和机器语言目标程序为:算的汇编语言源程序和机器语言目标程序为:目标程序目标程序 汇编语言源程序汇编语言源程序 74 0A MOV A,#10 ;将数将数10送入送入A中中 24 06 ADD A,#6 ;常数常数6与与A中内容中内容 ;相加,结果存入;相加,结果存入A 80 FE SJMP$;结束结束 高级语言程序:面向过程,必须经过编译或解高级语言程序:面向过程,必须经过编译或解释
5、产生机器语言目标程序,方可由释产生机器语言目标程序,方可由CPU所执所执行。行。42.指令格式指令格式 汇编语言指令格式汇编语言指令格式 操作码操作码 操作数操作数 ;注释;注释 MOV A,#30H ;将数将数30H送入送入A中中 INC A ;将将A的内容加的内容加1 NOP ;空操作空操作 其中:其中:操作码表示指令的功能操作码表示指令的功能(进行什么操作)(进行什么操作)操作数说明提供参与操作的数或数所在单元的地址操作数说明提供参与操作的数或数所在单元的地址 机器语言指令机器语言指令 04 INC A ;将将A的内容加的内容加1 74 30 MOV A,#30H ;将数将数30H送入送
6、入A中中 85 40 50 MOV 50H,40H ;将将40H单元内容送单元内容送 ;入入50H 机器语言指令有单字节、双字节、三字节指令。机器语言指令有单字节、双字节、三字节指令。53.8051指令系统分类指令系统分类 按照指令的按照指令的功能功能划分,划分,80518051指令可分为以下五类:指令可分为以下五类:l数据传送数据传送类指令类指令(29(29条条)l算术运算算术运算类指令类指令(24(24条条)l逻辑运算逻辑运算类指令类指令(24(24条条)l控制转移控制转移类指令类指令(17(17条条)l位操作位操作类指令类指令(17(17条条)n按照指令占用的按照指令占用的存储空间存储空
7、间可分为:可分为:l单字节指令单字节指令(49(49条条)l双字节指令双字节指令(45(45条条)l三字节指令三字节指令(17(17条条)n按照指令的按照指令的执行时间执行时间可分为:可分为:l单周期指令单周期指令(64(64条条)l双周期指令双周期指令(45(45条条)l四周期指令四周期指令(2(2条,乘、除法指令条,乘、除法指令)64.4.程序设计基础程序设计基础程序设计基础程序设计基础 汇编语言、机器语言程序的书写格式汇编语言、机器语言程序的书写格式 例:将片内数据存储器例:将片内数据存储器3AH单元内容与单元内容与3BH单元内容互换。单元内容互换。机器语言目标程序机器语言目标程序 汇编
8、语言源程序汇编语言源程序 地址地址 指令代码指令代码 标号标号 操作码操作码 操作数操作数 注释注释 ORG 2000H ;程序存放的程序存放的 ;起始地址;起始地址2000H E5 3A ST:MOV A,3AH ;3AH的内容的内容 ;暂存于;暂存于A2002H 85 3B 3A MOV 3AH,3BH2005H F5 3B MOV 3BH,A2007H 80 FE LP:SJMP LP END ;汇编结束汇编结束 其中:其中:ORG、END为伪指令(表示汇编要求的指令)。为伪指令(表示汇编要求的指令)。标号:指令的符号地址。标号:指令的符号地址。7 目标程序在存储器中的存储形式目标程序在
9、存储器中的存储形式2000HE52001H3A2002H852003H3B2004H3A2005HF52006H3B2007H802008HFEMOV A,3AHMOV 3AH,3BHMOV 3BH,ASJMP 0FEH8 程序的基本结构程序的基本结构 顺序结构顺序结构 分支结构分支结构 循环结构循环结构 子程序子程序9 程序流程图程序流程图10例:编制实现符号函数的程序,流程图如下:例:编制实现符号函数的程序,流程图如下:+1 ;x0Y=f(x)=0 ;x=0 -1 ;xOPR2时时CY=0,OPR1OPR2时时CY=1 即:对第一、二操作数的内容(无符号数)进行比即:对第一、二操作数的内容
10、(无符号数)进行比较,若二者相等则顺序执行,否则转移,同时影响较,若二者相等则顺序执行,否则转移,同时影响CY标志。可用作比较指令。标志。可用作比较指令。86例:编程实现下列函数例:编程实现下列函数假设假设x存放在片内存放在片内RAM 30H单元,单元,将将y值存入值存入31H。(。(用用CJNE指令实现)指令实现)0 ;x=0y=f(x)=1 ;x 087 ORG 2000H MOV A,30H;取取x值值 CJNE A,#0,NEQ;若若x 0则转移至则转移至NEQ MOV 31H,#0 SJMP$NEQ:MOV 31H,#1 SJMP$88(3)减减1非零非零转移指令转移指令DJNZ R
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 程序设计