442.asm

来自「单片机开发资料光盘-双龙-686M.zip」· 汇编 代码 · 共 31 行

ASM
31
字号
kf32:  
        rcall	kf16a
        clr r0
        ldi r24,$ff        ;r24送$ff
kf32_1:
        adiw r24,2         ;(r26:r25:r24)+ 2
	adc r26,r0
        sub r16,r24       ;被开方数-(r26:r25:r24)
        sbc r17,r25 
	sbc r18,r26
        sbc r19,r0
        brcc    kf32_1    ; 够减,循环
	ror r26       ; 不够减,(r26:r25:r24)右移一位
        ror r25 
        ror r24
        ret  
kf16a:   
        ldi r25,$ff        ;(r26:r25)送-1
	ldi r26,$ff
tf:	    
        subi r25,$fe       ;(r26:r25)+2
        sbci r26,$ff
        sub r18,r25        ;(r19:r18)-(r26:r25)            
        sbc r19,r26
	brcc 	tf         ;够减循环
	add r18,r25        ;不够减恢复原被减数
	adc r19,r26
	subi r25,2         ;恢复原减数
        sbci r26,0
        ret

⌨️ 快捷键说明

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