51汇编程序编写的一些原则

本文深入探讨了ARM处理器中系统寄存器的作用与特性,包括累加器、乘除运算暂存器、进位标志位累加器、数据指针、程序计数器、程序状态字等,并详细阐述了寄存器变量和寄存器参数的分配规则。同时,文章介绍了IRAM内存的分配策略,包括工作寄存器、快中断专用区、存储器变量和函数参数区等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统寄存器:
    A:累加器
    B:乘除运算/暂存
    C:进位标志/位累加器
    DPTR:16位数据指针,访问ROM/XRAM
    PC:程序计数器
    PSW:程序状态字
    R0:8位数据指针,访问IRAM
    R1:IRAM堆指针,可用来分配IRAM局部数组
    R2,R3:XRAM堆指针,可用来分配XRAM局部数组
    SP:栈指针
    A、B、C、DPTR、R0、PSW等是自动的,除了ISR外,不必入栈保护
寄存器变量和寄存器参数:
    在子程序调用过程中可以使用R4~R7这4个寄存器作为变量或参数
    寄存器变量按照R4-->R7的顺序分配
    寄存器参数按照R7-->R4的顺序分配
    如果变量或参数超过4个时,则超出的从10H~1FH分配
子程序返回值:
    返回bit型,保存在C中
    返回byte型,保存在R7中
    返回word型,保存在(R6,R7)中
IRAM内存分配:
    00~07:工作寄存器
    08~0F:快中断专用
    10~1F:存储器变量和函数参数
    20~2F:bit、bdata
    30~FF:全局变量、栈、堆


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值