retroforth/interface/unsigned.retro

33 lines
1.2 KiB
Forth
Raw Normal View History

# 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:dedup
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
~~~