Задать вопрос
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 ничего хорошего не посоветовал, вся надежда на вас, на знатоков!
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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