From 9eb2d4af1b42b95f0aede5eec21190c375214e80 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Fri, 19 Jul 2024 22:50:48 -0400 Subject: [PATCH 1/3] WIP --- flow.inc | 2 +- kernel_test.inc | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/flow.inc b/flow.inc index 8221eb6..b74ca83 100644 --- a/flow.inc +++ b/flow.inc @@ -35,11 +35,11 @@ flow_in: .flow_reg: and ebx, 7 - shl ebx, 3 and rax, REG_MASK shr rax, REG_OFFSET and eax, 7 + shl eax, 3 or ebx, eax or ebx, 0xc0 diff --git a/kernel_test.inc b/kernel_test.inc index 8411290..e2bac80 100644 --- a/kernel_test.inc +++ b/kernel_test.inc @@ -130,6 +130,8 @@ kernel_test: tc1 user_empty_words tc1 seX_empty tc1 ise_1 + tc1 ise_1a + tc1 ise_1b tc1 ise_2 tc2 bogus @@ -221,6 +223,35 @@ ise_1: db 0xc3 .expected_length = $ - .expected +ise_1a: + .blue: + db ': syscall (( num ecx -- )) ; ' + db ': _ 60 syscall ; entry ' + .blue_length = $ - .blue + + .expected: + db 0xc3 + db 0xb9 + dd 0x3c + db 0xe8 + db 0xf5, 0xff, 0xff, 0xff + db 0xc3 + .expected_length = $ - .expected + +ise_1b: + .blue: + db '16 base ' + db ': syscall (( num ecx -- )) B8 b, d, 0F b, 05 b, ; immediate ' + db ': _ 3C syscall ; entry ' + .blue_length = $ - .blue + + .expected: + db 0xb8 + dd 0x3c + db 0x0f, 0x05 + db 0xc3 + .expected_length = $ - .expected + ise_2: .blue: db ': myd, (( num eax -- )) d, ; immediate ' From 88faac6583514cf5d5d1ca32196237017becd58a Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Fri, 19 Jul 2024 22:52:28 -0400 Subject: [PATCH 2/3] WIP --- kernel_test.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel_test.inc b/kernel_test.inc index e2bac80..225ae33 100644 --- a/kernel_test.inc +++ b/kernel_test.inc @@ -242,7 +242,8 @@ ise_1b: .blue: db '16 base ' db ': syscall (( num ecx -- )) B8 b, d, 0F b, 05 b, ; immediate ' - db ': _ 3C syscall ; entry ' + db '0A base ' + db ': _ 60 syscall ; entry ' .blue_length = $ - .blue .expected: From 598ccdadef5351295d21cd38e8bf59a2f9f4b9e7 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Fri, 19 Jul 2024 22:57:13 -0400 Subject: [PATCH 3/3] WIP --- blue.asm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/blue.asm b/blue.asm index 3bf8d9f..cc78b94 100644 --- a/blue.asm +++ b/blue.asm @@ -64,11 +64,13 @@ blue_bye: db '16 base ' db '' db ': xor-edi (( -- )) 31 b, FF b, ; ' - db ': mov-eax-60 (( -- )) B8 b, 3C d, ; ' - db ': syscall (( -- )) 0F b, 05 b, ; ' + db ': syscall (( num ecx -- )) B8 b, d, 0F b, 05 b, ; ' db '' db ': ok (( -- )) xor-edi ; ' - db ': exit (( -- )) mov-eax-60 syscall ; ' + db '' + db '0A base ' + db '' + db ': exit (( -- )) 60 syscall ; ' db ': bye (( -- )) ok exit ; immediate ' db '' db ': _start (( -- )) bye ; entry '