odysset
@odysset
Программист, немного музыкант и bmx'ер

Как заполненить заранее неизвестное количество байт в TASM?

Читал на хабре статью Пишем свою ОС.
Там был приведен код загрузчика на yasm. И так как код располагается в загрузочном секторе, то мы должны иметь в конце этого сектора сигнатуру 55 AA. На yasm это делается с помощью директивы times.
times:
times0x1FE-times+start db 0

А как реализовать инициализацию этих двух последних байт директивой ассемблера tasm? Я знаю что есть dup, но как им воспользоваться в данном случае?

.code
org 7c00h
start:
;======code======
;======data======
;заполнение до конца сектора-2 байта нулями
magic db 55, AA
end start
Если конструкция, являющаяся прямым отображением приведенной выше

finish:
db 1FEh - $ + start dup (0)

при компиляции выдает ошибку:

**Error** C:\MyOS\source\boot.asm(49) Can't subtract dissimilar relative quantities

Google ничего хорошего не посоветовал, вся надежда на вас, на знатоков!
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект