搜索
bottom↓
回复: 12

51单片机大量不明寄存器!!!

[复制链接]

出0入0汤圆

发表于 2014-4-1 16:21:50 | 显示全部楼层 |阅读模式
在百度文库下了一个(51汇编实用子程序库)发现完全看不懂,粘贴出来大家看看:

;N 字节无符号数乘法程序 ([R0]*[R1])=([R0])
;入口:     R0,R1,M,N
;占用资源:     ACC,B,R2,R5,R6,R7,NCNT
;堆栈需求:     2 字节
;出口:     R0


NMULMN     :     MOV       A,M
ADD       A,R0
MOV       R5,A


XCH       A,R1
XCH       A,R5
ADD       A,N
XCH       A,R0
MOV       R6,A
MOV       B,M
MOV       NCNT,B NMLMN1     :     DEC       R0
DEC       R1
CLR       A
XCH       A,@R1
MOV       @R0,A
DJNZ     NCNT,NMLMN1 MOV       NCNT,B
NMLMN2     :     CLR       A
XCH       A,@R0
MOV       R2,A
MOV       A,R6
MOV       R0,A
MOV       A,R5
MOV       R1,A
MOV       R7,N
CLR       C NMLMN3     :     MOV       A,R2
MOV       B,@R1
INC       R1
MUL       AB
ADDC     A,@R0
MOV       @R0,A
INC       R0
MOV       A,B
ADDC     A,@R0
MOV       @R0,A DJNZ     R7,NMLMN3 INC       R0
INC       R6
DJNZ     NCNT,NMLMN2 MOV       A,R0
CLR       C
SUBB     A,M
SUBB     A,N
MOV       R0,A
RET
占用资源:     ACC,B,R2,R5,R6,R7,NCNT;ncnt是神马?


;N 字节无符号除法程序(组合) ([R0]/[R1])=([R0])
;入口:     R0,R1,M,N
;占用资源:     ACC,R2,R3,R4,R5,R7,NCNT,F0,NADDN,NSUBBN,NRLCN
;堆栈需求:     4 字节
;出口:     R0


;NDIVMN     :     MOV       A,M CLR       C


SUBB     A,N
MOV       NCNT,A
ADD       A,R0
MOV       R4,A
XCH       A,R0
MOV       R3,A
MOV       A,R1
MOV       R5,A
MOV       R2,#00H NDVMN1     :     MOV       R7,N
LCALL   NSUBN MOV       A,R5
MOV       R1,A
JC         NDVMN2
INC       R2
SJMP     NDVMN1 NDVMN2     :     MOV       R7,N
LCALL   NADDN MOV       A,NCNT
SWAP     A
RR         A
MOV       NCNT,A NDVMN3     :     MOV       A,R3
MOV       R0,A
MOV       R7,M LCALL   NRLCN MOV       F0,C
MOV       A,R4
MOV       R0,A
MOV       A,R5
MOV       R1,A
MOV       R7,N LCALL   NSUBN
JB         F0,NDVMN4
JC         NDVMN5 NDVMN4     :     MOV       A,R3
MOV       R0,A
INC       @R0 SJMP     NDVMN6
NDVMN5     :     MOV       A,R5
MOV       R1,A
MOV       R7,N LCALL   NADDN
NDVMN6     :     DJNZ     NCNT,NDVMN3 MOV       A,R4
MOV       R1,A
MOV       A,R2
MOV       @R1,A

MOV       A,R3
MOV       R0,A
RET
占用资源:     ACC,R2,R3,R4,R5,R7,NCNT,F0,NADDN,NSUBBN,NRLCN;这些又是神马?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-4-1 16:39:56 | 显示全部楼层
LZ没整过汇编,也没学过单片机原理?

出0入0汤圆

发表于 2014-4-1 16:43:38 | 显示全部楼层
貌似程序不全,像这些NADDN,NSUBBN,NRLCN真没见过,估计是定义语句你没贴上来

出0入0汤圆

发表于 2014-4-1 16:55:53 | 显示全部楼层
楼主,建议你那一本单片机最基础的书看看,里面有基本的描述的

出0入0汤圆

发表于 2014-4-1 17:06:46 | 显示全部楼层
第一程序不全,第二语句格式不对,有些地方该换行的没有换行, NADDN,NSUBBN,NRLCN 这几个是程序标号,也就是PC地址,程序标号后面是冒号,分号后面是注释;

出0入0汤圆

发表于 2014-4-1 18:48:45 | 显示全部楼层
资源:     ACC,R2,R3,R4,R5,R7,。。。

这些  找你的mcu课本,上面绝对有解释。。。。。

出0入0汤圆

 楼主| 发表于 2014-4-1 18:50:16 | 显示全部楼层
好吧,我想问的是好似标号的那几个东东,acc,b,r1,r2这些我是知道的.源程序全粘贴下来了,没有定义.

出0入0汤圆

发表于 2014-4-2 08:05:15 | 显示全部楼层
NADDN,NSUBBN,NRLCN 这几个是程序标号肯定是经过宏定义的

出0入10汤圆

发表于 2014-4-2 09:51:58 | 显示全部楼层
那些不认识的,应该是程序开头用伪操作定义过的吧,要么人家程序前面定义没贴出来,要么你没贴全

出0入0汤圆

 楼主| 发表于 2014-5-14 17:47:03 来自手机 | 显示全部楼层
资料残缺,百度文库有些文档的质量很差,毕竟是免费的。

出0入4汤圆

发表于 2014-5-14 18:20:50 | 显示全部楼层
NADDN N-ADD-N
NSUBBN N-SUBB-N
NRLCN  N-RLC-N
这样看估计是标号
(修改错误)

出0入0汤圆

发表于 2014-5-16 11:04:57 来自手机 | 显示全部楼层
M是不是经过替换,没见过有M寄存器的啊

出0入0汤圆

发表于 2014-5-16 11:07:05 来自手机 | 显示全部楼层
A,B,R0-7这些寄存器比较常用,建议先学习汇编再学c
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表