Just for fun as function:
[code:1:5ab9883977]dim c as byte
CONFIG SUBMODE = NEW
function SubtractLowerFromHigher(byval a as byte, byval b as byte) as byte
'Load a
!LDD r26 , y + 2
!LDD r27 , y + 3
!ld r16,x
'Load b
!LDD r26 , y + 0
!LDD r27 , y + 1
!ld r17,x
'Substraction
!sub r16,r17
'Overflow?
!BRCC SubtractLowerFromHigher_1
'Yes: negate
!NEG R16
SubtractLowerFromHigher_1:
'Save to Result
!LDD r26 , y + 4
!LDD r27 , y + 5
!ST x,r16
end function
'Test it!
c = SubtractLowerFromHigher(18,88)
print c
c = SubtractLowerFromHigher(77,27)
print c
end
[/code:1:5ab9883977]
↧