Does anybody see the difference between this code:
Code: Select all
section .data
p db 'helloworld.txt', 0
msg db 'hello world', 0
len equ $ - msg
newline db 10
section .bss
msg1: resb 64
section .text
global _start
_start:
call openfile
mov rdi, rax
mov rax, 1
mov rsi, msg
mov rdx, len
syscall
call openfile
mov rdi, rax
mov rax, 1
mov rsi, newline
syscall
call openfile
mov rdi, rax
mov rax, 0
mov rsi, msg1
mov rdx, 12
syscall
mov rax, 3
mov rdi, p
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg1
mov rdx, 64
syscall
mov rax, 60
syscall
openfile:
mov rax, 2
mov rdi, p
mov rsi, 2
ret
Code: Select all
section .data
p db 'helloworld.txt', 0
msg db 'hello world', 0
len equ $ - msg
newline db 10
section .bss
msg1: resb 64
section .text
global _start
_start:
mov rax, 2
mov rdi, p
mov rsi, 2
syscall
mov rdi, rax
mov rax, 1
mov rsi, msg
mov rdx, len
syscall
mov rax, 2
mov rdi, p
mov rsi, 2
syscall
mov rdi, rax
mov rax, 1
mov rsi, newline
syscall
mov rax, 2
mov rdi, p
mov rsi, 2
syscall
mov rdi, rax
mov rax, 0
mov rsi, msg1
mov rdx, 12
syscall
mov rax, 3
mov rdi, p
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg1
mov rdx, 64
syscall
mov rax, 60
syscall