169 похожих чатов

Фух... Я справился - создал я файл и сделал в

него запись:
fasm cfw.asm crf && chmod +x crf && ./crf flat assembler version 1.73.09 (16384 kilobytes memory) 3 passes, 325 bytes. @cloudshell:~/Assem$ cat mylikedfile.txt
Welcome to 64 bit Linux! What's up?

Вот код:
format ELF64 executable
segment readable writeable executable

; Создаем файл
mov rax, 2
mov rdi, filename_path
mov rsi, O_CREATE
mov rdx, 0666o
syscall

; Записываем в файл
mov rdi, rax
mov [fd], rax
mov rax, 1
mov rsi, buf
mov rdx, size
syscall

; Закрываем файл
mov rdi, [fd]
mov rax, 3
syscall
; Завершение программы

mov rax, 60
syscall

segment readable writeable

filename_path db 'mylikedfile.txt',0
buf db "Welcome to 64 bit Linux! What's up?",0,10
fd: dq 0
size = $-filename_path
O_CREATE = 0102o ;0x40

До этого у меня строка была такой:
mov rdx, 0777o .
Оказывается, вполне достаточно было указать лишь биты на чтение/запись, а я посредством 0777о выставил еще и на выполнение, естественно, бит выполнения оказался лишним, и я сделал так:
mov rdx, 0666o

3 ответов

21 просмотр

А ты уверен, что работает? Потому что: 1. Ты не указал в режиме открытия доступ на запись 2. Ты используешь устаревший дефайн 0102, и так же он не равен 0x40. 0102 == 0x42 3. На самом деле, это не проблема, но флаги файла тут не причём

Всё, не то запустил. Работает нормально

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта