第5讲汇编程序的编写.ppt.pptVIP

  • 3
  • 0
  • 约4.43千字
  • 约 29页
  • 2017-03-04 发布于天津
  • 举报
第5讲汇编程序的编写.ppt

第5讲:汇编程序的编写 电气工程系 赵志衡 TelE-mail:zhzhhe@hit.edu.cn 课程主要内容 汇编程序的基本知识 常用汇编程序设计方法 汇编程序的基本知识 汇编指令的基本结构: [标号]:操作码助记符 [第1操作数],[第2操作数];[注释] Loop1: mov a, #0ffh; 累加器A赋值为ff mov a,#10h mov a,#16 标号:表示该指令所在的符号地址,一般由字母和数字组成, 第一位为字母,其余位为字母、数字任选。 操作码助记符、第1操作数和 第2操作数:指令的核心部分。对于某些指令可能不存在完整的两个操作数。 注释:是由用户加入的文本,对汇编程序不起任何作用,只是方便阅读。 * 第1操作数又称目的操作数,第2操作数又称源操作数 ** 51不区分大小写 汇编程序的基本知识 汇编语言的构成 指令性语句(51指令系统) 指示性语句:伪指令 伪指令:伪指令不属于MCS51指令系统中的指令,它是程序员发给汇编程序的命令,也称为汇编程序控制命令。 程序设计流程 常用的部分伪指令 ORG END EQU DB 伪指令简介 ? ORG 起点指令 ORG addr16 org 0000h ORG指令用于指明程序代码或数据块在存储器中的起始地址。addr16代表一个16位地址,即程序或数据块的首地址。 ? EQU 等值指令 标号 EQU 表达式 aaa equ 30h bbb equ 40H mov a,aaa mov a,#bbb+1 ? EQU指令用于为程序中的任意标号赋值。 ? 程序中的常量通常可以用标号代替,便于修改。 ? 主程序前要先用equ指令为常量标号赋值。 伪指令简介 ? DB 定义字节指令 [标号]: DB 数据列表 DB指令用于定义字节型数据或数据串,并将数据作为常数填入指定的存储器单元中。 ? END 结束汇编指令 [标号]: END END指令置于程序结尾处,作为源程序结束的标志。 程序设计流程 (1)明确要求和要达到的目的 (2)确定解决问题的计算方法和步骤 (3)画出流程图 (4)分配内存地址 (5)按流程图编写程序 (6)上机汇编、调试、修改直至最后确定源程序 程序结构: 顺序结构 循环结构 简单程序(顺序结构) 大量使用数据传送类指令 注意正确选择指令以提高效率 将20H单元内的压缩BCD码变换成相应ASCII码放在21H、22H中 Org 0h Ljmp 2000h ORG 2000H MOV R0,#22H MOV @R0,#00 MOV A,20H XCHD A,@R0 ORL 22H,#30H SWAP A ORL A,#30H MOV 21H,A z:SJMP z END 15BYTE ,11T MOV A,20H MOV B,#10H DIV AB ORL B,#30H MOV 22H,B ORL A,#30H MOV 21H,A SJMP $ END 15BYTE 14T BCD码与ASCII码对照 0——30H 1——31H 2——32H 3——33H 4——34H 5——35H 6——36H 7——37H 8——38H 9——39H 分支程序 根据程序要求无条件或有条件改变程序执行的顺序,选择程序的流向 特点:程序中含有转移类指令 关键:正确选用转移指令 正确运用转移指令 无条件分支程序 程序设计者事先设计好的 LJMP 有条件分支程序 根据已经执行的程序中标志位、A或内部RAM的某些位的结果决定程序的流向 JZ/JNZ、CJNE、DJNZ、位控制转移类指令 (JC

文档评论(0)

1亿VIP精品文档

相关文档