udiv10.s

来自「一些ARM的源程序」· S 代码 · 共 24 行

S
24
字号
# generated by divc 1.01 (Advanced RISC Machines) [01 Jul 92]

#       AREA |div10$code|, CODE, READONLY

        .GLOBAL udiv10

udiv10:
# takes argument in a1
# returns quotient in a1, remainder in a2
# cycles could be saved if only divide or remainder is required
        SUB     a2, a1, #10
        SUB     a1, a1, a1, lsr #2
        ADD     a1, a1, a1, lsr #4
        ADD     a1, a1, a1, lsr #8
        ADD     a1, a1, a1, lsr #16
        MOV     a1, a1, lsr #3
        ADD     a3, a1, a1, asl #2
        SUBS    a2, a2, a3, asl #1
        ADDPL   a1, a1, #1
        ADDMI   a2, a2, #10
        MOV     pc, lr

#       END

⌨️ 快捷键说明

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