版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 汇编语言程序设计4.1.1 高级语言、汇编语言、机器语言高级语言:接近于人的常用语言形式,是一种面向过程而独立于机器的通用语言。如C 语言。void main()char a=1;char b=2;char c;c=a+b;4.1.1 高级语言、汇编语言、机器语言汇编语言:它是一种符号语言,是一种面向机器的语言。ORG 0000HMOV A,01HADD A,02HMOV R0,ASJMP $END4.1.1 高级语言、汇编语言、机器语言机器语言:是用二进制0,1 表示指令和数据的最原始的程序设计语言。RAW DATA: E5 01 25 02 F8 80 FEDisassembled
2、 DATA:0000E501MOV A,01H 00022502ADD A,02H 0004F8MOV R0,A 000580FESJMP $ 4.1.1 高级语言、汇编语言、机器语言选择程序设计语言类型的原则是什么?4.1.2 程序的编译、汇编和调试4.1.2 程序的编译、汇编和调试4.1.3 程序设计的基本过程分析问题确定算法设计流程分配资源编写源程序调试、修改4.1.4汇编语言的基本格式标号:操作码 第一操作数/第二操作数 ;注释例1: 计算1+2ORG 0200HSTART: MOVA, #1; A 1(1 Cycle)ADDA, #2 ; A A2(1 Cycle)MOVR1, A
3、; R1 A(1 Cycle)SJMPSTARTEND4.1.4汇编语言的基本格式标号的作用: 用于配合转移指令的执行和子程序的调用。标号的命名方法:1)由18 个字母或数字组成。标号必须以字母开头。 2)不可使用关键字,如助记符、寄存器名。 3)建议使用具有描述性的符号。操作数段 数字必须以09开头,便于区分数字和字符串 16进制数非09开头的数字前要加数字0,例如: MOV A, #0A4H4.1.4汇编语言的基本格式4.1.5 伪指令的作用和使用方法伪指令 写在源文件中,用于控制汇编过程的命令。如设置程序或数据存储区的地址、定义符号、判断程序是否结束等。 没有对应的机器码,它是不可执行的
4、指令。4.1.5 伪指令的作用和使用方法1、ORG (Origin) 是起点,指定语句行装载的起始地址。 其格式为:ORG 16位地址例如, ORG 2000HSTART:MOV A, #40H 上例说明程序的起始地址是2000H,第一条指令就从2000H开始存放。4.1.5 伪指令的作用和使用方法在一个源程序中,可以多次使用ORG指令,以规定不同程序段的起始位置,但所规定的地址应是从小到大,不允许有重叠,即不同的程序段之间不能有重叠。若ORG指令不带操作数,则汇编后目标程序的起始地址为0000H。4.1.5 伪指令的作用和使用方法2、END 是汇编语言源程序结束的伪指令,表示源程序结束。在E
5、ND以后所写的指令,编程序都不予处理。 一个源程序只能有一个END指令,放在程序的末尾。4.1.5 伪指令的作用和使用方法3、DB(Define Byte) 定义字节数据。它的作用是,从指定的地址单元开始,定义数据或ASCII码字符,常用于定义数据常数表。 格式如下: 标号; DB 字节常数表 其中方括号的内容是任选项。例如: ORG 2000HTAB:DB 14H,26,A DB 0AFH,BC汇编结果:(2000H)14H (2001H)1AH(2002H)41H (2003H)= AFH(2004H)42H (2005H)43H2000H14H2001H1AH2002H41H2003HA
6、FH2004H42H2005H43H4.1.5 伪指令的作用和使用方法4、DW: 定义字数据。从指定的地址单元开始,定义若干个字常数,常用于定义地址表。 格式如下:标号: DW 字常数表 一个字占两个存储单元,其中高字节数存入低位地址,低字节数存入高位地址,即顺序存放。 例如, ORG 2000HTAB: DW 7423H,00ABH,20汇编结果: (2000H)74H (2001H)23H(2002H)00H (2003H)=ABH(2004H)00H (2005H)14H2000H74H2001H23H2002H00H2003HABH2004H00H2005H14H4.1.5 伪指令的作
7、用和使用方法5、DS(Define Store) 定义存储区。从指定的地址开始,保留一定数量的内存单元,以备程序使用。其区域的大小由指令的操作数确定。 格式如下: 标号: DS 表达式 表达式一般是数值,即要保留的内存单元个数。例如: ORG 1000HDS 5DB 23H汇编结果:从地址1000H开始,保留5个字节的内存单元,而(1005H)=231000H-1001H-1002H-1003H-1004H-1005H23H等同于 C 中的 malloc 函数。4.1.5 伪指令的作用和使用方法6、BIT, 位地址符号指令。把位地址赋予绘所规定的字符名称,常用于定义位符号地址。 格式如下: 字
8、符名称 BIT 位地址例如, AA BIT P1.0 BB BIT P2.04.1.5 伪指令的作用和使用方法7、EQU(Equate) 赋值(或等值)指令。 把操作数段中的地址或数据赋值给标号。 赋值后的标号,其值在整个程序中不改变,可多次使用。格式如下: 标号(字符名称) EQU 数或汇编符号 注意,标号与EQU之间不能用“:”来作分隔符。 例如: COUNTEQU16H ;COUNT=16H ADDREQU3000H ;ADDR=3000H MOV A,COUNT ;A=16H 4.1.5 伪指令的作用和使用方法8、DATA 数据地址赋值指令。 将数据地址或代码地址赋予给所规定的标号。
9、格式如下: 字符名称DATA 表达式例如,MN DATA 1000H汇编后,MN的值为1000H。 DATA指令在程序中常用来定义数据地址Keil 集成编译环境介绍1. Keil 具有的基本功能 文件编辑、编译/汇编、调试、单元内容观察 2. 工程创建、源文件创建、编辑 3. 汇编、连接、装载 4. 调试 单步、断点、执行到当前光标处、全速运行 系统复位 “踏步”指令,及其作用 5. 观察寄存器、存储器空间内容 1)通用寄存器 2)SFR 区 3)DATA 区:片内 RAM 区(00H7FH), 以及 SFR 区 4)IDATA 区:片内 RAM 区(00H7FH, 80HFFH) 5)COD
10、E:代码区 6)XDATA:片外数据区 7)PSW各标志位的观察 6. 观察端口内容 端口状态输入 端口状态输出 Keil 集成编译环境介绍7. 集成环境设置 1)器件型号选择 2)Debug 方式选择 3)系统时钟设置 8. 代码执行速度分析 9. 代码测试 选择的测试样本数据应具有完整性。Keil 集成编译环境介绍程序的基本结构程序的基本结构顺序分支循环子程序4.2 顺序结构顺序结构P75 例 4. 1:编写程序实现两个 16bits 无符号数的加法。 X+Y = 0 x5678 + 0 x9876 4.2 顺序结构1、基本原理分析 1)分两次完成,每次完成 8bits 加法。 使用 ADD 和 ADDC 指令 2)采用间接寻址方式,读取加数和被加数,以及保存结果。2、资源分配 33H、32H:存放被加数,以及结果 37H、36H:存放加数 22H.0 : 存放和的最高位 R0、R1:数据指针 4.2 顺序结构3. 流程图4. 源程序5. 程序调试、测试 单步、断点调试方法 4.2 顺序结构思考: 1. 保存和的最高位还有哪些方法? 2. 如何实现多字节数的减法? 3. 如何实现多字节 BCD 码数的加法? 以及减法? 4. 汇编语言与 C 语言在实现方式上有什么不同? 4.2 顺序结构#include unsigned int data a =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门集美区海凤小学产假(顶岗)教师招聘1人模拟笔试试题及答案解析
- 四川省成都市盐道街中学2025年公开补招员额教师参考考试题库及答案解析
- 江西省2026年事业编考试备考笔试题库及答案解析
- 2025河南郑州市教育局直属单位招聘工作人员4人备考考试试题及答案解析
- 2025贵州遵义习水县面向社会招录政府专职消防员13人备考笔试试题及答案解析
- 2025年银行人力资源管理岗位政策法规测试题及答案
- 2025年江西一地招聘辅警52名备考题库及1套完整答案详解
- 2025年泗洪县公安局公开招聘警务辅助人员39名备考题库附答案详解
- 江苏省教育科学研究院2025年第二批公开招聘工作人员备考题库及答案详解参考
- 2025年石家庄市公安局鹿泉分局公开招聘留置看护警务辅助人员30人的备考题库含答案详解
- 2025年下半年上海当代艺术博物馆公开招聘工作人员(第二批)参考笔试试题及答案解析
- “实用性阅读与交流”学习任务群的解读与实施
- 2024年江苏省普通高中学业水平测试小高考生物、地理、历史、政治试卷及答案(综合版)
- 方格网计算土方表格
- 学校计算机机房设计方案
- 证券投资案例分析题及答案
- 煎药室岗前培训PPT
- 家具制造企业安全检查表优质资料
- 如家酒店新版
- GA 1016-2012枪支(弹药)库室风险等级划分与安全防范要求
- 《电能质量分析》课程教学大纲
评论
0/150
提交评论