777|10

413

帖子

7

TA的资源

一粒金砂(高级)

楼主
 

51告别贴 [复制链接]

 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;       开根号   KAIGH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;入口:   (R5R4R3R2)
;出口:   (R7R6) =?
;使用:   ACC,R1,R2~R7 S4,S5
;位标志: C,F0
;子程序: RLCR76,RLCR52,RLCSR1

KAIGH:
CLR     A
MOV     R7,A
MOV     R6,A
MOV     R1,A
MOV     S4,A
MOV     S5,#10H
KAIGHL1:
ACALL   RLCR76          ;根左移1位
ACALL   RLCR52          ;
ACALL   RLCSR1          ;
ACALL   RLCR52          ;
ACALL   RLCSR1          ;数左移2位
JB      F0,KAIGHL3      ;最末时,F0=1肯定不够减
MOV     A,R1            ;
SETB    C               ;
SUBB    A,R6            ;
MOV     R1,A            ;
MOV     A,S4            ;数-(2*根+1)
SUBB    A,R7            ;
JNC     KAIGHL2         ;够减
MOV     A,R1            ;不够减
SETB    C               ;
ADDC    A,R6            ;
MOV     R1,A            ;恢复R1
SJMP    KAIGHL3
KAIGHL2:
MOV     S4,A            ;减结果给S4
INC     R6
INC     R6
KAIGHL3:
DJNZ    S5,KAIGHL1      ;
RRCR76:
MOV     C,F0            ;
MOV     A,R7            ;
RRC     A               ;
MOV     R7,A            ;
MOV     A,R6            ;
RRC     A               ;
MOV     R6,A            ;
RET

开方的算法,来源於县里初中老师,(耕)耘(老)夫 三个老师很有利:老练、锐利和晓莉

本人第一次看到编程就是那里的机房,可惜名额太少没混进去

开方整数算法类似除法,只不过需要每次移2位再减

 

SXP8v12j.ASM (305.97 KB, 下载次数: 1)

附上完整程序,本人拥有100%版权,代码可任意使用,不限教育和商业用途,毕竟用汇编的很少了
51不想再碰了,主要是开发方式和调试效率令人不爽。

想用便宜的也可以用RISC-V内核的
 

 

此帖出自51单片机论坛

最新回复

问题不是出在了51上,而是出在了汇编上,用C的51也还是可以的,记得上学那会讲的都是汇编,结果毕业设计让用C   详情 回复 发表于 2023-10-13 16:48
点赞(1) 关注(1)
 

回复
举报

1704

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

还以为告别什么嗯

各有各的用途,51还有很广阔的用途

此帖出自51单片机论坛
 
 
 

回复

1798

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

汇编现在的学校还教吗,面试闲聊中基本没遇到会的

此帖出自51单片机论坛

点评

会有一些小家电之类的用汇编 因为小小的ROM或FLASH塞不下代码,可能会混合编程吧 汇编编程的时代虽然过去了,但有时候为了优化还是会用的 至少用ARM MCU时候,有个.s,还有些嵌入汇编    详情 回复 发表于 2023-10-13 09:10
 
 
 

回复

704

帖子

0

TA的资源

纯净的硅(高级)

4
 

现在学51不都是用C吗,我记得当时我们开发就用的C,当时学汇编用的是飞思卡尔的单片机

此帖出自51单片机论坛

点评

当然是连C51一起告别了 当年写51汇编的时候,是因为还没有C  详情 回复 发表于 2023-10-13 09:02
 
 
 

回复

413

帖子

7

TA的资源

一粒金砂(高级)

5
 
本帖最后由 yubinwu 于 2023-10-13 15:06 编辑
极限零 发表于 2023-10-13 08:46 现在学51不都是用C吗,我记得当时我们开发就用的C,当时学汇编用的是飞思卡尔的单片机

当然是连C51一起告别了

当年写51汇编的时候,是因为还没有C 

(C51不是C,笔误)Franklin C,是Keil的前身

此帖出自51单片机论坛

点评

那可真是有年头了啊,大佬啊,果然论坛里面大佬多啊  详情 回复 发表于 2023-10-13 11:02
 
 
 

回复

413

帖子

7

TA的资源

一粒金砂(高级)

6
 
sint27 发表于 2023-10-13 08:35 汇编现在的学校还教吗,面试闲聊中基本没遇到会的

会有一些小家电之类的用汇编

因为小小的ROM或FLASH塞不下代码,可能会混合编程吧

汇编编程的时代虽然过去了,但有时候为了优化还是会用的

至少用ARM MCU时候,有个.s,还有些嵌入汇编

 

此帖出自51单片机论坛
 
 
 

回复

7193

帖子

2

TA的资源

版主

7
 

看来楼主是老工程师了,致敬!

此帖出自51单片机论坛

点评

客气了,叫我大雨吧,上有老  详情 回复 发表于 2023-10-13 09:56
 
 
 

回复

413

帖子

7

TA的资源

一粒金砂(高级)

8
 
wangerxian 发表于 2023-10-13 09:13 看来楼主是老工程师了,致敬!

客气了,叫我大雨吧,上有老

此帖出自51单片机论坛
 
 
 

回复

704

帖子

0

TA的资源

纯净的硅(高级)

9
 
yubinwu 发表于 2023-10-13 09:02 当然是连C51一起告别了 当年写51汇编的时候,是因为还没有C

那可真是有年头了啊,大佬啊,果然论坛里面大佬多啊

此帖出自51单片机论坛
 
 
 

回复

6105

帖子

4

TA的资源

版主

10
 
本帖最后由 damiaa 于 2023-10-13 11:09 编辑

如果是刚学单片机的玩一下汇编也是可以的。毕竟可以很细致的掌握各种寄存器,RAM,地址寄存器等等。

 

是不建议用它搞开发了,毕竟现在动不动就是nk的内存,跑个rtos都是经常的事。

 

这样搞下去估计以后动不动就是nG内存。。。跑定制linux 跑通用linux 。

此帖出自51单片机论坛
 
 
 

回复

6483

帖子

9

TA的资源

版主

11
 

问题不是出在了51上,而是出在了汇编上,用C的51也还是可以的,记得上学那会讲的都是汇编,结果毕业设计让用C

此帖出自51单片机论坛
 
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表