almost works!

This commit is contained in:
janis 2026-06-04 08:05:40 +02:00
parent a9d96063f6
commit 6f516bbb93
Signed by: janis
SSH key fingerprint: SHA256:bB1qbbqmDXZNT0KKD5c2Dfjg53JGhj7B3CFcLIzSqq8

View file

@ -2,12 +2,18 @@
# e_ident: u128 # e_ident: u128
# Magic number: 0x7f454c46 = "\x7fELF" # Magic number: 0x7f454c46 = "\x7fELF"
7f 45 4c 46 7f 45 4c 46
02 # EI_CLASS: u8 = ELFCLASS64 # EI_CLASS: u8 = ELFCLASS64
01 # EI_DATA: u8 = ELFDATA2LSB 02
01 # EI_VERSION: u8 = EV_CURRENT # EI_DATA: u8 = ELFDATA2LSB
00 # EI_OSABI: u8 = ELFOSABI_NONE 01
00 # EI_ABIVERSION: u8 = 0 # EI_VERSION: u8 = EV_CURRENT
00 00 00 00 00 00 00 # EI_PAD: [u8; 7] 01
# EI_OSABI: u8 = ELFOSABI_NONE
00
# EI_ABIVERSION: u8 = 0
00
# EI_PAD: [u8; 7]
00 00 00 00 00 00 00
# e_type: u16 = E_EXEC # e_type: u16 = E_EXEC
02 00 02 00
# e_machine: u16 = EM_X86_64 # e_machine: u16 = EM_X86_64
@ -78,7 +84,7 @@
# cmp rax, 0 # cmp rax, 0
48 83 f8 00 48 83 f8 00
# jle die # jle die
0f 8e b0 00 00 00 0f 8e b3 00 00 00
## (162) ## (162)
# ; end = r8 # ; end = r8
# mov r8, rax # mov r8, rax
@ -98,7 +104,7 @@
# cmp r9, r8 # cmp r9, r8
4d 39 c1 4d 39 c1
# jge .L3 # jge .L3
0f 8d 6f 00 00 00 0f 8d 72 00 00 00
# (190) # (190)
# #
# ; if (*pos == '#') { # ; if (*pos == '#') {
@ -113,7 +119,6 @@
3c 23 3c 23
# jne .L1 # jne .L1
0f 85 15 00 00 00 0f 85 15 00 00 00
# (210)
# ; while (*pos != '\n') pos++; # ; while (*pos != '\n') pos++;
# ; .L2: (210) # ; .L2: (210)
# inc r9 # inc r9
@ -180,11 +185,13 @@ c0 e0 04
# je .L0 # je .L0
0f 84 8d ff ff ff 0f 84 8d ff ff ff
## (296) ## (296)
# inc r9
49 ff c1
# jmp .L1 ; # jmp .L1 ;
e9 ba ff ff ff e9 b7 ff ff ff
## (301) ## (304)
# ; } # ; }
# .L3: (301) # .L3: (304)
# ; write the decoded bytes to stdout # ; write the decoded bytes to stdout
# mov rax, 1 (sys_write) # mov rax, 1 (sys_write)
48 c7 c0 01 00 00 00 48 c7 c0 01 00 00 00
@ -201,10 +208,10 @@ e9 ba ff ff ff
# syscall # syscall
0f 05 0f 05
# jmp .READ ; # jmp .READ ;
e9 30 ff ff ff e9 2d ff ff ff
## (338) ## (341)
# #
# die: (338) # die: (341)
# mov rax, 60 (sys_exit) # mov rax, 60 (sys_exit)
48 c7 c0 3c 00 00 00 48 c7 c0 3c 00 00 00
# xor rdi, rdi # xor rdi, rdi