diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-05-24 20:36:31 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-05-24 20:36:31 -0700 |
commit | 4d14c3fefd8362512e8e75d5051f7a7b709b483f (patch) | |
tree | e885a00f14fd15eb3116398d645bcfab6a0c5510 /mu-init.subx | |
parent | 27b1e19ebec31eca1d29c4b8f18408b02c172578 (diff) | |
download | mu-4d14c3fefd8362512e8e75d5051f7a7b709b483f.tar.gz |
6393 - start running .mu apps in CI
Diffstat (limited to 'mu-init.subx')
-rw-r--r-- | mu-init.subx | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mu-init.subx b/mu-init.subx index 74d90b7a..984e4ff7 100644 --- a/mu-init.subx +++ b/mu-init.subx @@ -27,13 +27,14 @@ $Entry:initialize-args: 8b/-> *esi 2/r32/edx # argc is in words; convert it to bytes c1/shift 4/subop/left %edx 2/imm8 - # var tmp/eax: handle + # var tmp/ebx: handle 68/push 0/imm32 68/push 0/imm32 - 89/<- %eax 4/r32/esp + 89/<- %ebx 4/r32/esp # var args/edi: (addr array (addr array byte)) - (allocate-array Heap %edx %eax) - 8b/-> *(eax+4) 7/r32/edi + (allocate-array Heap %edx %ebx) + (lookup *ebx *(ebx+4)) # => eax + 89/<- %edi 0/r32/eax # var curr/ecx: (addr kernel-string) = argv 8d/copy-address *(esi+4) 1/r32/ecx # var max/edx: (addr kernel-string) = argv+4+argc @@ -45,7 +46,8 @@ $Entry:initialize-args: 39/compare %ecx 2/r32/edx 73/jump-if-addr>= break/disp8 # *dest = kernel-string-to-string(*curr) - (kernel-string-to-string Heap *ecx) # => eax + (kernel-string-to-string Heap *ecx %ebx) + (lookup *ebx *(ebx+4)) # => eax 89/<- *esi 0/r32/eax # curr += 4 81 0/subop/add %ecx 4/imm32 |