- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计讲稿
第7章 汇编语言程序设计基础
7.1 程序设计概述
一、程序设计基础
1. 汇编语言程序:
用汇编语言编写的、完成特定功能的指令序列。
2. 汇编程序:
能将汇编语言源程序转换成机器语言目标程序的系统软件。
3. 汇编:汇编语言程序到机器语言程序的转换过程称为汇编。
汇编的主要任务:
1)确定程序中每条汇编语言指令的指令机器码。
2)确定每条指令在存储器中的存放地址。
3)提供错误信息。
4)提供目标执行文件(*.OBJ/*.HEX)和
列表文件(*.LST)。
汇编方式:
1)手工汇编:人工查指令表汇编。用于设计短小程序或调试
程序的场合。
2)机器汇编:用汇编程序进行汇编。
4. 汇编语言指令类型:
1)机器指令:
指令系统中的全部指令,每条指令有对应的机器代码。
2)伪指令:
汇编控制指令,仅提供汇编信息,没有指令代码。
常用伪指令及其功能:
ORG—起始地址指令:指明程序和数据块起始地址。
格式:ORG 表达式
指令地址 机器码 源程序
ORG 2000H
2000H 7830 MAIN:MOV R0,#30H
2002H E6 MOV A,@R0
…
ORG 3000H
3000H 23 DB 23H,100,‘A’
3001H 64
3002H 41
注意:若程序段前无ORG伪指令,则汇编后的目标程序将从0000H单元开始。
DB—定义字节型常数指令。
格式:标号: DB 表达式或表达式串
例如:
HERE:DB 56H ;将数据56H存入HERE指示的存储单元中
DB 0A7H ;将数据0A7H存入HERE+1指示的存储单元中
再如:
SECON:DB 02H,36H,74H,0B4H,0FFH,78H,08H
上述语句表示将数据串按顺序存入由SECON指示的地址为首址的连续存储单元中。
3)DW — 定义字型常数指令。(双字节的数据)
格式:标号: DW 表达式或表达式串
例如:
ABC:DW 1234H,4567H,0A5C4H,…
汇编时,机器会自动按高位字节在前、低位字节在后的顺序格式存入存储单元中。上述语句汇编执行时,第一个字节的12H存入标号ABC指示的存储单元中,34H存入(ABC)+1单元中,按此顺序将后续字节数据存入对应存储单元中。
EQU — 标号等值指令,为标号或标识符赋值。
格式:标号 EQU 表达式
例如:
X1 EQU 2000HX2 EQU 0FH …
MAIN: MOV DPTR,#X1 ADD A,#X2
5)END — 结束汇编指令。表示源程序的结束,一个源程序有且仅有一个END指令。
例:START: …
…
END
二、汇编语言程序设计的步骤与方法
1. 汇编语言程序设计的基本步骤
(1)分析设计任务、确定算法或思路
算法:根据实际问题的要求和指令系统的特点,所采用的计算公式和计算方法。简言之,解决问题的具体方法。
(2)程序的总体设计及其流程图
流程图:将总体设计思路及程序流向用图文结合的方法展现出来的图形。
(3)编写源程序
(4)源程序的汇编与调试
(5)编写程序说明文件
2. 汇编语言程序设计方法
常用程序结构:顺序结构、分支(选择)结构、循环结构。
7.2 程序设计基础和举例
一、简单结构程序设计
顺序程序又称简单程序,程序走向只有一条路径。
例1:双字节变补程序(设数据在R4R5中):
MOV A,R5 ;取低字节
CPL A
ADD A,#01H ;低字节变补
MOV R5,A
MOV A, R4 ;取高字节
CPL A
ADDC A,#00H ;高字节变补
MOV R4,A
例2:压缩式BCD码分解成为单字节BCD码。
MOV R0,#40H ;设指针
MOV A,@R0 ;取一个字节
MOV R2,A ;暂存
ANL A,#0FH ;高半字节清0
十 个INC R0
十 个
MOV @R0,A ;保存数据个位
MOV A,R2
SWAP A ;十位换到低半字节
ANL A,#0FH
INC R0
MOV
您可能关注的文档
最近下载
- 润滑油采购合同.doc VIP
- 2024-2025学年人教版(2024)信息技术四年级上册 第01 课 数据宝藏在身边 教学设计.docx VIP
- TQGCML 3379-2024 聚醚醚酮树脂复合材料热压成型密封箱.pdf VIP
- 2022中国幽门螺杆菌感染治疗指南.pptx VIP
- DL_T5207-2021水工建筑物抗冲磨防空蚀混凝土技术规范(附条文说明).pdf VIP
- 土力学与地基基础(第四版) 全套课件.pptx
- 医院内突发事件上报流程.pptx VIP
- 国外家校社协同研究现状、热点与前沿.docx VIP
- 2018年上半年信息安全工程师上午真题及答案解析.pdf VIP
- 配电网工程不停电作业定额应用指导意见.pdf VIP
文档评论(0)