📄 16open_uadri.txt
字号:
16位整型数开平方
.include "8515def.inc"
.def numlo = r16
.def numhi = r17
.def sqrt = r18
.def suber = r24
.def suberh = r25
; enter with the 16 bit Number in r16,r17
.org 0x00
rjmp reset
.org 0x20
reset: ldi r16,0x02 ; Stack Pointer Setup
out SPH,r16 ; Stack Pointer High Byte
ldi r16,0x5f ; Stack Pointer Setup
out SPL,r16 ; Stack Pointer Low Byte
loopm:
ldi r16,0x64
ldi r17,0x01
rcall sqrt
nop
rjmp loopm
Sqrt:
clr sqrt
ldi suber,1 ; initialize the seed to be subtracted
clr suberh ; for each iteration
loop: sub numlo,suber
sbc numhi,suberh
brlo exit
inc sqrt
adiw suber,2 ; keep the number to subtract ODD.
rjmp loop
exit:
ret ; the sqrt(num) on exit is stored in r18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -