add binary

This commit is contained in:
andromeda
2026-03-15 22:02:36 +01:00
parent c05adee382
commit 0160d2e127
2 changed files with 42 additions and 3 deletions

View File

@@ -730,7 +730,8 @@ tokenise:
; | type | p. | description |
; |------|----|--------------|
; | 0x00 | 0x | hexidecimal |
; | 0x01 | 0b | octal |
; | 0x01 | 0q | octal |
; | 0x02 | 0b | binary |
; | 0xFF | | unrecognised |
;
; where `p.` is the prefix
@@ -774,6 +775,13 @@ evaluate_constant:
je .oct_loop
pop rcx
; binary case
mov rcx, 0x02
push rcx
cmp dl, 'b'
je .bin_loop
pop rcx
jmp .unrecognised
.hex_loop:
@@ -822,6 +830,25 @@ evaluate_constant:
inc rdi ; point to next byte
jmp .oct_loop ; and loop
.bin_loop:
cmp rsi, 0 ; range check
je .break
shl rax, 1
mov dl, [rdi]
sub dl, '0'
cmp dl, 1
jg .unrecognised
and dl, 1 ; mask
or al, dl ; and newest bit
dec rsi
inc rdi
jmp .bin_loop
.break:
pop rdx
ret