
Ch4 The Program Design of 本章 Assembly Language 内容 4.1概述 4.2伪指令 4.3程序基本结构 4.4程序设计举例
本章 内容 Ch4 The Program Design of Assembly Language 4.1概述 4.3 程序基本结构 4.2 伪指令 4.4 程序设计举例

本章 1.How many language does the 8031 重点 support? 2.How many kinds of programming forms does the 8031 have? 3.How to do a 8031 assembly programming?
本章 1、 How many language does the 8031 重点 support? 2、 How many kinds of programming forms does the 8031 have? 3、 How to do a 8031 assembly programming?

4.1概述 4.1.1程序设计概述一设计语言 1)、机器语言(二进制)编写程序 2)、用助记符形式的汇编语言编写程序,称为低级语言。 用汇编系统将其翻译成机器语言,该过程称为汇编 3)、用更接近人的语言编写程序,程序设计师们发明了 高级语言,如:C51、PM51 用编译系统将其翻译成机器语言,该过程称为编译 4)、机器只能识别机器语言。所以必须用编译系统将高 级语言编写的源程序编译成机器语言,用汇编系统将用汇 编语言编写的源程序汇编成机器语言; 5)、由低级或高级语言构成的程序称为源程序,由机器 语言构成的程序称作目标程序:
4.1.1程序设计概述—设计语言 1)、机器语言(二进制)编写程序; 2)、用助记符形式的汇编语言编写程序,称为低级语言。 用汇编系统将其翻译成机器语言,该过程称为汇编; 3)、用更接近人的语言编写程序,程序设计师们发明了 高级语言,如: C51、PLM51 用编译系统将其翻译成机器语言,该过程称为编译; 4)、机器只能识别机器语言。所以必须用编译系统将高 级语言编写的源程序编译成机器语言,用汇编系统将用汇 编语言编写的源程序汇编成机器语言; 5)、由低级或高级语言构成的程序称为源程序,由机器 语言构成的程序称作目标程序; 4.1 概述

4.1概述 4.1.2汇编语言程序设计中的数 1)、二进制数:由0/小组成、“逢2进1”的数制。 如:01011110B(0~1后缀:B/b) 2)、十六进制数:便于读写记忆的二进制数的 简写形式。 如:5EH(0~9,A~F后缀:H/h) 3)、BCD码:用二进制数表达的十进制数。 如:47H (0~9表示为:0000≈1001B 后缀:B/b,H/h)
2)、十六进制数:便于读写记忆的二进制数的 简写形式。 如:5EH (0~9,A~F 后缀:H/h) 3)、BCD码:用二进制数表达的十进制数。 如:47H (0~9表示为:0000~1001B 后缀:B/b,H/h) 1)、二进制数:由0/1组成、“逢2进1”的数制。 如:01011110B (0~1 后缀:B/b) 4.1.2汇编语言程序设计中的数 4.1 概述

4.2汇编程序的伪指令 1)、(真)指令:告诉计算机如何操作以及做何种 操作 2)、伪指令:告诉汇编程序在翻译应用程序 时有何具体约定。伪指令不进行具体的操作, 那是真指令的事。比如:从何处开始,何处 结束,某些编程者自己规定的表述代表什么 意思
1)、(真)指令:告诉计算机如何操作以及做何种 操作 2)、伪指令:告诉汇编程序在翻译应用程序 时有何具体约定。伪指令不进行具体的操作, 那是真指令的事。比如:从何处开始,何处 结束,某些编程者自己规定的表述代表什么 意思…… 4.2汇编程序的伪指令

4.2汇编程序的伪指令 常用伪 指令 ORG addr16编译后的机器代码存放的起始位置 END 表示编译到此结束 $ 代表正在执行的指令所在位置 EQU 将表达式的值赋予待号名称 DATA 数据地址或代码地址赋予规定的字符名称 BIT 将位地址的值赋予待号名称 DB 8位数据[或8位数据组]将8位数据[或8位 数据组]顺序存放在此后的存储单元中。 DW 将双字节数据[或双字节数据组]顺序存放 在此后的存储单元中
4.2汇编程序的伪指令 ORG addr16 编译后的机器代码存放的起始位置 END 表示编译到此结束 $ 代表正在执行的指令所在位置 EQU 将表达式的值赋予符号名称 DATA 数据地址或代码地址赋予规定的字符名称 BIT 将位地址的值赋予符号名称 DB 8位数据[或8位数据组] 将8位数据[或8位 数据组]顺序存放在此后的存储单元中。 DW 将双字节数据[或双字节数据组]顺序存放 在此后的存储单元中。 常用伪 指令

