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

📄 mult24.asm

📁 AVR单片机的典型程序
💻 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 + -