Size: a a a

Ассемблер

2021 June 12

АШ

Алексей Шведов... in Ассемблер
Ох уж этот times))
источник

s

s54816 in Ассемблер
Я бы убрал отсюда org нафиг, это уже линкера проблемы. А так,
format ELF

section '.text' executable
org 0x7C00
use16
extrn _os_start

public _start

_start:
 call word[_os_start]

times(512-2-($-0x7C00)) db 0
db 0x55, 0xAA
собирается.
источник

АШ

Алексей Шведов... in Ассемблер
Тогда ещё запастись ld конфигом нужно))
источник

s

s54816 in Ассемблер
А не нужно? Раст-то как узнает, где он находится? Или он position independent весь из себя?
источник

АШ

Алексей Шведов... in Ассемблер
Только не понятно, на кой тебе эта секция, потому что она всё равно игнорируется
источник

s

s54816 in Ассемблер
И сюда ещё use16 надо, иначе нехорошо получится.
источник

АШ

Алексей Шведов... in Ассемблер
Не могу смириться, что такое пишут на Расте...
источник

X

XÆA-XII in Ассемблер
Во, заработало
источник

X

XÆA-XII in Ассемблер
И код теперь в правильном порядке
источник

X

XÆA-XII in Ассемблер
Расту это и не нужно знать. Скомпилил .a и всё остальное вне его ответстсвенности
источник

s

s54816 in Ассемблер
Да мы тут выше ld-скрипты обсуждали. Ты где адреса-то назначаешь коду?
источник

X

XÆA-XII in Ассемблер
Нигде
источник

X

XÆA-XII in Ассемблер
Пока ещё не написал ld скрипт
источник

s

s54816 in Ассемблер
А ещё у тебя тут в os_start 32-битный код. Ты об этом, конечно, знаешь, и в ассемблерном коде у тебя будет переключение в защищённый режим, так?
источник

X

XÆA-XII in Ассемблер
Тут где-то говорилось, что с помощью objdump можно перегнать elf в bin
источник

X

XÆA-XII in Ассемблер
У меня везде 32-битный код же
источник

АШ

Алексей Шведов... in Ассемблер
А у биоса нет.
источник

s

s54816 in Ассемблер
А вот BIOS CSM об этом не знает.
источник

X

XÆA-XII in Ассемблер
Блин
источник

X

XÆA-XII in Ассемблер
Ну ладно, как переключаться в защищённый режим я смотрел
источник