4.2汇编程序 定义字节伪指令DB 的伪指令 (Define Byte) 格式:[标号:]DB项或项表 项或项表指一个字节,或用逗号分开的字符串,或以引号括 起来的字待串(一个字待用ASC码表示,就相当一个 字节)。该伪指令的功能是把项或项表的数值(字符 则用ASC码)存入从标号开始的连续存储单元中。 例如:ORG2000H TAB1:DB 30H,8AH,7FH,73 DB ,5,A',BC (2000H)=30H(2001H)=8AH(2002H)=7FH (2003H)=49H ;十进制数73以十六进制数存放 (2004H)=35H ;数字5的ASCI川码 (2005H)=41H ;字母A的ASCI‖码 (2006H)=42H (2007H)=43H;BC中B、C的ASCI码
定义字节伪指令DB (Define Byte) 格式: [标号: ]DB 项或项表 项或项表指一个字节, 或用逗号分开的字符串, 或以引号括 起来的字符串(一个字符用ASCII码表示, 就相当一个 字节)。 该伪指令的功能是把项或项表的数值(字符 则用ASCII码)存入从标号开始的连续存储单元中。 例如: ORG 2000H TAB1: DB 30H, 8AH, 7FH,73 DB ′5′ , ′A′ , ′BC′ (2000H) = 30H (2001H)=8AH (2002H)=7FH (2003H) = 49H ; 十进制数 73 以十六进制数存放 (2004H) = 35H ; 数字 5 的ASCII码 (2005H) = 41H ; 字母A的ASCII码 (2006H) = 42H (2007H) = 43H ; ′BC′中B、C的ASCII码 4.2汇编程序 的伪指令

4,2汇编程序 定义字伪指令DW 的伪指令 (Define Word) 格式:[标号:]DW项或项表 DW伪指令与DB的功能类似,所不同的是DB用于定义一 个字节(8位二进制数),而DW则用于定义一个字(即两 个字节,16位二进制数)。在执行汇编程序时,机器会自动 按高8位先存入,低8位后存入的格式排列,这和MCS一51 指令中16位数据存放的方式一致。 例如:ORG1500H TAB2:DW 1234H,80月 汇编以后:(1500H)=12H,(1501H)=34H, (1502H=00H,1503日=80H
格式: [标号: ]DW 项或项表 DW伪指令与DB的功能类似, 所不同的是DB用于定义一 个字节(8 位二进制数), 而DW则用于定义一个字(即两 个字节, 16 位二进制数)。 在执行汇编程序时, 机器会自动 按高 8 位先存入, 低 8 位后存入的格式排列, 这和MCS—51 指令中 16 位数据存放的方式一致。 例如: ORG 1500H TAB2: DW 1234H,80H 汇编以后: (1500H)=12H, (1501H)=34H, (1502H)=00H, (1503H)=80H。 4.2汇编程序 的伪指令 定义字伪指令DW (Define Word)

3.1.2汇编程 预留存储空间 序的伪指令 伪指令DS 格式:[标号:]DS表达式 该伪指令的功能是从标号指定的单元开始,保留若千字 节的内存空问以备源程序使用。存储空问内预留的存储 单元数由表达式的值决定。 例如:ORG1000川 DS 20H DB 30H,8FH 汇编后:从1000川开始,预留32(20H)个字节的内存单元, 然后从1020川开始,按照下一条DB指令赋值,即 (1020H)=30H,(1021H)=8FH。保留的存储空间将由程 序的其它部分决定它们的用处
预留存储空间 伪指令DS 格式: [标号: ]DS 表达式 该伪指令的功能是从标号指定的单元开始, 保留若干字 节的内存空间以备源程序使用。 存储空间内预留的存储 单元数由表达式的值决定。 例如: ORG 1000H DS 20H DB 30H, 8FH 汇编后: 从 1000H开始, 预留 32(20H)个字节的内存单元, 然后从 1020H 开 始 , 按 照 下 一 条 DB 指 令 赋 值 , 即 (1020H)=30H, (1021H)=8FH。 保留的存储空间将由程 序的其它部分决定它们的用处。 3.1.2汇编程 序的伪指令

4.2汇编程序 等值指令EQU 的伪指令 (Equate) 指令格式: 字符名称EQU数字或汇编符号 功能:使指令中的字特名称等价于给定的数字或汇编特号。 使用等值指令可给程序的编制、调试、修改带来方便,如果在 程序中要多次使用到某一地址,由EQU指令将其赋值给一个字 符名称,一旦需要对其进行变动,只要改变EQU命令后面的数 字即可,而不需要对程序中涉及到该地址的所有指令逐句进行 修改。 例: PA8155 EQU 8001H 即给标号PA8155赋值为8001H
指令格式: 字符名称 EQU 功能: 使指令中的字符名称等价于给定的数字或汇编符号。 使用等值指令可给程序的编制、调试、修改带来方便, 如果在 程序中要多次使用到某一地址,由EQU指令将其赋值给一个字 符名称, 一旦需要对其进行变动, 只要改变EQU命令后面的数 字即可, 而不需要对程序中涉及到该地址的所有指令逐句进行 修改。 例: PA8155 EQU 8001H 即给标号PA8155赋值为8001H。 4.2汇编程序 的伪指令 等值指令EQU (Equate)