本帖最后由 HYqs 于 2024-7-2 22:35 编辑
第十集 汇编语言程序设计的一般步骤和基本框架
程序是指令的有序集合。编写一个功能完善的、完整的程序,正确性是最主要的,但整个程序占内存的空间大小、每条指令的功能、长度执行速度等都要考虑,尽可能使其优化个完善的系统设计应该具有设计方案正确、程序结构规范等基本性质,这不仅给程序的设计和调试带来方便,加速调试过程,而且有益于程序的维护和升级。
$NOMOD51 $INCLUDE (STC8H.H) ; 包含STC8H系列单片机的头文件 ; ...这里可以编写程序中用到的一些符号定义(使用EQU、DATA、BIT等伪指令)
ORG 0000H ; 程序开始地址为0000H
START: LJMP MAIN ; 跳转到主程序 ORG 0003H ; 下一个地址为0003H LJMP INTO_ISR ; 跳转到外部中断0入口
ORG 000BH ; 下一个地址为000BH LJMP TO_ISR ; 跳转到定时器0中断入口
ORG 0013H ; 下一个地址为0013H LJMP INT1_ISR ; 跳转到外部中断1入口
ORG 001BH ; 下一个地址为001BH LJMP T1_ISR ; 跳转到定时器1中断入口
ORG 0023H ; 下一个地址为0023H LJMP UART1_ISR ; 跳转到串口1中断入口 ORG 0200H MAIN: MOV SP, #80H ;设置堆栈指针(可根据实际情况进行修改) …… ;初始化内存区域内容 …… ;设置有关特殊功能寄存器(SFR)的控制字 …… ;根据需要开放相应的中断控制 MAINLOOP: ;主程序循环 LJMP MAINLOOP ;外部中断0服务子程序 INT0_ISR: …… ;根据需要填入适当的内容 RETI ;外部中断1服务子程序 INT1_ISR: …… ;根据需要填入适当的内容 RETI ;INT2中断服务子程序 INT2_ISR: …… ;根据需要填入适当的内容 RETI ;下面可以编写其他子程序或者定义程序中所用的常数 END
|