You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
stateDiagram
state "2dup >" as ifCondition
state "do" as ifDo
state "hello world" as ifBody
state "2dup =" as elifCondition
state "do" as elifDo
state "goofbye world" as elifBody
state "else world" as elseBody
[*] --> if
if --> ifCondition
ifCondition --> ifDo
ifDo --> elifCondition: Jump
ifDo --> ifBody
ifBody --> elif
elifCondition --> elifDo
elifDo --> elseBody: Jump
elifDo --> elifBody
elifBody --> else
elif --> end
else --> end
elseBody --> end
end --> [*]
Loading
Loops
50while 2dup > do"hello world" puts
1 +
end
stateDiagram
state "2dup >" as whileCondition
state "hello world" as whileBody
[*] --> while
while --> whileCondition
whileCondition --> do
do --> [*]: Jump
do --> whileBody
whileBody --> end
end --> while
Loading
Procedures
global_start_start:mov[args_ptr],rspmovrax, ret_stack_endmov[ret_stack_rsp],raxaddr_0: ;; -- skip proc --jmp addr_14hello: ;; -- prep proc --mov[ret_stack_rsp],rspmovrsp,raxaddr_2:addr_3:addr_4:addr_5: ;; -- push str hello world --movrax,11pushraxpush str_0addr_6: ;; -- push int 1 --movrax,1pushraxaddr_7: ;; -- push int 1 --movrax,1pushraxaddr_8: ;; -- syscall --popraxpoprdipoprsipoprdxsyscallpushraxaddr_9: ;; -- drop --popraxaddr_10: ;; -- push int 1 --movrax,1pushraxaddr_11: ;; -- ret --movrax,rspmovrsp,[ret_stack_rsp]retaddr_12: ;; -- ret --movrax,rspmovrsp,[ret_stack_rsp]retaddr_13: ;; -- end --addr_14: ;; -- call hello --movrax,rspmovrsp,[ret_stack_rsp]call hellomov[ret_stack_rsp],rspmovrsp,raxaddr_15: ;; -- drop --popraxaddr_16:movrax,60movrdi,0syscallsegment .datastr_0: db 0x68,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,0x6c,0x64segment .bssargs_ptr: resq 1ret_stack_rsp: resq 1ret_stack: resb 4096ret_stack_end: resq 1mem: resb 640000