retroforth/interface/unsigned.retro
crc dbc3b2ad82 add source information for unsigned: words
FossilOrigin-Name: 68d0e1f6fb3ee0905deedd6d6c098bdac2e8567a1eddaf65294f1a894b5134e0
2021-10-14 16:01:36 +00:00

32 lines
1.2 KiB
Forth

# Unsigned Numbers
~~~
:unsigned:+ (nn-n) #0 #8101 io:scan-for io:invoke \ad...... ;
:unsigned:- (nn-n) #0 #8101 io:scan-for io:invoke \su...... ;
:unsigned:* (nn-n) #0 #8101 io:scan-for io:invoke \mu...... ;
:unsigned:/mod (nn-nn) #0 #8101 io:scan-for io:invoke \di...... ;
:unsigned:eq? (nn-f) #0 #8101 io:scan-for io:invoke \eq...... ;
:unsigned:-eq? (nn-f) #0 #8101 io:scan-for io:invoke \ne...... ;
:unsigned:lt? (nn-f) #0 #8101 io:scan-for io:invoke \lt...... ;
:unsigned:gt? (nn-f) #0 #8101 io:scan-for io:invoke \gt...... ;
:unsigned:shift (nn-n) #0 #8101 io:scan-for io:invoke \sh...... ;
:unsigned:*/mod (nnn-nn) #1 #0 #8101 io:scan-for dup io:invoke io:invoke ;
:*/mod (nnn-nn) #1 #8101 io:scan-for io:invoke ;
~~~
~~~
'interface/unsigned.retro s:keep
dup 'unsigned:+ d:lookup d:source store
dup 'unsigned:- d:lookup d:source store
dup 'unsigned:* d:lookup d:source store
dup 'unsigned:/mod d:lookup d:source store
dup 'unsigned:eq? d:lookup d:source store
dup 'unsigned:-eq? d:lookup d:source store
dup 'unsigned:lt? d:lookup d:source store
dup 'unsigned:gt? d:lookup d:source store
dup 'unsigned:shift d:lookup d:source store
dup 'unsigned:*/mod d:lookup d:source store
dup '*/mod d:lookup d:source store
drop
~~~