求三字节的十六进制除以一字节的十六进制数的商和余数

lbkbox 2006-12-25 03:20:20
求三字节的十六进制除以一字节的十六进制数的商和余数
要求是汇编的,答对才,立即给分!!!谢谢
...全文
347 14 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
我们没有义务给你源码!

你没给我钱!

给你全思路吧....

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