change formatting

This commit is contained in:
janis 2026-06-05 05:22:59 +02:00
parent 52d2466eb5
commit 79a4c65df3
Signed by: janis
SSH key fingerprint: SHA256:bB1qbbqmDXZNT0KKD5c2Dfjg53JGhj7B3CFcLIzSqq8

View file

@ -1,262 +1,465 @@
; @panic: +0 ; @panic: +0
b8 3c 00 00 00 ; mov rax, 60 (exit) ; mov rax, 60 (exit)
bf 01 00 00 00 ; mov rdi, 1 (exit code) b8 3c 00 00 00
0f 05 ; syscall ; mov rdi, 1 (exit code)
bf 01 00 00 00
; syscall
0f 05
;
; @die: +12 ; @die: +12
b8 3c 00 00 00 ; mov rax, 60 (exit) ; mov rax, 60 (exit)
bf 00 00 00 00 ; mov rdi, 0 (exit b8 3c 00 00 00
0f 05 ; syscall ; mov rdi, 0 (exit
bf 00 00 00 00
; syscall
0f 05
;
; @fasthash_exit: +24 ; @fasthash_exit: +24
c3 ; ret ; ret
c3
; @fasthash: +25 ; @fasthash: +25
b8 c5 9d 1c 81 ; mov rax, 0x811c9dc5 (FNV offset basis) ; mov rax, 0x811c9dc5 (FNV offset basis)
b8 c5 9d 1c 81
; @fasthash_loop: +30 ; @fasthash_loop: +30
48 85 f6 ; test rsi, rsi ; test rsi, rsi
0f 84 f1 ff ff ff ; jz 'fasthash_exit (+39) 48 85 f6
0f b6 0f ; movzx ecx, byte [rdi] ; jz 'fasthash_exit (+39)
31 c8 ; xor eax, ecx 0f 84 f1 ff ff ff
69 c0 93 01 00 01 ; imul eax, eax, 0x1000193 (FNV prime) ; movzx ecx, byte [rdi]
48 ff c7 ; inc rdi 0f b6 0f
48 ff ce ; dec rsi ; xor eax, ecx
e9 e1 ff ff ff ; jmp 'fasthash_loop (+61) 31 c8
; imul eax, eax, 0x1000193 (FNV prime)
69 c0 93 01 00 01
; inc rdi
48 ff c7
; dec rsi
48 ff ce
; jmp 'fasthash_loop (+61)
e9 e1 ff ff ff
;
; @push_lbl: +61 ; @push_lbl: +61
41 8b 87 00 60 00 00 ; mov eax, [r15+0x6000] ; mov eax, [r15+0x6000]
3d 54 01 00 00 ; cmp eax, 0x154 41 8b 87 00 60 00 00
0f 8d b1 ff ff ff ; jge 'panic (+79) ; cmp eax, 0x154
8d 14 40 ; lea edx, [rax + rax*2] 3d 54 01 00 00
48 c1 e2 02 ; shl rdx, 2 ; jge 'panic (+79)
52 ; push rdx 0f 8d b1 ff ff ff
e8 bd ff ff ff ; call 'fasthash (+92) ; lea edx, [rax + rax*2]
5a ; pop rdx 8d 14 40
49 8d bf 10 50 00 00 ; lea rdi, [r15+0x5010] ; shl rdx, 2
48 89 04 17 ; mov qword [rdi+rdx], rax 48 c1 e2 02
41 8b 87 0c 50 00 00 ; mov eax, dword [r15+0x500c] ; push rdx
89 44 17 08 ; mov dword [rdi+rdx+8], eax 52
41 ff 87 00 60 00 00 ; inc dword [r15+0x6000] ; call 'fasthash (+92)
c3 ; ret e8 bd ff ff ff
; pop rdx
5a
; lea rdi, [r15+0x5010]
49 8d bf 10 50 00 00
; mov qword [rdi+rdx], rax
48 89 04 17
; mov eax, dword [r15+0x500c]
41 8b 87 0c 50 00 00
; mov dword [rdi+rdx+8], eax
89 44 17 08
; inc dword [r15+0x6000]
41 ff 87 00 60 00 00
; ret
c3
;
; @find_lbl_not_found: (+123) ; @find_lbl_not_found: (+123)
e8 80 ff ff ff ; call 'panic (+128) ; call 'panic (+128)
e8 80 ff ff ff
; @find_lbl_found: (+128) ; @find_lbl_found: (+128)
8b 42 08 ; mov eax, dword [rdx+8] ; mov eax, dword [rdx+8]
c3 ; ret 8b 42 08
; ret
c3
; @find_lbl: +132 ; @find_lbl: +132
e8 90 ff ff ff ; call 'fasthash (+137) ; call 'fasthash (+137)
49 8d 97 10 50 00 00 ; lea rdx, [r15+0x5010] e8 90 ff ff ff
41 8b 9f 00 60 00 00 ; mov edx, dword [r15+0x6000] ; lea rdx, [r15+0x5010]
49 8d 97 10 50 00 00
; mov edx, dword [r15+0x6000]
41 8b 9f 00 60 00 00
; @find_lbl_loop: (+151) ; @find_lbl_loop: (+151)
48 85 db ; test rbx, rbx ; test rbx, rbx
0f 84 db ff ff ff ; jz 'find_lbl_not_found (+160) 48 85 db
48 ff cb ; dec rbx ; jz 'find_lbl_not_found (+160)
48 39 02 ; cmp [rdx], rax 0f 84 db ff ff ff
0f 84 d4 ff ff ff ; jz 'find_lbl_found (+172) ; dec rbx
48 83 c2 0c ; add rdx, 0xc 48 ff cb
e9 e2 ff ff ff ; jmp 'find_lbl_loop (+181) ; cmp [rdx], rax
48 39 02
; jz 'find_lbl_found (+172)
0f 84 d4 ff ff ff
; add rdx, 0xc
48 83 c2 0c
; jmp 'find_lbl_loop (+181)
e9 e2 ff ff ff
;
; @wrt_stdout: (+181) ; @wrt_stdout: (+181)
b8 01 00 00 00 ; mov rax, 1 (sys_write) ; mov rax, 1 (sys_write)
bf 01 00 00 00 ; mov rdi, 1 (stdout) b8 01 00 00 00
49 8d b7 00 10 00 00 ; lea rsi, [r15+0x1000] ; mov rdi, 1 (stdout)
41 8b 97 04 50 00 00 ; mov edx, dword [r15+0x5004] bf 01 00 00 00
0f 05 ; syscall ; lea rsi, [r15+0x1000]
41 c7 87 04 50 00 00 00 00 00 00 ; mov dword [r15+0x5004], 0 49 8d b7 00 10 00 00
c3 ; ret ; mov edx, dword [r15+0x5004]
41 8b 97 04 50 00 00
; syscall
0f 05
; mov dword [r15+0x5004], 0
41 c7 87 04 50 00 00 00 00 00 00
; ret
c3
;
; @_start_lbl: (+219) ; @_start_lbl: (+219)
5f 73 74 61 72 74 00 5f 73 74 61 72 74 00
; @die_jmp_start: (+226) ; @die_jmp_start: (+226)
48 8d 3d f2 ff ff ff ; lea rdi, [rip+@_start_lbl] (+233) ; lea rdi, [rip+@_start_lbl] (+233)
be 06 00 00 00 ; mov esi, 6 48 8d 3d f2 ff ff ff
e8 91 ff ff ff ; call 'find_lbl (+243) ; mov esi, 6
41 83 87 0c 50 00 00 05 ; add dword [r15+0x500c], 5 be 06 00 00 00
41 2b 87 0c 50 00 00 ; sub eax, dword [r15+0x500c] ; call 'find_lbl (+243)
41 8b bf 04 50 00 00 ; mov edi, dword [r15+0x5004] e8 91 ff ff ff
49 8d bc 3f 00 10 00 00 ; lea rdi, [r15+rdi*1+0x1000] ; add dword [r15+0x500c], 5
c6 07 e9 ; mov byte [rdi], 0xe9 41 83 87 0c 50 00 00 05
89 47 01 ; mov dword [rdi+1], eax ; sub eax, dword [r15+0x500c]
41 83 87 04 50 00 00 05 ; add dword [r15+0x5004], 5 41 2b 87 0c 50 00 00
e8 91 ff ff ff ; call 'wrt_stdout (+292) ; mov edi, dword [r15+0x5004]
e8 e3 fe ff ff ; call 'die (+297) 41 8b bf 04 50 00 00
; lea rdi, [r15+rdi*1+0x1000]
49 8d bc 3f 00 10 00 00
; mov byte [rdi], 0xe9
c6 07 e9
; mov dword [rdi+1], eax
89 47 01
; add dword [r15+0x5004], 5
41 83 87 04 50 00 00 05
; call 'wrt_stdout (+292)
e8 91 ff ff ff
; call 'die (+297)
e8 e3 fe ff ff
;
; @rd_stdin: (+297) ; @rd_stdin: (+297)
b8 00 00 00 00 ; mov rax, 0 (sys_read) ; mov rax, 0 (sys_read)
bf 00 00 00 00 ; mov rdi, 0 (stdin) b8 00 00 00 00
4c 89 fe ; mov rsi, r15 ; mov rdi, 0 (stdin)
ba 00 10 00 00 ; mov rdx, 0x1000 bf 00 00 00 00
0f 05 ; syscall ; mov rsi, r15
85 c0 ; test rax, rax 4c 89 fe
0f 8e 9d ff ff ff ; jle 'die_jmp_start (+325) ; mov rdx, 0x1000
41 89 87 08 50 00 00 ; mov dword [r15+0x5008], eax ba 00 10 00 00
41 c7 87 00 50 00 00 00 00 00 00 ; mov dword [r15+0x5000], 0 ; syscall
c3 ; ret 0f 05
; test rax, rax
85 c0
; jle 'die_jmp_start (+325)
0f 8e 9d ff ff ff
; mov dword [r15+0x5008], eax
41 89 87 08 50 00 00
; mov dword [r15+0x5000], 0
41 c7 87 00 50 00 00 00 00 00 00
; ret
c3
;
; @rd_buf_end: (+344) ; @rd_buf_end: (+344)
41 8b 97 00 50 00 00 ; mov edx, dword [r15+0x5000] ; mov edx, dword [r15+0x5000]
48 31 c0 ; xor rax, rax 41 8b 97 00 50 00 00
41 8a 04 17 ; mov al, byte [rdi+rdx] ; xor rax, rax
41 ff 87 00 50 00 00 ; inc dword [r15+0x5000] 48 31 c0
c3 ; ret ; mov al, byte [rdi+rdx]
41 8a 04 17
; inc dword [r15+0x5000]
41 ff 87 00 50 00 00
; ret
c3
; @rd_buf: (+366) ; @rd_buf: (+366)
41 8b 87 00 50 00 00 ; mov eax, dword [r15+0x5000] ; mov eax, dword [r15+0x5000]
41 3b 87 08 50 00 00 ; cmp eax, dword [r15+0x5008] 41 8b 87 00 50 00 00
0f 8c d6 ff ff ff ; jl 'rd_buf_end (+386) ; cmp eax, dword [r15+0x5008]
e8 2e ff ff ff ; call 'wrt_stdout (+391) 41 3b 87 08 50 00 00
e8 9d ff ff ff ; call 'rd_stdin (+396) ; jl 'rd_buf_end (+386)
e9 c7 ff ff ff ; jmp 'rd_buf_end (+401) 0f 8c d6 ff ff ff
; call 'wrt_stdout (+391)
e8 2e ff ff ff
; call 'rd_stdin (+396)
e8 9d ff ff ff
; jmp 'rd_buf_end (+401)
e9 c7 ff ff ff
;
;
; @skip_line_read: (+401) ; @skip_line_read: (+401)
e8 d8 ff ff ff ; call 'rd_buf (+406) ; call 'rd_buf (+406)
e8 d8 ff ff ff
; @skip_line: (+406) ; @skip_line: (+406)
3c 0a ; cmp al, 0xa (newline) ; cmp al, 0xa (newline)
0f 85 f3 ff ff ff ; jnz 'skip_line_read (+414) 3c 0a
e8 cd ff ff ff ; call 'rd_buf (+419) ; jnz 'skip_line_read (+414)
c3 ; ret 0f 85 f3 ff ff ff
; call 'rd_buf (+419)
e8 cd ff ff ff
; ret
c3
;
; @skip_whitespace_read: (+420) ; @skip_whitespace_read: (+420)
e8 c5 ff ff ff ; call 'rd_buf (+425) ; call 'rd_buf (+425)
e8 c5 ff ff ff
; @skip_whitespace: (+425) ; @skip_whitespace: (+425)
3c 20 ; cmp al, 0x20 (space) ; cmp al, 0x20 (space)
0f 84 f3 ff ff ff ; jz 'skip_whitespace_read (+433) 3c 20
3c 0a ; cmp al, 0xa (newline) ; jz 'skip_whitespace_read (+433)
0f 84 eb ff ff ff ; jz 'skip_whitespace_read (+441) 0f 84 f3 ff ff ff
3c 09 ; cmp al, 0x9 (tab) ; cmp al, 0xa (newline)
0f 84 e3 ff ff ff ; jz 'skip_whitespace_read (+449) 3c 0a
c3 ; ret ; jz 'skip_whitespace_read (+441)
0f 84 eb ff ff ff
; cmp al, 0x9 (tab)
3c 09
; jz 'skip_whitespace_read (+449)
0f 84 e3 ff ff ff
; ret
c3
;
; @skip_comment_ret: (+450) ; @skip_comment_ret: (+450)
c3 ; ret ; ret
c3
; @skip_comment: (+451) ; @skip_comment: (+451)
3c 3b ; cmp al, 0x3b (semicolon) ; cmp al, 0x3b (semicolon)
0f 85 f7 ff ff ff ; jnz 'skip_comment_ret (+459) 3c 3b
e8 c6 ff ff ff ; call 'skip_line (+464) ; jnz 'skip_comment_ret (+459)
c3 ; ret 0f 85 f7 ff ff ff
; call 'skip_line (+464)
e8 c6 ff ff ff
; ret
c3
;
; @get_next_token_skip: (+465) ; @get_next_token_skip: (+465)
e8 d3 ff ff ff ; call 'skip_whitespace (+470) ; call 'skip_whitespace (+470)
e8 e8 ff ff ff ; call 'skip_comment (+475) e8 d3 ff ff ff
; call 'skip_comment (+475)
e8 e8 ff ff ff
; @get_next_token: (+475) ; @get_next_token: (+475)
3c 3b ; cmp al, 0x3b (semicolon) ; cmp al, 0x3b (semicolon)
0f 84 ee ff ff ff ; jz 'get_next_token_skip (+483) 3c 3b
3c 0a ; cmp al, 0xa (newline) ; jz 'get_next_token_skip (+483)
0f 84 e6 ff ff ff ; jz 'get_next_token_skip (+491) 0f 84 ee ff ff ff
3c 20 ; cmp al, 0x20 (space) ; cmp al, 0xa (newline)
0f 84 de ff ff ff ; jz 'get_next_token_skip (+499) 3c 0a
3c 09 ; cmp al, 0x9 (tab) ; jz 'get_next_token_skip (+491)
0f 84 d6 ff ff ff ; jz 'get_next_token_skip (+507) 0f 84 e6 ff ff ff
c3 ; ret ; cmp al, 0x20 (space)
3c 20
; jz 'get_next_token_skip (+499)
0f 84 de ff ff ff
; cmp al, 0x9 (tab)
3c 09
; jz 'get_next_token_skip (+507)
0f 84 d6 ff ff ff
; ret
c3
;
; @invalid_hex: (+508) ; @invalid_hex: (+508)
e8 ff fd ff ff ; call 'panic (+513) ; call 'panic (+513)
e8 ff fd ff ff
; @is_digit: (+513) ; @is_digit: (+513)
2c 30 ; sub al, 0x30 (digit '0') ; sub al, 0x30 (digit '0')
c3 ; ret 2c 30
; ret
c3
; @is_low_alpha: (+516) ; @is_low_alpha: (+516)
2c 57 ; sub al, 0x57 (letter 'a' - 10) ; sub al, 0x57 (letter 'a' - 10)
c3 ; ret 2c 57
; ret
c3
; @is_up_alpha: (+519) ; @is_up_alpha: (+519)
2c 37 ; sub al, 0x37 (letter 'A' - 10) ; sub al, 0x37 (letter 'A' - 10)
c3 ; ret 2c 37
; ret
c3
; @char_to_u4: (+522) ; @char_to_u4: (+522)
3c 30 ; cmp al, 0x30 (digit '0') ; cmp al, 0x30 (digit '0')
0f 82 ea ff ff ff ; jb 'invalid_hex (+530) 3c 30
3c 39 ; cmp al, 0x39 (digit '9') ; jb 'invalid_hex (+530)
0f 86 e7 ff ff ff ; jbe 'is_digit (+538) 0f 82 ea ff ff ff
3c 41 ; cmp al, 0x41 (letter 'A') ; cmp al, 0x39 (digit '9')
0f 82 da ff ff ff ; jb 'invalid_hex (+546) 3c 39
3c 46 ; cmp al, 0x46 (letter 'F') ; jbe 'is_digit (+538)
0f 86 dd ff ff ff ; jbe 'is_up_alpha (+554) 0f 86 e7 ff ff ff
3c 61 ; cmp al, 0x61 (letter 'a') ; cmp al, 0x41 (letter 'A')
0f 82 ca ff ff ff ; jb 'invalid_hex (+562) 3c 41
3c 66 ; cmp al, 0x66 (letter 'f') ; jb 'invalid_hex (+546)
0f 86 ca ff ff ff ; jbe 'is_low_alpha (+570) 0f 82 da ff ff ff
e9 bd ff ff ff ; jmp 'invalid_hex (+575) ; cmp al, 0x46 (letter 'F')
3c 46
; jbe 'is_up_alpha (+554)
0f 86 dd ff ff ff
; cmp al, 0x61 (letter 'a')
3c 61
; jb 'invalid_hex (+562)
0f 82 ca ff ff ff
; cmp al, 0x66 (letter 'f')
3c 66
; jbe 'is_low_alpha (+570)
0f 86 ca ff ff ff
; jmp 'invalid_hex (+575)
e9 bd ff ff ff
;
; @octet: (+575) ; @octet: (+575)
48 83 ec 08 ; sub rsp, 8 ; sub rsp, 8
e8 ca ff ff ff ; call 'char_to_u4 (+584) 48 83 ec 08
88 04 24 ; mov byte [rsp], al ; call 'char_to_u4 (+584)
e8 1e ff ff ff ; call 'rd_buf (+592) e8 ca ff ff ff
e8 b5 ff ff ff ; call 'char_to_u4 (+597) ; mov byte [rsp], al
8a 1c 24 ; mov bl, byte [rsp] 88 04 24
c0 e3 04 ; shl bl, 4 ; call 'rd_buf (+592)
08 d8 ; or al, bl e8 1e ff ff ff
41 8b bf 04 50 00 00 ; mov edi, dword [r15+0x5004] ; call 'char_to_u4 (+597)
49 8d 97 00 10 00 00 ; lea rdx, [r15+0x1000] e8 b5 ff ff ff
88 04 17 ; mov byte [rdi+rdx], al ; mov bl, byte [rsp]
41 ff 87 04 50 00 00 ; inc dword [r15+0x5004] 8a 1c 24
41 ff 87 0c 50 00 00 ; inc dword [r15+0x500c] ; shl bl, 4
48 83 c4 08 ; add rsp, 8 c0 e3 04
c3 ; ret ; or al, bl
08 d8
; mov edi, dword [r15+0x5004]
41 8b bf 04 50 00 00
; lea rdx, [r15+0x1000]
49 8d 97 00 10 00 00
; mov byte [rdi+rdx], al
88 04 17
; inc dword [r15+0x5004]
41 ff 87 04 50 00 00
; inc dword [r15+0x500c]
41 ff 87 0c 50 00 00
; add rsp, 8
48 83 c4 08
; ret
c3
;
; @label_ref_ret: (+641) ; @label_ref_ret: (+641)
49 8d bf 04 60 00 00 ; lea rdi, [r15+0x6004] ; lea rdi, [r15+0x6004]
e8 f7 fd ff ff ; call 'find_lbl (+653) 49 8d bf 04 60 00 00
41 83 87 0c 50 00 00 04 ; add dword [r15+0x500c], 4 ; call 'find_lbl (+653)
41 2b 87 0c 50 00 00 ; sub eax, dword [r15+0x500c] e8 f7 fd ff ff
41 8b bf 04 50 00 00 ; mov edi, dword [r15+0x5004] ; add dword [r15+0x500c], 4
41 89 84 3f 00 10 00 00 ; mov dword [r15+rdi*1+0x1000], eax 41 83 87 0c 50 00 00 04
41 83 87 04 50 00 00 04 ; add dword [r15+0x5004], 4 ; sub eax, dword [r15+0x500c]
c3 ; ret 41 2b 87 0c 50 00 00
; mov edi, dword [r15+0x5004]
41 8b bf 04 50 00 00
; mov dword [r15+rdi*1+0x1000], eax
41 89 84 3f 00 10 00 00
; add dword [r15+0x5004], 4
41 83 87 04 50 00 00 04
; ret
c3
; @not_label_ref: (+692) ; @not_label_ref: (+692)
e8 86 ff ff ff ; call 'octet (+697) ; call 'octet (+697)
c3 ; ret e8 86 ff ff ff
; ret
c3
; @label_ref: (+698) ; @label_ref: (+698)
3c 27 ; cmp al, 0x27 (single quote) ; cmp al, 0x27 (single quote)
0f 85 f2 ff ff ff ; jnz 'not_label_ref (+706) 3c 27
48 31 f6 ; xor rsi, rsi ; jnz 'not_label_ref (+706)
0f 85 f2 ff ff ff
; xor rsi, rsi
48 31 f6
; @label_ref_loop: (+709) ; @label_ref_loop: (+709)
56 ; push rsi ; push rsi
e8 a3 fe ff ff ; call 'rd_buf (+715) 56
5e ; pop rsi ; call 'rd_buf (+715)
49 8d bf 04 60 00 00 ; lea rdi, [r15+0x6004] e8 a3 fe ff ff
3c 20 ; cmp al, 0x20 (space) ; pop rsi
0f 84 a6 ff ff ff ; jz 'label_ref_ret (+731) 5e
3c 09 ; cmp al, 0x9 (tab) ; lea rdi, [r15+0x6004]
0f 84 9e ff ff ff ; jz 'label_ref_ret (+739) 49 8d bf 04 60 00 00
3c 0a ; cmp al, 0xa (newline) ; cmp al, 0x20 (space)
0f 84 96 ff ff ff ; jz 'label_ref_ret (+747) 3c 20
88 04 37 ; mov byte [rdi+rsi*1], al ; jz 'label_ref_ret (+731)
48 ff c6 ; inc rsi 0f 84 a6 ff ff ff
e9 cf ff ff ff ; jmp 'label_ref_loop (+758) ; cmp al, 0x9 (tab)
3c 09
; jz 'label_ref_ret (+739)
0f 84 9e ff ff ff
; cmp al, 0xa (newline)
3c 0a
; jz 'label_ref_ret (+747)
0f 84 96 ff ff ff
; mov byte [rdi+rsi*1], al
88 04 37
; inc rsi
48 ff c6
; jmp 'label_ref_loop (+758)
e9 cf ff ff ff
;
; @label_ret: (+758) ; @label_ret: (+758)
49 8d bf 04 60 00 00 ; lea rdi, [r15+0x6004] ; lea rdi, [r15+0x6004]
e8 3d fd ff ff ; call 'push_lbl (+770) 49 8d bf 04 60 00 00
c3 ; ret ; call 'push_lbl (+770)
e8 3d fd ff ff
; ret
c3
; @not_label: (+771) ; @not_label: (+771)
e8 b2 ff ff ff ; call 'label_ref (+776) ; call 'label_ref (+776)
c3 ; ret e8 b2 ff ff ff
; ret
c3
; @label: (+777) ; @label: (+777)
3c 40 ; cmp al, 0x40 (at sign) ; cmp al, 0x40 (at sign)
0f 85 f2 ff ff ff ; jnz 'not_label (+785) 3c 40
48 31 f6 ; xor rsi, rsi ; jnz 'not_label (+785)
0f 85 f2 ff ff ff
; xor rsi, rsi
48 31 f6
; @label_loop: (+788) ; @label_loop: (+788)
56 ; push rsi ; push rsi
e8 54 fe ff ff ; call 'rd_buf (+794) 56
5e ; pop rsi ; call 'rd_buf (+794)
49 8d bf 04 60 00 00 ; lea rdi, [r15+0x6004] e8 54 fe ff ff
3c 3a ; cmp al, 0x3a (colon) ; pop rsi
0f 84 cc ff ff ff ; jz 'label_ret (+810) 5e
88 04 37 ; mov byte [rdi+rsi*1], al ; lea rdi, [r15+0x6004]
48 ff c6 ; inc rsi 49 8d bf 04 60 00 00
e9 df ff ff ff ; jmp 'label_loop (+821) ; cmp al, 0x3a (colon)
3c 3a
; jz 'label_ret (+810)
0f 84 cc ff ff ff
; mov byte [rdi+rsi*1], al
88 04 37
; inc rsi
48 ff c6
; jmp 'label_loop (+821)
e9 df ff ff ff
;
; @_start: (+821) ; @_start: (+821)
55 ; push rbp ; push rbp
48 89 e5 ; mov rbp, rsp 55
48 81 ec 00 80 00 00 ; sub rsp, 0x8000 ; mov rbp, rsp
49 89 e7 ; mov r15, rsp 48 89 e5
41 c7 87 00 60 00 00 00 00 00 00 ; mov dword [r15+0x6000], 0 ; sub rsp, 0x8000
41 c7 87 0c 50 00 00 00 00 00 00 ; mov dword [r15+0x500c], 0 48 81 ec 00 80 00 00
41 c7 87 08 50 00 00 00 00 00 00 ; mov dword [r15+0x5008], 0 ; mov r15, rsp
41 c7 87 04 50 00 00 00 00 00 00 ; mov dword [r15+0x5004], 0 49 89 e7
41 c7 87 00 50 00 00 00 00 00 00 ; mov dword [r15+0x5000], 0 ; mov dword [r15+0x6000], 0
41 c7 87 00 60 00 00 00 00 00 00
; mov dword [r15+0x500c], 0
41 c7 87 0c 50 00 00 00 00 00 00
; mov dword [r15+0x5008], 0
41 c7 87 08 50 00 00 00 00 00 00
; mov dword [r15+0x5004], 0
41 c7 87 04 50 00 00 00 00 00 00
; mov dword [r15+0x5000], 0
41 c7 87 00 50 00 00 00 00 00 00
; @main_loop: ; @main_loop:
e8 ef fd ff ff ; call 'rd_buf (+895) ; call 'rd_buf (+895)
e8 57 fe ff ff ; call 'get_next_token (+900) e8 ef fd ff ff
e8 80 ff ff ff ; call 'label (+905) ; call 'get_next_token (+900)
e9 ec ff ff ff ; jmp 'main_loop (+910) e8 57 fe ff ff
; call 'label (+905)
e8 80 ff ff ff
; jmp 'main_loop (+910)
e9 ec ff ff ff