Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- : h. 16 base ! . 10 base ! ;
- : toggle .@ rot xor swap ! ;
- var regs var frame var ram var bytes var index
- : clear regs off ram off index off x:C00148 frame ! 3 bytes ! ;
- : reg builds> rot , does> regs 1+! @ ;
- 0 reg rax 1 reg rcx 2 reg rdx 3 reg rbx
- 4 reg rsp 5 reg rbp 6 reg rsi 7 reg rdi
- 8 reg r8 9 reg r9 10 reg r10 11 reg r11
- 12 reg r12 13 reg r13 14 reg r14 15 reg r15
- : bytes+! bytes 1+! 128 .u<; 3 bytes +! ;
- : s[] swap ram 1+! x:800200 frame toggle ;
- : d[] ram 1+! x:c00000 frame toggle ;
- : s[i] bytes+! 24 << index ! s[] ;
- : d[i] bytes+! 24 << index ! d[] x:400000 frame toggle ;
- : index<< index @ 8 << index ! ;
- : ([rsp]?) bytes 1+! x:24000000 xor index<< ;
- : [rsp]? ram @ 0=; over 8 % 4 !=; ([rsp]?) ;
- : ([rbp]?) bytes 1+! x:400000 xor index<< ;
- : [rbp]? ram @ 0=; over 8 % 5 !=; ([rbp]?) ;
- .: bits> rot and swap >> or ;
- .: <bits rot and swap << or ;
- .: dest [rsp]? [rbp]? over 16 7 <bits swap 3 8 bits> ;
- .: src over 19 7 <bits swap 1 8 bits> ;
- .: final bytes @ 5 <=; x:c00000 xor ;
- .: comp index @ or final h. ;
- : op builds> rot 8 << , does> @ frame @ or src dest comp ;
- 0 op .add 8 op .or 16 op .adc 24 op .sbb
- 32 op .and 40 op .sub 48 op .xor 56 op .cmp
- 136 op .mov 132 op .test
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement