亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 雙字節(jié)二進(jìn)制無符號數(shù)除法的疑問 [打印本頁]

作者: 新鄉(xiāng)家電維修    時間: 2026-2-26 18:13
標(biāo)題: 雙字節(jié)二進(jìn)制無符號數(shù)除法的疑問
入口條件:被除數(shù)在R2、R3、R4、R5中,除數(shù)在R6、R7中。
出口信息:OV=0 時,雙字節(jié)商在R2、R3中,OV=1 時溢出。
影響資源:PSW、A、B、R1~R7 堆棧需求: 2字節(jié)

DIVD: CLR C ;比較被除數(shù)和除數(shù)
        MOV A,R3
        SUBB A,R7
        MOV A,R2
        SUBB A,R6
        JC DVD1
        SETB OV ;溢出
        RET
DVD1: MOV B,#10H ;計算雙字節(jié)商
DVD2: CLR C ;部分商和余數(shù)同時左移一位
        MOV A,R5
        RLC A
        MOV R5,A
        MOV A,R4
        RLC A
        MOV R4,A
        MOV A,R3
        RLC A
        MOV R3,A
        XCH A,R2
        RLC A
        XCH A,R2
        MOV F0,C ;保存溢出位
        CLR C
        SUBB A,R7 ;計算(R2R3-R6R7)
        MOV R1,A
        MOV A,R2
        SUBB A,R6
        ANL C,/F0 ;結(jié)果判斷
        JC DVD3
        MOV R2,A ;夠減,存放新的余數(shù)
        MOV A,R1
        MOV R3,A
        INC R5 ;商的低位置一
DVD3: DJNZ B,DVD2 ;計算完十六位商(R4R5)
        MOV A,R4 ;將商移到R2R3中
        MOV R2,A
        MOV A,R5
        MOV R3,A
        CLR OV ;設(shè)立成功標(biāo)志
        RET
被除數(shù)這里是4位,為啥只比較R2/R3的值,和除數(shù)
4位被除數(shù)哪個是低位,如果只有兩位被除數(shù)咋辦,R4R5是低位嗎?


作者: 新鄉(xiāng)家電維修    時間: 2026-2-26 21:01
最后采用單片機(jī)自帶的硬件除法器計算,只保留整數(shù)
;用硬件16位除法器計算16位/16位
        MOV  P_SW2,#80h
        MOV  A,#2fh;被除數(shù)裝入2f99H
        MOV  DPTR,#MD1
        MOVX @DPTR,A
        MOV  A,#99H;
        MOV  DPTR,#MD0
        MOVX @DPTR,A

        MOV  A,ADC_RES;除數(shù)裝入
        MOV  DPTR,#MD5
        MOVX @DPTR,A
        MOV  A,ADC_RESL;
        MOV  DPTR,#MD4
        MOVX @DPTR,A

        MOV  A,#10100000B;16/16模式
        MOV  DPTR,#ARCON
        MOVX @DPTR,A
        MOV  A,#00000001B;開始計算
        MOV  DPTR,#OPCON
        MOVX @DPTR,A
TTT:
        MOV  DPTR,#OPCON
        MOVX A,@DPTR
        ANL A,#01H
        JNZ TTT         ;不為0轉(zhuǎn)移,查詢

        MOV  DPTR,#MD1
        MOVX A,@DPTR
        MOV 35H,A
        MOV  DPTR,#MD0
        MOVX A,@DPTR
        MOV 34H,A
        MOV  P_SW2,#00h


        MOV A,35H;解壓成BCD碼供顯示驗(yàn)證
        SWAP A
        ANL A,#0FH
        MOV 33H,A
        MOV A,35H
        ANL A,#0FH
        MOV 32H,A

        MOV A,34H
        SWAP A
        ANL A,#0FH
        MOV 31H,A
        MOV A,34H
        ANL A,#0FH
        MOV 30H,A

        RET


結(jié)果正確,那就這樣吧,該帖結(jié)束!


作者: Hephaestus    時間: 2026-2-27 07:41
比較被除數(shù)的高位和除數(shù)就行了,很明顯MSB是R2最高位,LSB是R5最低位。
作者: coody_sz    時間: 2026-2-27 14:45
剛開始的數(shù)據(jù)比較是錯誤的。
應(yīng)該是先判斷除數(shù)非0,然后做移位減。
作者: 新鄉(xiāng)家電維修    時間: 2026-3-2 18:44
coody_sz 發(fā)表于 2026-2-27 14:45
剛開始的數(shù)據(jù)比較是錯誤的。
應(yīng)該是先判斷除數(shù)非0,然后做移位減。

我感覺也有問題,開始比較啥,只要不是0就行了唄,
假如被除數(shù)沒有除數(shù)大,結(jié)果都是余數(shù)不就行了
另外這程序比較被除數(shù)最高兩位,,明顯漏洞,如果被除數(shù)只有2字節(jié)呢
作者: Y_G_G    時間: 2026-3-2 22:18
我2018年就來到這個論壇了,那時候我還是用了幾年的匯編,很慶幸,2020年開始放棄匯編轉(zhuǎn)C了,用了C才后悔沒有早點(diǎn)放棄匯編
個人感覺,匯編,特別是8051這種匯編,能看明白就行了,還得是C呀
作者: 人中狼    時間: 2026-3-3 08:38
代碼注釋已經(jīng)寫得很清楚了,R2、R3是被除數(shù),R4、R5是商,從比較被除數(shù)和除數(shù)大小也可以看出R2是高位




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1