mirror of
https://github.com/nineties/planckforth
synced 2024-12-26 21:58:42 +01:00
Add "@" and "!"
This commit is contained in:
parent
50e0408a73
commit
15588df034
2 changed files with 12 additions and 2 deletions
|
@ -23,3 +23,5 @@ $ cat helloworld.fs | ./plank
|
|||
| J | 0jump | ( a -- ) Jump if a == 0. |
|
||||
| f | find | ( c -- xt ) Get execution token of c |
|
||||
| x | execute | ( xt -- ... ) Run the execution token |
|
||||
| @ | fetch | ( addr -- a ) Load value from addr |
|
||||
| ! | store | ( a addr -- ) Store a to addr |
|
||||
|
|
12
planck.xxd
12
planck.xxd
|
@ -6,10 +6,10 @@
|
|||
00000028: 3400 2000 0100 0000 e_ehsize,e_phentsize,e_phnum,e_shentsize
|
||||
00000030: 0000 0000 0100 0000 e_shnum,e_shstrndx,<phdr> PT_LOAD
|
||||
00000038: 0000 0000 0080 0408 p_offset,p_vaddr=0x08048000
|
||||
00000040: 0000 0000 0002 0000 p_paddr,p_filesz
|
||||
00000040: 0000 0000 3002 0000 p_paddr,p_filesz
|
||||
00000048: 0000 0008 0700 0000 p_memsz(128MB),PF_X|PF_W|PF_R
|
||||
00000050: 0010 0000 0200 0000 p_align, <here>
|
||||
00000058: f081 0408 4881 0408 <latest:init="x">, <interpreter>(5c: key)
|
||||
00000058: 1882 0408 4881 0408 <latest:init="!">, <interpreter>(5c: key)
|
||||
00000060: c881 0408 f881 0408 (60: find) (64: execute)
|
||||
00000068: 9881 0408 f0ff ffff (68: jump) (6c: -16)
|
||||
00000070: be5c 8004 08bd 0080 (70: movl $interpreter,%esi) (75: movl $0x10048000,%ebp)
|
||||
|
@ -60,3 +60,11 @@
|
|||
|
||||
000001f0: c081 0408 0178 0000 x: execute
|
||||
000001f8: fc81 0408 58ff 2000 popl %eax; jmp *(%eax)
|
||||
|
||||
00000200: f081 0408 0140 0000 @: fetch
|
||||
00000208: 0c82 0408 588b 0050 popl %eax; movl (%eax),%eax;push %eax;
|
||||
00000210: adff 2000 0000 0000 next;
|
||||
|
||||
00000218: 0082 0408 0121 0000 !: store
|
||||
00000220: 2482 0408 585b 8918 popl %eax; popl %ebx; movl %ebx,(%eax)
|
||||
00000228: adff 2000 0000 0000 next;
|
||||
|
|
Loading…
Reference in a new issue