下载此文档

汇编语言程序设计方法(二).ppt


文档分类:IT计算机 | 页数:约45页 举报非法文档有奖
1/ 45
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 45 下载此文档
文档列表 文档介绍
单片机常见汇编语言程序设计举例:
数制转换程序
算术和逻辑运算类程序设计
查表程序设计
子程序设计
定时程序
2-4 汇编语言程序设计方法(二)
1、数制转换
例1:将20H单元的两个压缩BCD码拆开变成ASCII码,存入21H、22H单元。(假设20H中的BCD码为00110100)
什么是BCD码?
什么是ASII码?
·
·
·
·
·
·
·
·
·
20H
21H
22H
A
B
0011
压缩BCD码
0011
0011
0100
低四位ASII码
高四位ASII码
方法1:将BCD码除以10H,恰好是将BCD码分别移到了A、B的低4位。然后再各自与30H相或,即成为ASCII码。
方法2:利用半字节交换指令来实现。
ORG 0000H
MOV A,20H
MOV B,#10H
DIV AB
ORL B,#30H
MOV 21H,B
ORL A,#30H
MOV 22H,A
SJMP $
END
开始
(20H)A
10HB
A/B (A中为高4位BCD码,B中为低4位BCD码)
B+30HB
B(22H)
A+30HA
A(21H)
结束
数制转换程序1---方法1
源程序如下:
·
·
·
·
·
·
·
·
·
20H
21H
22H
A
B
0011
0100
PC
PC
0011 0100
0001 0000
PC
0011
0000
0000 0100
PC
0011 0100
PC
PC
PC
0011
PC
ORG 0000H
MOV R0,#20H
MOV A,#30H
XCHD A,***@R0
MOV 21H,A
MOV A,***@R0
SWAP A
ANL A, #0FH
ORL A , #30H
MOV 22H, A
SJMP $
END
简单程序例1---方法2
开始
#20HR0
#30HA
A的低4位(20H)的低4位
A(21H)
(20H)A
A的低4位A的高4位
A(22H)
结束
A+30HA
PC
PC
PC
PC
PC
PC
PC
PC
源程序如下:
·
·
·
·
·
·
·
·
·
20H
21H
22H
A
R0
0011
0010 0000
0011
0100
0000
0100
0011
0100
0011
0000
0011
0000
0011
PC
0011
PC
BCD码十进制转换成二进制
例:假如在内部RAM40H单元中存储有一个压缩BCD编码的两位十进制数,设计一段程序把这个数转换成二进制数并存入41H单元中。
16
(40H)
余数
商为二进制的高四位
余为二进制的低四位
解题思路:
将高四位乘以0AH,再加上低四位即可。
程序清单
ORG 0000H
MOV A,40H
MOV B,#16
DIV AB
MOV 20H,B
MOV B,#0AH
MUL AB
ADD A,20H
MOV 41H,A
SJMP $
END
取出30H数据除以16,商A,余B
将十位数的二进制数加上个位数,结果41H
将十位数乘以0AH,其结果不会超过一个字节,在A中
算术和逻辑运算类程序设计
多字节BCD码十进制数相加 例:假如在MCS-51单片机内部RAM中30H~37H单元、 38H~3FH单元分别存放有两个8字节BCD码十进制数,设计一段程序将这两个数相加,并把结果存于2FH~37H单元中,小地址存数据的高字节。
解题思路:先清Cy位,把(37H)和(3FH)进行带Cy相加,在进行十进制调整,结果存于37H单元中;把(36H)和(3EH)进行带Cy相加,在进行十进制调整……循环至结束,结果把最高字节的Cy存入2FH单元。
流程与程序清单
ORG 0000H
MOV R2,#08H
MOV R0,#37H
MOV R1,#3FH
CLR C
LOP:MOV A,***@R0
ADDC A,***@R1
DA A
MOV ***@R0,A
DEC R0
DEC R1
DJNZ R2,LOP
CLR A
RLC A
MOV 2FH,A
SJMP $
END
设定循环次数,R0和R1分别指向加数和被加数的首地址
相加,并回存结果
开始
R037H(被加数首地址)
R13FH(加数首地址)
R208H(循环次数)
清Cy位
加数和被加数
相加,十进制
调整,并回存
Cy存入2FH单元
结束
调整数据指针
R0(R0)

汇编语言程序设计方法(二) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 45
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 一文千金
  • 文件大小 0 KB
  • 时间2012-02-23
最近更新