算术运算程序设计.pptx
单片机原理与接口技术建设线上线下混合金课、系统打造一流课堂
汇编语言程序设计北京石油化工学院曹建树jianshu@bipt.edu.cnQQ:2245682503北京石油化工学院
例20:用程序实现,设a、b、c分别存于内部RAM的30H、31H、32H单元。主程序:STAR: MOVA,30H ACALLSQR ;调用查表子程序 MOVR1,A ;暂存R1中 MOVA,31H ACALLSQR;调查表子程序 ADDA,R1 ;平方和存A中 MOV32H,A SJMP$;等待子程序:SQR: INCA ;加RET占的一个字节 MOVCA,@A+PC;查平方表 RETTAB: DB0,1,4,9,16,DB25,36,49,64,81 END算术运算程序设计
单片机汇编语言程序设计的基本特点单片机汇编语言程序的基本框架与通用微机有所不同,原因是:一般没有可以直接利用的监控程序,更没有操作系统,系统启动、监控程序需要自己编写;没有像通用微机系统那样,可以直接调用系统提高的中断功能(BIOS中断、DOS中断)或Windows的API函数完成对硬件等系统资源的操控,所有子程序(如键盘输入、显示驱动、中断服务程序等)都需要自己编写。算术运算程序设计
MCS-51单片机汇编程序整体结构一般由主程序、完成特定操作功能的多个子程序及中断服务程序等部分构成。其基本结构如下:程序头,定义变量和等值符号等 SCL BIT P1.2 BYTECONDATA30H …….. ORG000;CPU复位后第一条指令机器码的存放地址LJMPMain ;一般第一条指令是跳转指令,跳到主程序入口地址,主程序不能直接放在复位后PC指向的存储单元,因为这一区域是中断服务程序的入口地址,不能覆盖。主程序ORGyyyymain:MOVSP,#5PH ;初始化有关寄存器,如设置SP、选择工作寄存器组、中断控制寄存器等 ……. ;主程序实体 LCALLSUB1 ;调用子程序1 …….. 子程序结构 ORGzzzz ;子程序代码存放的首地址,可以不用ORG指令,将子程序直接放在主程序后面SUNB1:PUSHPSW PUSHA ;保护现场 …….. ;子程序实体 POPA POPPSW ;恢复现场 RET ;恢复断点,返回父程序
MCS-51单片机汇编程序整体结构中断服务程序结构ORGkkkk ;中断服务程序代码存放首地址 PUSHPSW PUSHA ;保护现场 …….. ;中断服务程序实体 POPA POPPSW ;恢复现场 RETI ;恢复断点,返回父程序END ;汇编程序结束标志
启迪智慧思维创造精彩人生建设线上线下混合金课、系统打造一流课堂