Compare commits
3 Commits
8356dbbd93
...
9cc8cdef5f
Author | SHA1 | Date |
---|---|---|
Juhani Krekelä | 9cc8cdef5f | |
Juhani Krekelä | 7c9a73cab3 | |
Juhani Krekelä | 66dd813d7b |
|
@ -1,35 +1,16 @@
|
||||||
org 0
|
org 0
|
||||||
|
|
||||||
cleq r0, r0, normalize
|
|
||||||
|
|
||||||
xor r0, r0
|
|
||||||
load r1, #12
|
|
||||||
cleq r0, r0, pushWord
|
|
||||||
load r0, fResultPtr+0
|
load r0, fResultPtr+0
|
||||||
load r1, fResultPtr+1
|
load r1, fResultPtr+1
|
||||||
cleq r0, r0, pushWord
|
cleq r0, r0, pushWord
|
||||||
dumpFResult:
|
cleq r0, r0, dumpFloat
|
||||||
cleq r0, r0, stSwap
|
|
||||||
cleq r0, r0, peekWord
|
|
||||||
or r0, r1
|
|
||||||
xor r2, r2
|
|
||||||
breq r0, r2, dumpFResultEnd
|
|
||||||
cleq r0, r0, stDec
|
|
||||||
|
|
||||||
cleq r0, r0, stSwap
|
cleq r0, r0, normalize
|
||||||
cleq r0, r0, stDup
|
|
||||||
cleq r0, r0, stLoadByte
|
|
||||||
cleq r0, r0, popWord
|
|
||||||
xor r0, r0
|
|
||||||
or r0, r1
|
|
||||||
cleq r0, r0, writehexByte
|
|
||||||
load r0, #20
|
|
||||||
store ffff, r0
|
|
||||||
cleq r0, r0, stInc
|
|
||||||
breq r0, r0, dumpFResult
|
|
||||||
|
|
||||||
dumpFResultEnd:
|
load r0, fResultPtr+0
|
||||||
cleq r0, r0, newline
|
load r1, fResultPtr+1
|
||||||
|
cleq r0, r0, pushWord
|
||||||
|
cleq r0, r0, dumpFloat
|
||||||
|
|
||||||
load r0, fResultPtr+0
|
load r0, fResultPtr+0
|
||||||
load r1, fResultPtr+1
|
load r1, fResultPtr+1
|
||||||
|
@ -78,6 +59,36 @@ printend:
|
||||||
cleq r0, r0, newline
|
cleq r0, r0, newline
|
||||||
halt
|
halt
|
||||||
|
|
||||||
|
dumpFloat:
|
||||||
|
xor r0, r0
|
||||||
|
load r1, #12
|
||||||
|
cleq r0, r0, pushWord
|
||||||
|
dumpFloatLoop:
|
||||||
|
cleq r0, r0, peekWord
|
||||||
|
or r0, r1
|
||||||
|
xor r2, r2
|
||||||
|
breq r0, r2, dumpFloatEnd
|
||||||
|
cleq r0, r0, stDec
|
||||||
|
|
||||||
|
cleq r0, r0, stSwap
|
||||||
|
cleq r0, r0, stDup
|
||||||
|
cleq r0, r0, stLoadByte
|
||||||
|
cleq r0, r0, popWord
|
||||||
|
xor r0, r0
|
||||||
|
or r0, r1
|
||||||
|
cleq r0, r0, writehexByte
|
||||||
|
load r0, #20
|
||||||
|
store ffff, r0
|
||||||
|
cleq r0, r0, stInc
|
||||||
|
cleq r0, r0, stSwap
|
||||||
|
breq r0, r0, dumpFloatLoop
|
||||||
|
|
||||||
|
dumpFloatEnd:
|
||||||
|
cleq r0, r0, popWord
|
||||||
|
cleq r0, r0, popWord
|
||||||
|
breq r0, r0, newline
|
||||||
|
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
store debugr0, r0
|
store debugr0, r0
|
||||||
store debugr1, r1
|
store debugr1, r1
|
||||||
|
@ -453,7 +464,7 @@ fResult:
|
||||||
data 05 ; exponent
|
data 05 ; exponent
|
||||||
data 00
|
data 00
|
||||||
data 00
|
data 00
|
||||||
data 00 ; overflow
|
data 09 ; overflow
|
||||||
data 09 ; mantissa
|
data 09 ; mantissa
|
||||||
data 09
|
data 09
|
||||||
data 09
|
data 09
|
||||||
|
@ -875,13 +886,17 @@ normalizeRoundUp:
|
||||||
|
|
||||||
breq r0, r0, normalizeRoundUpLoop
|
breq r0, r0, normalizeRoundUpLoop
|
||||||
|
|
||||||
normalizeRoundUpEnd:
|
normalizeRoundUpEnd:
|
||||||
cleq r0, r0, popWord
|
cleq r0, r0, popWord
|
||||||
cleq r0, r0, popWord
|
cleq r0, r0, popWord
|
||||||
cleq r0, r0, popWord
|
cleq r0, r0, popWord
|
||||||
|
|
||||||
; We might have ended up with a digit in the overflow
|
; Zero out the rounding digit
|
||||||
breq r0, r0, normalize
|
xor r0, r0
|
||||||
|
store fResult+11, r0
|
||||||
|
|
||||||
|
; We might have ended up with a digit in the overflow
|
||||||
|
breq r0, r0, normalize
|
||||||
|
|
||||||
normalizeRoundDown:
|
normalizeRoundDown:
|
||||||
; Zero out the rounding digit
|
; Zero out the rounding digit
|
||||||
|
|
Loading…
Reference in New Issue