fixed my dumbassary
This commit is contained in:
3
helper.s
3
helper.s
@@ -18,14 +18,13 @@ clear_heap_block_loop:
|
||||
mov byte ptr [rdi+rcx], 0
|
||||
inc rcx
|
||||
cmp rcx, rsi
|
||||
jle clear_heap_block_loop
|
||||
jl clear_heap_block_loop
|
||||
ret
|
||||
|
||||
# rdi = size in octets
|
||||
brk_alloc:
|
||||
push rbx
|
||||
push r12
|
||||
inc rdi # so you get all of the requested space
|
||||
mov rbx, rdi
|
||||
|
||||
mov rax, 12
|
||||
|
9
main.s
9
main.s
@@ -176,31 +176,24 @@ process_inpt:
|
||||
|
||||
# In stack it is
|
||||
# A = Address to loop back
|
||||
# C = Cell to check
|
||||
# AC AC AC AC AC AC AC <- pop here
|
||||
process_loop_start:
|
||||
pop rdi
|
||||
push r11 # Address to loopback
|
||||
push r15 # Cell to check
|
||||
push rdi
|
||||
ret
|
||||
|
||||
process_loop_end:
|
||||
# Gotta get ret value
|
||||
pop rsi
|
||||
pop rdi # Cell
|
||||
pop rax # Address
|
||||
|
||||
# if cell is 0 we are done with loop
|
||||
cmp byte ptr [r14+rdi], 0
|
||||
cmp byte ptr [r14+r15], 0
|
||||
je 1f
|
||||
mov r11, rax
|
||||
|
||||
# Make sure stack isn't caught on fire
|
||||
push rax
|
||||
push rdi
|
||||
push rsi
|
||||
ret
|
||||
1:
|
||||
push rsi
|
||||
ret # Discard
|
||||
|
2
tests/test1.bf
Normal file
2
tests/test1.bf
Normal file
@@ -0,0 +1,2 @@
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
|
1
tests/test3.bf
Normal file
1
tests/test3.bf
Normal file
@@ -0,0 +1 @@
|
||||
++++[>++++[>++++<-]<-]>>++.[<<+>>-]<<.
|
1
tests/test4.bf
Normal file
1
tests/test4.bf
Normal file
@@ -0,0 +1 @@
|
||||
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
|
1
welcome.bf
Normal file
1
welcome.bf
Normal file
@@ -0,0 +1 @@
|
||||
+++++++++[>++++++++>+++++++++++>++++>++++++++++>+++++++++++>++++>+++++++++++<<<<<<<-]>.>++.+++++++..+++.>---.-.>---.>++.<<<---.>>>--.<<<+++.--.>>>++.<<.<+++++++.-----.>.>>--.--.<<<+++++.>>>>+++.<<<<-.>.>>+.<<<-.>>>-.++++++++.+++++.>>+++.<<<<<+++.>>>>>---.<<---.<<.>>--.+++++.<<<-.>>>>>++.<<++++.--.++.>>.<<++.>>.<<--.>+++++.<<<.<+++.>>>.>>++++.<<++..>>----.<<------.<<.>>-----.+++++.<<.<<-------.>>>----.------.<+.>>>>>++++++++++.
|
Reference in New Issue
Block a user