您所在位置: 网站首页 / 第4章 汇编语言程序设计.ppt / 文档详情
第4章 汇编语言程序设计.ppt 立即下载
2024-08-16
约5.3千字
约44页
0
443KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

第4章 汇编语言程序设计.ppt

第4章汇编语言程序设计.ppt

预览

免费试读已结束,剩余 39 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章汇编语言程序设计顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序逐条依次执行,直到程序结束。这是程序的最基本的形式,任何程序都离不开这种形式。例1:ORG	0000H
			LJMP	START
	START:MOV	A,20H;将20H单元中的数据取
到A中
			ANL	A,#0FH;得到低4位
			MOV	21H,A;存入21H单元
			MOV	A,20H;再将原数送A
			SWAP	A	;A中高低半字节交换
			ANL	A,#0FH;得到低半字节
			MOV	22H,A;将拆开的高半字节存
22H单元
			SJMP	$	;用于调试程序,表示程
序结束	例2:将内部RAM40H单元中的一压缩BCD数转换
为二进制数,存入41H中。MOV	A,40H	;将BCD数的十位放A的低4位
SWAP	A
ANL	A,#0FH
MOV	B,#10
MUL	AB			;十位乘以10
ANL	40H,#0FH	;将BCD数的个位保留在
40H单元中
ADD	A,40H		;十位×10加个位
MOV	41H,A
RET4.3分支结构的程序1.无条件转移
它的程序转移方向是设计者事先安排的,与已执行程序的结果无关,使用时只需给出正确的转移目标地址或偏移量即可,如:
			ORG	0000H
LJMP	MAIN
				···
			ORG		0030H
		MAIN:	···
				···2.条件转移
它是根据已执行程序对标志位或累加器或对内部RAM某位的影响结果,决定程序的走向,形成各种分支。在编写有条件转移语句时要特别注意以下两点:
(1)在使用条件指令形成分支前,一定要安排可供条件转移指令进行判别的条件。如若采用“JCrel”指令,在执行前必须使用影响C标志的指令;若采用“CJNEA,#data,rel”指令,在执行此程序前必须使用改变累加器A内容的指令,以便为测试准备条件。
(2)要正确选定所用的转移条件和转移目标地址。3.散转
它是根据某种已输入的或运算的结果,使程序转向各个处理程序中去。MCS-51单片机具有一条专门的散转指令JMP@A+DPTR,散转指令的操作是把16位数据指针DPTR的内容与累加器A中的8位无符号数相加,形成地址,装入程序计数器PC,即散转的目的地址。
【例4.3】编制程序使y按下式赋值:
VAR	EQU		30H
		FUNC	EQU		31H
START:	MOV		A,VAR	;取x
		JZ		COMP	;为0转COMP
		JNB		ACC.7,POSI;>0转POSI
		MOV		A,#0FFH	;<0,-1A
		SJMP	COMP
		POSI:	MOV		A,#01H
		COMP:	MOV		FUNC,A
				RET在片内RAM40和50H单元开始各存放有一个双字节数(高8位在偶地址)无符号数,编程比较其大小,把xiao数送片内RAM70H、71H单元。散转程序设计举例

散转指令的操作是把16位数据指针DPTR的内容与累加器A中的8位无符号数相加,形成地址,装入程序计数器PC,即散转的目的地址。
散转程序的设计可采用下面两种方法:
(1)数据指针DPTR固定,根据累加器A的内容,程序转入相应的分支程序中去。
(2)累加器A清零,根据数据指针DPTR的值,决定程序转向的目的地址。DPTR的值可以用查表或其他方法获得。例4-4设计128路分支的转移程序。设128个出口地
址分别为:subrut00、subrut01、···、subrut7F;
要转移的出口信息放在工作寄存器R3中。注意出口信
息是0~127之间的整数。由于AJMP指令为两个字节指令,整个入口地址表占用256字节。每两条相邻AJMP指令的首址相差两个字节,因此在第二条指令中将出口信息乘以2,可正确实现查表与转移。该程序要求128个转移目的地址(subrut00~subrut7F)必须驻留在与绝对转移指令AJMP同一个2KB存储区内。如果各个转移小程序较长,超过2K字节,应改用LJMP指令,目的地址可以任意安排在64K字节空间的程序存储器空间内,但程序应作相应的修改。(2)利用转向地址表实现转移
这种方法将转移地址列成表格,将表格的内容作为转
移的目标地址。
【例】根据R3(0~n)的内容转向对应的程序;处理程序的入口符号地址分别为PR0~PRn(n<256)
【分析】
将PR0~PRn入口地址列在表格中,每一项占两个单元;
PRn在表中的偏移量为2n,因此将R3的内容乘“2”即得PRn在表中的偏移地址;
从偏移地址2n和2n+1两个单元分别取出PRn的高8位地址和低8位地址送DPTR寄存器,用JMP@A+DPTR指令(A先清零)即转移到PRn入口执行。
				PR0		EQU		0110
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

第4章 汇编语言程序设计

文档大小:443KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用