📄 mult24.asm
字号:
; File Name Mult24.asm"
; Support Email Per@hum.au.dk
; Target MCU AT90Sxxxx
; R e v i s i o n H I S T O R Y
; rev. date who why
; ---- ------------ --- ---------------------------------------------------
; 0.01 May 17, 2001 PB Creation after a great idea from Thorleif Bundgaard
;
;.DEVICE AT90S4414 ; change if an other device is used
;.include "4414def.inc" ; change if an other device is used
.def Mult =r8
.def Mult1 =r9
.def Base =r10
.def Base1 =r11
.def Base2 =r12
.def Base3 =r13 ; Base3 is just used as a adc zero ....
.def Lcount =r18
; Entry : Base * Mult1, Mult
; Result :
; Int : Base2, Base1, Base
; 15 Words off program space
; Execution at 1 MHz. between 70 and 90 uS. depending on the input numbers
Mult32: ldi Lcount,8
mov Base2,Base ; Prepare "Shift reg"
clr Base
clr Base1
clr Base3
Mult1: add Base,Base ; Shift 32 bit register one bit left
adc Base1,Base1
adc Base2,Base2
brcc Mult2 ; No carry => Next
add Base,Mult ; Add Multiplicant
adc Base1,Mult1
adc Base2,Base3 ; adc with zero to let carry ripple through
Mult2: dec Lcount ; Finished ?
brne Mult1 ; No, Loopback
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -