⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 div22.asm

📁 通过调试的有用的单片机控制程序
💻 ASM
字号:
;多字节移位相减,商加1的算法。
;主要注意的地方是移位后,其值的比较
;***********************************
DIV22CL   DATA    41H           ;除数低字节
DIV22CH   DATA    40H           ;除数高字节
DIV22BCL        DATA    43H     ;被除数低字节
DIV22BCH        DATA    42H     ;被除数高字节
DIVYUSHUL       DATA    45H     ;余数低字节
DIVYUSHUH       DATA    44H     ;余数高字节
DIV22SHANGL     DATA    47H     ;商低字节
DIV22SHANGH     DATA    46H     ;商高字节
YIWEICOUNT      EQU     16      ;位数
ORG     0000H
DIV22:  MOV     SP,#67H
        MOV     A,#0            ;初始化单元
        MOV     DIVYUSHUL,A
        MOV     DIVYUSHUH,A
        MOV     DIV22SHANGL,A
        MOV     DIV22SHANGH,A
        MOV     A,DIV22BCH      ;判断益处
        SUBB    A,DIV22CH
        JNC     DIVS 
        SETB    OV
        AJMP    DIVEXIT       
DIVS:   MOV     R6,#YIWEICOUNT  ;
DIVSTR: CLR     C               ;商的算法
        MOV     A,DIV22SHANGL
        RLC     A
        MOV     DIV22SHANGL,A
        MOV     A,DIV22SHANGH
        RLC     A
        MOV     DIV22SHANGH,A
        CLR     C               ;移位判断
        MOV     A,DIV22BCL
        RLC     A
        MOV     DIV22BCL,A
        MOV     A,DIV22BCH
        RLC     A
        MOV     DIV22BCH,A
        MOV     A,DIVYUSHUL
        RLC     A
        MOV     DIVYUSHUL,A
        MOV     A,DIVYUSHUH
        RLC     A
        MOV     DIVYUSHUH,A
        SUBB    A,DIV22CH
        JC      LOOP            ;判断算法:高字节-高字节=负数吗?是则进行下次循环
        CLR     C
        MOV     DIVYUSHUH,A
        INC     DIV22SHANGL        
        MOV     A,DIVYUSHUL
        SUBB    A,DIV22CL
        MOV     DIVYUSHUL,A     
        JNC     LOOP            ;低字节是否要借位,是则余数减1        
        DEC     DIVYUSHUH
LOOP:   DJNZ    R6,DIVSTR
DIVEXIT: SJMP    $
         END
        
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -