16open_uadri.txt
来自「在8位单片机中对16位数进行开方运算的汇编子程序」· 文本 代码 · 共 39 行
TXT
39 行
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 + =
减小字号Ctrl + -
显示快捷键?