电子与信息工程学院
单片机原理及应用
第四章 单片机汇编语言程序设计
dada
哈尔滨工业大学
电子与信息工程学院
2015 .春季学期
2015/1/11
1
单
片
机
汇
编
语
言
程
序
设
计
单片机汇编语言程序设计
【
学
习
目
的
和
要
求
】
了解汇编语言程序设计中的顺序结构、
分支结构、循环结构程序和子程序的
设计方法
掌握代码转换和算术运算程序的基
本编程方法和一些常用的子程序段
正确地使用80C51指令编制汇编语
言程序
7.1 汇编语言程序设计方法
7.2 代码转换类程序
7.3 运算类程序
单
片
机
汇
编
语
言
程
序
设
计
补充知识
数制与码制
数制及其互换
数制 基数 字符
二进制 2 01 (B)
十进制 10 0123456789 (D)
十六进制 16 012345678 9 ABCDEF(H)
单
片
机
汇
编
语
言
程
序
设
计
补充知识
数制与码制
浮点数
定点数
无符号数
有符号数
无符号数的表示方法
不需要专门的符号位,8位二进制数的D7~D0位均为数值位
表示范围为0~255,即00H~FFH
有符号数的表示方法
一般规定最高位是符号位
8位二进制数可表达的数据位为D6~D0位
符号位为0表示正数,符号位为1表示负数
有三种表示方法:
(1)原码
(2)反码 (3)补码
正数,符号位为0
负数,符号位为1
正数,反码与原码相同;
负数,反码除符号位为1
外,其它各位取反
正数,补码与反码和
原码相同;
负数,补码为反码加1
单
片
机
汇
编
语
言
程
序
设
计
补充知识
不同表达方式下的数据对应关系
8位二进制数不同表达方式下对应的十进制数值
16进制数 8位二进制数 无符号数 原码
+0
+1
+2
…
00000000
00000001
00000010
00H
01H
02H
…
0
1
2
…
126
127
128
129
130
…
253
254
255
+126
+127
-0
-1
-2
…
-125
-126
-127
反码
+0
+1
+2
…
+126
+127
-127
-126
-125
…
-2
-1
-0
补码
+0
+1
+2
…
+126
+127
-128
-127
-126
…
-3
-2
-1
单
片
机
汇
编
语
言
程
序
设
计
…
7EH
7FH
80H
81H
82H
…
FDH
FEH
FFH
01111110
01111111
10000000
10000001
10000010
…
11111101
11111110
11111111
补充知识
计算机中的二进制数所对应的十进制数是多少,首先要确定是有符号
数还是无符号数;若为有符号数确定是用原码、反码还是补码表示的。
计算机只能识别机器码0、1,采用什么表达方式是编程者自己确定的。
单片机本身并不能识别所处理的数是否为有符号数,因而只要有加减
操作,PSW中的OV位一律按照它是有符号数的规定变化,只是当操
作数是无符号数时,不必理睬OV位的变化
计算机中通常用补码表示有符号数,补码运算的结果仍为补码。
8位二进制补码表示范围:
80H
-128
81H
-127
…
…
FFH
-1
0
0
01H
1
…
…
7FH
127
单
片
机
汇
编
语
言
程
序
设
计
单
片
机
汇
编
语
言
程
序
设
计
补充知识
编码
计算机中数以及数以外的其它信息(如字符或
字符串)要用二进制代码来表示。这些二进制代码
称为二进制编码。
一、字符的二进制编码----ASCII码
常用字符的ASCII码
字符
0
1
2
∶
9
ASCII
码
30H
31H
32H
∶
39H
字符
A
B
C
∶
Z
ASCII
码
41H
42H
43H
∶
5AH
字符
a
b
c
∶
z
ASCII
码
61H
62H
63H
∶
7AH
字符
ASCII码
SP(空格)
CR(回车)
LF(换行)
BEL(响铃)
BS(退格)
20H
0DH
0AH
07H
08H