Проблема с оператором минус в masm 6.12

Тема в разделе "WASM.BEGINNERS", создана пользователем geka, 12 авг 2006.

  1. geka

    geka New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2006
    Сообщения:
    6
    Пытаюсь сейчас написать свой собственный mbr, но вот что то возникли проблемы с вот такой вот нехорошей строчкой db 510-($-7c00h) dup (0), которая стабильно возвращает error A2094: operand must be relocatable. Подскажите что делать, а то считать размер получившейся программы в уме как то гиморойно.
    Вот код всей программы:

    .model tiny
    .code
    org 7c00h

    start:
    int 18h

    db 510-($-7c00h) dup (0)
    db 0AAh, 055h
    end start
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    Код (Text):
    1. .model tiny
    2. .code
    3. org 7c00h
    4.  
    5. start:
    6. int 18h
    7.  
    8. codeend:
    9. db 510-(codeend-start) dup (0)
    10. db 0AAh, 055h
    11. end start
     
  3. geka

    geka New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2006
    Сообщения:
    6
    Спасибо ? А в чем проблема то была, что так писать нельзя ? Вроде же это просто вычитание из одной константы другой ?
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    $ и все метки перемещаемы. В dup можно писать только абсолютные адреса, т.е. можно было
    db 510-($-start) dup (0)