summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--twasm/asm/main.asm10
-rw-r--r--twasm/asm/tests.asm23
2 files changed, 29 insertions, 4 deletions
diff --git a/twasm/asm/main.asm b/twasm/asm/main.asm
index c858a7a..55e28ae 100644
--- a/twasm/asm/main.asm
+++ b/twasm/asm/main.asm
@@ -817,7 +817,7 @@ tokenise:
jmp .operand_break_continue
; cx = token ID
- .operand_addr_register
+ .operand_addr_register:
mov word [TOKEN_TABLE_ADDR + rax * TOKEN_TABLE_ENTRY_SIZE], 0x1000
inc rax ; 0x1000: addr reg token, next token is the register
mov [TOKEN_TABLE_ADDR + rax * TOKEN_TABLE_ENTRY_SIZE], cx
@@ -1417,12 +1417,12 @@ trim_trailing_whitespace:
cmp al, 0 ; if last element whitespace
je .done ; then break
- .trim ; otherwise one shorter
+ .trim: ; otherwise one shorter
dec rdi
call trim_trailing_whitespace
ret
- .done
+ .done:
mov rax, rdi
ret
@@ -1738,4 +1738,6 @@ program:
db "hlt", 0x0A ; TODO make it so it doesn't need to end with a newline; this
; would mean range checking members in operator/operand/com-
; ment loops at the end of the program
- .size db $ - program
+ .size dq $ - program
+
+msg_end db "end of the binary ->|", 0x0A, 0x00
diff --git a/twasm/asm/tests.asm b/twasm/asm/tests.asm
index 9d24b81..23e0178 100644
--- a/twasm/asm/tests.asm
+++ b/twasm/asm/tests.asm
@@ -13,6 +13,8 @@ run_tests:
mov rsi, .msg
call print.test
+ call test_completeness
+
call clear_test_arena
call test_djb2
@@ -47,6 +49,27 @@ run_tests:
.msg db "running test suite...", 0x0A, 0x00
; ------------------------------------------------------------------------------
+; test_completeness
+;
+; description:
+; visual confirmation of binary integrity
+; ------------------------------------------------------------------------------
+
+test_completeness:
+ mov rsi, .msg
+ call print.test
+ mov rsi, .msg_content
+ call print
+ mov rsi, msg_end
+ call print
+ mov rsi, .msg_confirm
+ call print
+ ret
+ .msg db "test_completeness...", 0x0A, 0x00
+ .msg_content db " here is the ", 0x00
+ .msg_confirm db " here is the end of the binary ->|", 0x0A, " assert: the previous 2 lines are identical", 0x0A, 0x00
+
+; ------------------------------------------------------------------------------
; test_elemb
;
; description: