- 打卡等级:常住居民II
- 打卡总天数:95
- 最近打卡:2024-12-27 09:22:39
金牌会员
- 积分
- 1919

|
发表于 2023-3-30 17:46:45
|
显示全部楼层
本帖最后由 zxy 于 2023-3-30 17:56 编辑
本测试程序在主程序中调用外部TEST子程序,该子程序传递三个参数,0x1234,0x5678,0x90
测试例程可以C51中调用汇编程,在汇编中将数据保存到数据区100开始处:分别为12,34,56,78,90
C51中的源程序:
#include "reg51.h" //包含此头文件后,里面声明的寄存器不需要再手动输入,避免重复定义
#include "intrins.h"
extern void TEST(unsigned int a,unsigned int b,unsigned char c);
main()
{
TEST(0x1234,0x5678,0x90);
while(1);
}
汇编程序:
NAME DELAY
?PR?_TEST?DELAY SEGMENT CODE
PUBLIC _TEST
RSEG ?PR?_TEST?DELAY
_TEST:
MOV R0,#100
MOV A,R6
MOV @R0,A
INC R0
MOV A,R7
MOV @R0,A
INC R0
MOV A,R4
MOV @R0,A
INC R0
MOV A,R5
MOV @R0,A
INC R0
MOV A,R3
MOV @R0,A
INC R0
RET
END
|
|