- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
舒汇编语言程唇没诜
4.1概述
4.2简单程序
4.3分支程序
4.4循环程序
4.5查表程序
46子程序的设计及调用
4.7程序设计举例
下页
4.1概述
、江编语言和高级语言相比具有下列优点」
①占用的内存单元和CPU资源少
②执行速度快
如:输出操作
有效的利用计算机的专有特性。MOVP1,A
④适合实时控制
(可计算程序运行时间
回目录上页下灾
、汇编语言程序设计的步骤:
①建立数学模型
②确定算法
③制定流程图
④确定数据结构
⑤写出源程序
⑥上机调试
汇编语言程序的结构
①定义有关字符名
②定义程序的起始地址
③程序主体
④汇编结束标志
回目录上页下灾
例1:内部RAM从DATA1单元有一数据块,存放若干无符号数,
第一单元为数据块长度,求这些无符号数之和
ORG 2000H
起始地址
START:MOR0,#DATA1;首址送R0
MoⅴR1,DATA1;长度送R1
CNE R1,#0,NEXT;检查长度是否为零
为零则结束
标号
HERE: S MP S
NEXT: CER A
;不为零则开始运算
LOOP: INC RO
注释
ADDA, RO
;加一个数
DNZR,LOOP;长度减1不为零则转移
MOV SUM.A
;存和
SJMP HERE
程序主体
DATAI DATA 20H
SUM DATA 1FH
汇编结東标志
END
回目录上页下页
四、评价程序质量的标准:
①程序的执行时间
时1概
②程序所占用的内存字节数目空念
③程序的逻辑性、可读性
④程序的兼容性、可扩展性
程序的可靠性
回目录上页下灾
42简单程序
简单程序的特点:
既无分支,又无循环,按照顺序执行
可完成一定的基本功能,是编写复杂程序的基础
例4-2:将一个字节内的两个BCD码拆开并变成ASCI码,
存入两个RAM单元。BCD码放在内RAM的20H,
转换后高半字节放到21H,低字节放22H。
方法1:BCD码0~9对应的ASCⅢ码为30H~39H
RAM
转换时,将20H中的BCD码拆开,20H| BCDH BCDL
高四位置为“0011”即可
ASCI码
21H0011cDH
22H 10011 BCDL
回目录上页下灾
程序:
ORG 1000H
MOVR0.#22H:R0←22H
MOv@R0,#;22H←0
0011 BCDH
MOVA,20H;两个BCD数送A
XCHD A,@R0;BCDL数送22H
RAM
ORL22H,#30H;完成转换
2OH BCDH BCDL
SWAP A
;BCDH数送A的低4位21H[0011BCDJ
ORLA,#30H;完成转换@R0—22H0011BcDL
MOv21H,A;存数
SJMP S
;原地踏步,相当与停机
END
回目录上页下灾
方法1小结
以上程序用了8条指令,15个内存字节,执行时间为9个
机器周期。
方法2
采用除10H取余法将两个BCD数拆开
A「 BCDH bBCDL
DIVAR A0000 BCDH
B|0001000
B|0000c
A
ORL , #30H
B
回目录上页下灾
程序:
oRG 1000H
MOVA,20H取BCD码至A
MOV B, #10H
DIV AB
;除10H取余,使BCDH-、BCDL→B
ORLB,#30H;完成转换
RAM
MOV22H,B;存ASCI码
20H BCDH BCD
210011BcD
ORLA,#30H;完成转换
22H[0011 ECDL
MO21H,A;存ASCI码
S BCDH BCDL DIV AB All 0011 BCDH
END
B[00100
Bl 0011 BCDL
回目录上页下灾
方法2小结
以上程序用了7条指令,
16个内存字节,
执行时间为13个机器周期。
例43:
双字节求补
设:两个字节原码数存在R1、R0中
求补后结果,存在R3、R2中
方法:
U
求补采用“模原码”的方法·)□[R原码
即用“0”去减“原码”
R3
R2
回目录上页下页
文档评论(0)