汇编语言程序概述、功能与设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;
DEC R1
;
MOV A, @R0
; 被加数高位字节送入A
ADDC A, @R1 ; 两个高位字节带Cy
MOV @R0, A
;
RET
汇编语言程序概述、功能 和设计
例 2 将两个半字节数合并成一个一字节数。
设内部RAM 40H#, 41H单元中分别存放着 8 位二进制数,
要求取出两个单元中的低半字节, 并成一个字节后, 存入
汇编语言程序概述、功能和设计
汇编语言程序概述、功能 和设计
4.1 单片机程序设计语言概述
所谓程序设计,就是按照给定的任务要求,编写 出完整的计算机程序。要完成同样的任务,使用的方 法或程序并不是唯一的。因此,程序设计的质量将直 接影响到计算机系统的工作效率、运行可靠性。
汇编语言程序概述、功能 和设计
(a) 单汇分编支语流言程程序; 概述(b、)功多能分支流程
和设计
例 3 x, ห้องสมุดไป่ตู้均为8位二进制数, 设 x存入R0, y存入R1, 求解:
1
x0
y
1
x0
0
x0
汇编语言程序概述、功能 和设计
程序如下: START: CJNE R0, #00H, SUL1; R0中的数与00比较不等转移
MOV R1, #00H; 相等, R1← 0 SJMP SUL2 SUL1: JC NEG ; 两数不等, 若(R0)<0, 转向NEG MOV R1, #01H ; (R0)>0, 则 R1←01H SJMP SUL2 NEG: MOV R1, #0FFH ; (R0)<0, 则 R1←0FFH SUL2: RET
汇编语言程序概述、功能 和设计
程序如下:
START: CLR C
; 将Cy
MOV R0, #41H ; 将被加数地址送数据指针R0
MOV R1, #51H ; 将加数地址送数据指针R1
AD1: MOV A, @R0 ; 被加数低字节的内容送入A
ADD A,@R1
;
MOV @R0, A
;
DEC R0
例如:ONE EQU 1 宏指令语句:用以代替汇编语言源程序中重复使用的程序段 的一种语句,由汇编程序在汇编时产生相应的目标代码。
汇编语言程序概述、功能 和设计
汇编语言语句的格式 指令语句和伪指令语句的格式是类似的。 指令语句的格式为:
【标号】:助记符(操作码)【操作数】 ;【注释】 伪指令语句的格式: 名字 定义符 参数 ;注释
汇编语言程序概述、功能 和设计
例 4 比较两个无符号数的大小。 设外部 RAM 的存储单元 ST1和 ST2中存放两个不带符号的二进制
数, 找出其中的大数存入外部 RAM 中的 ST3单元中。
汇编语言程序概述、功能 和设计
ORG 1000H
汇编语言程序概述、功能 和设计
机器语言(Machine Language)
直接用机器码编写程序、能够为计算机直接执行 的机器级语言。机器码是一串由二进制代码“0”和“1”组 成的二进制数据,其执行速度快,但是可读性极差。 机器语言一般只在简单的开发装置中使用,程序的设 计、输入、修改和调试都很麻烦。
因而,单片机的汇编语言不但不会被高级语言完 全取代,甚至还将继续占据重要地位。
汇编语言程序概述、功能 和设计
4.1.2 汇编语言语句的种类和格式 汇编语言语句有三种基本类型:指令语句、伪指令语句和宏指 令语句。
指令语句:每一个指令语句都在汇编时产生一个目标代码, 对应着机器的一种操作。
例如:MOV A,#0 伪指令语句:主要是为汇编语言服务的,在汇编时没有目标 代码与之对应。
4.1.1 按照语言的结构及其功能可以分为三种
• 1.机器语言:机器语言是用二进制代码0和1表示指 令和数据的最原始的程序设计语言。
• 2.汇编语言:在汇编语言中,指令用助记符表示, 地址、操作数可用标号、符号地址及字符等形式来描 述。
• 3.高级语言:高级语言是接近于人的自然语言,面 向过程而独立于机器的通用语言。
程序结构一般采用以下三种基本控制结构,即顺序结构、 分支结构和循环结构来组成,再加上使用广泛的子程序及中断服 务子程序,共有五种基本结构。
汇编语言程序概述、功能 和设计
4.2.1 顺序程序结构
例 1 两个无符号双字节数相加。 设被加数存放于内部RAM的40H(高位字节), 41H(低 位字节), 加数存放于50H(高位字节), 51H(低位字节), 和数存入 40H和41H单元中。
汇编语言程序概述、功能 和设计
高级语言(High-Level Language)
在汇编语言的基础上用自然语言的语句来编写程序, 例如PL/M-51、C51等,程序可读性强,通用性好,适 用于不熟悉单片机指令系统的的用户。
高级语言编写程序的缺点是实时性不高,结构不紧凑, 编译后占用存储空间比较大,这一点在存储器有限的单 片机应用系统中没有优势。
两种语句都由四个部分组成。其中每一部分称为域也称为字段, 各字段之间用一个空格或字段定界符分隔,常用的字段定界符 有冒号“:” 、逗号“,”和分号“;”。其中方括号括起来的是可 选择部分。
汇编语言程序概述、功能 和设计
汇编语言程序设计,就是采用汇编指令来编写计算机程序。 要对应用中需使用的寄存器、存储单元、I/O端口等先要作出具 体安排。在实际编程中,如何正确选择指令、寻址方式和合理使 用工作寄存器,包括数据存储器单元,如何对扩展的I/O端口进 行操作等,都是基本的汇编语言程序设计技巧。
50H单元中。 程序如下:
START: MOV R1, #40H ; 设置R1
MOV A, @R1 ; ANL A, #0FH ;
SWAP A ;
INC R1
;
XCH A, @R1
;
ANL A, # 0FH ;
ORL A, @R1
;
MOV 50H, A
;
RET 汇编语言程序概述、功能
和设计
4.2.2 分支程序设计
汇编语言程序概述、功能 和设计
汇编语言(Assembly Language)
指用指令助记符代替机器码的编程语言。汇编语 言程序结构简单,执行速度快,程序易优化,编译后 占用存储空间小,是单片机应用系统开发中最常用的 程序设计语言。汇编语言的缺点是可读性比较差,只 有熟悉单片机的指令系统,并具有一定的程序设计经 验,才能研制出功能复杂的应用程序。