社区
单片机/工控
帖子详情
求三字节的十六进制除以一字节的十六进制数的商和余数
lbkbox
2006-12-25 03:20:20
求三字节的十六进制除以一字节的十六进制数的商和余数
要求是汇编的,答对才,立即给分!!!谢谢
...全文
350
14
打赏
收藏
求三字节的十六进制除以一字节的十六进制数的商和余数
求三字节的十六进制除以一字节的十六进制数的商和余数 要求是汇编的,答对才,立即给分!!!谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MBWQ
2007-03-06
打赏
举报
回复
给一个双字节的和单字节的
;void _DIV2()
;调移位除法子程序
;入口:被除数:reg2 reg0 除数:A
;出口:商:reg2 reg0 余数:reg1
_DIV2:
BANK 2
MOV R_ACC5,A ;R_ACC5=A
CLR R_ACC ;R_ACC=0
CLR R_ACC1
CLR reg1 ;reg1=0
MOV A,@16 ;R_ACC4=8
MOV R_ACC4,A ;
_D2001: ;DO
bc status,c
RLC reg0 ;reg0<<=1+C
RLC reg2
RLC reg1 ;reg1<<=1+C
JBC status,c
JMP _I2001
MOV A,R_ACC5 ;IF reg1>=R_ACC5
SUB A,reg1 ;
JBS STATUS,C ;
JMP _I2000 ;
MOV A,R_ACC5 ;reg1-=R_ACC5
SUB reg1,A ;
_I2000: ;ENDIF
RLC R_ACC ;R_ACC<<=1+C
RLC R_ACC1
DJZ R_ACC4 ;WHILE --R_ACC4!=0
JMP _D2001 ;
MOV A,R_ACC1
MOV reg2,A
MOV A,R_ACC ;A=R_ACC
MOV reg0,A
RET ;RETURN
_I2001:
MOV A,R_ACC5 ;reg1-=R_ACC5
SUB reg1,A
bs status,c
JMP _I2000
;void _DIV()
;入口:被除数:reg0 除数:A
;出口:商:A 余数:reg1
_DIV:
BANK 2
MOV R_ACC5,A ;R_ACC5=A
CLR R_ACC ;R_ACC=0
CLR reg1 ;reg1=0
MOV A,@8 ;R_ACC4=8
MOV R_ACC4,A ;
_D001: ; DO
RLC reg0 ;reg0<<=1+C
RLC reg1 ;reg1<<=1+C
MOV A,R_ACC5 ;IF reg1>=R_ACC5
SUB A,reg1 ;
JBS STATUS,C ;
JMP _I000 ;
MOV A,R_ACC5 ;reg1-=R_ACC5
SUB reg1,A ;
_I000: ;ENDIF
RLC R_ACC ;R_ACC<<=1+C
DJZ R_ACC4 ;WHILE --R_ACC4!=0
JMP _D001 ;
MOV A,R_ACC ;A=R_ACC
RET ;RETURN
sanman888
2007-03-03
打赏
举报
回复
看来还是有好人啊,还是有人愿意帮助人提高啊
flowercity
2007-03-03
打赏
举报
回复
呵呵
Etual
2007-03-03
打赏
举报
回复
既然有了双字节除法的程序,就可以自己去改写4字节程序了
如果改写不出来,证明没有对除法原理理解好......
lbkbox
2007-03-02
打赏
举报
回复
谢谢楼上的, 双字节除单字节的我也有,因为工作的需要,51汇编我刚学,所以不太会变通。
xinxizheng
2007-01-07
打赏
举报
回复
呵呵,我给你个双字节除单字节的,不要吵了。但是要好好学习啊,除法就是很麻烦,这也是汇编难用的地方,什么都要自己编
;入口条件:被除数在R4、R5中,除数在R7中。
;出口信息:OV=0 时,单字节商在R3中,OV=1 时溢出。
;影响资源:PSW、A、R3~R7 堆栈需求: 2字节
D457: CLR C
MOV A,R4
SUBB A,R7
JC DV50
SETB OV ;商溢出
RET
DV50: MOV R6,#8 ;求平均值(R4R5/R7-→R3)
DV51: MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV F0,C
CLR C
SUBB A,R7
ANL C,/F0
JC DV52
MOV R4,A
DV52: CPL C
MOV A,R3
RLC A
MOV R3,A
DJNZ R6,DV51
MOV A,R4 ;四舍五入
ADD A,R4
JC DV53
SUBB A,R7
JC DV54
DV53: INC R3
DV54: CLR OV
RET
lbkbox
2006-12-31
打赏
举报
回复
你好象把自装扮成什么圣人似的,你少在我的贴子里说话了。
lbing7
2006-12-28
打赏
举报
回复
答问题是应该的,但是我不能害人!!
如果我什么都帮他做完了,之后他工作上或学习上
可能就出问题,那样不是帮它,而是害他
我相信用进废退学说的...
lbing7
2006-12-28
打赏
举报
回复
我宁愿不要你的分!
江南一书生
2006-12-28
打赏
举报
回复
要求是用哪种CPU的汇编指令集?Intel X86? 8051? ARM? MIPS? 其他?
shen_guang_wu
2006-12-28
打赏
举报
回复
好打击人哦,觉得我们在这里回答问题就是为了挣分数?
到现在为止我都不晓得分数有啥子用呢?
我个人认为这里是一个很好的技术交流平台,有时间同时我也知道一些的问题就回一下,呵呵
lbkbox
2006-12-27
打赏
举报
回复
谁给我源程序,我给分
lbing7
2006-12-25
打赏
举报
回复
用减法模拟除法...
lbing7
2006-12-25
打赏
举报
回复
我们没有义务给你源码!
你没给我钱!
给你全思路吧....
谭浩强c语言设计PPT学习教案.pptx
谭浩强c语言设计PPT学习教案.pptx
C语言学习PPTC语言学习PPTC语言学习PPTC语言学习
C语言学习PPTC语言学习PPTC语言学习PPTC语言学习PPTC语言学习PPTC语言学习PPTC语言学习PPT
c语言第二章PPT课件.pptx
c语言第二章PPT课件.pptx
C语言程序设计教程PPT学习教案.pptx
C语言程序设计教程PPT学习教案.pptx
十、二、八、
十六进制
间转换(包含负
数
间进制转换)原码、补码、反码定义
十、二、八、
十六进制
间转换(包含负
数
间进制转换) 0.0、有符号的 1
字节
表示范围。 我们知道 1
字节
(byte) = 8 位(bit)(即8位二进制,如:11111111)、1024个
字节
= 1 K 、1024 K = 1M 所以,一
字节
可以表示的范围就有 0 ~ 256 (无符号
数
),而有符号
数
表示的范围则是: -128 ~ 127 有符号
数
的表示范围应该是无异议的,但是无符号
数
的表示范围就有门道了,为什么负
数
会多表示一位呢? 正常来讲,1
字节
有八位,其中最左位表示正负(
单片机/工控
27,511
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章