记录:从零用汇编学习单片机 1.2.1 片内拼字程序设计

欢迎在评论区提出宝贵意见!

设计要求:将片内RAM30H单元中的低位和40H单元中的低位拼成一个数据,存放在50H单元中

汇编源码:

;片内拼字程序设计
;设计要求:将片内RAM30H单元中的低位和40H单元中的低位拼成一个数据,存放在50H单元中
	ORG  00H
	MOV  30H,#56H		;给30H和40H赋值
	MOV  40H,#43H
	MOV  A,30H			;取30H送A
	ANL  A,#0FH			;屏蔽高位
	MOV  50H,A			;低位送50H
	MOV  A,40H			;取40H送A
	ANL  A,#0FH			;屏蔽高位
	SWAP A				;A高低位互换
	ORL  A,50H			;A与50H相或
	MOV  50H,A			;结果送50H
	END

C语言源码:

/*
片内拼字程序设计
设计要求:将片内RAM30H单元中的低位和40H单元中的低位拼成一个数据,存放在50H单元中
*/
#include 
#include 
#define uchar unsigned char
void main(void)
{
	uchar a,b;
	DBYTE[0X30]=0X56;				//给0x30赋值
	DBYTE[0X40]=0X43;				//给0x40赋值
	a=DBYTE[0X30]&0x0F;				//取0x30单元低4位
	b=DBYTE[0X40]&0x0F;				//取0x40单元低4位
	b=b<<4;							//将0x40单元低4位移位后变成高4位
	DBYTE[0x50]=a|b;				//拼字
	while(1);
}

Proteus8.0 仿真
记录:从零用汇编学习单片机 1.2.1 片内拼字程序设计_第1张图片
记录:从零用汇编学习单片机 1.2.1 片内拼字程序设计_第2张图片程序运行完成后,30H中的内容为56H,40H中的内容为43H,50H中的内容为36H,如图所示。

你可能感兴趣的:(51单片机学习,51单片机,汇编,C语言)