博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
看看我写汇编程序的一些原则
阅读量:3515 次
发布时间:2019-05-20

本文共 494 字,大约阅读时间需要 1 分钟。

2006-05-20 16:18:16
字体变小
字体变大

系统寄存器:

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--
如果变量或参数超过4个时,则超出的从10H~1FH分配
子程序返回值:
返回bit型,保存在C中
返回byte型,保存在R7中
返回word型,保存在(R6,R7)中
IRAM内存分配:
00~07:工作寄存器
08~0F:快中断专用
10~1F:存储器变量和函数参数
20~2F:bit、bdata
30~FF:全局变量、栈、堆
以上只是我写汇编程序的部分原则,相对来说比较合理。而楼主的参数传递方法与此大相径庭,无法兼容。

转载地址:http://amjqj.baihongyu.com/

你可能感兴趣的文章
[LeetCode javaScript] 824. 山羊拉丁文
查看>>
[LeetCode javaScript] 463. 岛屿的周长
查看>>
[LeetCode javaScript] 107. 二叉树的层次遍历 II
查看>>
[LeetCode javaScript] 637. 二叉树的层平均值
查看>>
[LeetCode javaScript] 1. 两数之和
查看>>
[LeetCode javaScript] 14. 最长公共前缀
查看>>
[LeetCode javaScript] 26. 删除排序数组中的重复项
查看>>
[LeetCode javaScript] 8. 字符串转换整数 (atoi)
查看>>
[LeetCode javaScript] 28. 实现strStr()
查看>>
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:25
查看>>
前端网页学习7(css背景属性)
查看>>
前端网页学习8(css三大特性:层叠性,继承性,优先级)
查看>>
前端网页学习9(css盒子)
查看>>
python学习8(列表)
查看>>
JavaScript学习(new1)
查看>>
http GET 和 POST 请求的优缺点、区别以及误区
查看>>
JVM的4种垃圾回收算法、垃圾回收机制
查看>>
什么是分布式事务
查看>>
常用的分布式事务解决方案
查看>>
设计模式:单例模式 (关于饿汉式和懒汉式)
查看>>