Damus
Фальтослав :blobcatsnapped: (CHAYKA43) profile picture
Фальтослав :blobcatsnapped: (CHAYKA43)
@Фальтослав :blobcatsnapped: (CHAYKA43)
Я ненавижу арм64 чисто иза сускалов

Мне одному так кажется что сускалы уебанские?​:bloberika_blush:​
Для примера возьмем ПРОСТУЮ ПРОГРАММУ на arm64 (для linux)

global _start
section .text

_start:
mov x8, 64
mov x0, 1
ldr x1, =msg
mov x2, len
svc 0

mov x8, 93
mov x0, 0
svc 0

section .data
msg: db "Hello, world!", 10
len: equ $ - msgВы нихуя не поняли?
Я тоже​:noooo:​
А теперь для x86_64:

global _start
section .text

_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, len
syscall

mov rax, 60
mov rdi, 0
syscall

section .data
msg: db "Hello, world!", 10
len: equ $ - msgТут я уже что то могу разобрать!​:cat_is_blob_and_melt:​
rax это номер сускала, rdi это файловый дескриптор (если я правильно помню) куда писать, rsi это сообщение, rdx это длина (он делает вид что типа умный)
А с 60 сускалом история другая, здесь rdi это с каким кодом завершить программу.
Хотя программу можно сократить до:

global _start
section .text

_start:
mov rax, 1
mov rdi, 1
mov rsi, "Hello, world!"
mov rdx, 10
syscall

mov rax, 60
mov rdi, 0
syscallЕсли я правильно помню
Но вы скажите:
"Бля, пиши на питоне, си, си++ или другом языке где не надо думать 'А под каким блять номером сускалл для открытия файла?'"
Ну тут вы будете правы, я просто шизик.
КСТАТИ, НОМЕР СУСКАЛА ДЛЯ ОТКРЫТИЯ ЭТО 2!!!​:catbonk:​
1
Праздник Созерцания · 3w
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqyvk62ljrduwllc8hk53ttyz986qkeg3zrwnhwka0cwy6hnpx6ltsr825wr короче, вся претензия в том, что ты язык не знаешь?