51单片机(汇编)怎么实现双字节除以单字节的除法运算,求程序带注释,谢谢!
4个回答
展开全部
; / *** *** *** *** *** /
JTYA0 EQU 50H
JTYA1 EQU 51H
JTYA2 EQU 52H
JTYA3 EQU 53H
JTYA4 EQU 54H
JTYA5 EQU 55H
JTYA6 EQU 56H
JTYA7 EQU 57H
; / *** *** *** *** *** / 2/1=2字节除法
; / *** *** *** *** *** /
; JTYA5 JTYA4 / JTYA3 = JTYA1 JTYA0
PCHD50: MOV JTYA6, #00H ; 清零
MOV JTYA1, #00H
MOV JTYA0, #00H
PCHD52: MOV R3, #10H ; 2 字节
PCHD53: CLR C ; = xx 左移
MOV A, JTYA0
RLC A
MOV JTYA0, A
MOV A, JTYA1
RLC A
MOV JTYA1, A
MOV A, JTYA4 ; xx / 左移
RLC A
MOV JTYA4, A
MOV A, JTYA5
RLC A
MOV JTYA5, A
MOV A, JTYA6
RLC A
MOV JTYA6, A
CJNE A, JTYA3, PCHD55
PCHD55: JC PCHD58
MOV A, JTYA6 ; = xx
SUBB A, JTYA3 ; / x
MOV JTYA6, A
MOV A, JTYA0
ADD A, #01H
MOV JTYA0, A
MOV A, JTYA1
ADDC A, #00H
MOV JTYA1, A
PCHD58: DJNZ R3, PCHD53
RET
JTYA0 EQU 50H
JTYA1 EQU 51H
JTYA2 EQU 52H
JTYA3 EQU 53H
JTYA4 EQU 54H
JTYA5 EQU 55H
JTYA6 EQU 56H
JTYA7 EQU 57H
; / *** *** *** *** *** / 2/1=2字节除法
; / *** *** *** *** *** /
; JTYA5 JTYA4 / JTYA3 = JTYA1 JTYA0
PCHD50: MOV JTYA6, #00H ; 清零
MOV JTYA1, #00H
MOV JTYA0, #00H
PCHD52: MOV R3, #10H ; 2 字节
PCHD53: CLR C ; = xx 左移
MOV A, JTYA0
RLC A
MOV JTYA0, A
MOV A, JTYA1
RLC A
MOV JTYA1, A
MOV A, JTYA4 ; xx / 左移
RLC A
MOV JTYA4, A
MOV A, JTYA5
RLC A
MOV JTYA5, A
MOV A, JTYA6
RLC A
MOV JTYA6, A
CJNE A, JTYA3, PCHD55
PCHD55: JC PCHD58
MOV A, JTYA6 ; = xx
SUBB A, JTYA3 ; / x
MOV JTYA6, A
MOV A, JTYA0
ADD A, #01H
MOV JTYA0, A
MOV A, JTYA1
ADDC A, #00H
MOV JTYA1, A
PCHD58: DJNZ R3, PCHD53
RET
展开全部
连续的使用减法,即可求出:被除数中,含有多少个除数。
商,就是减法的次数。
我的百度空间里面,有现成的程序。
商,就是减法的次数。
我的百度空间里面,有现成的程序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-24
展开全部
兄弟就算给你个程序但是你自己不会,不理解有什么用,你要是真的喜欢单片机就该自己学着编程序,一点一点积累,网上有很多多字节除法的说明方法可以看看的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询