09.12.2006, 01:16
общий
это ответ
Здравствуйте, дим!
Компилятор и линкер проглотят и INT 21H, и INT 21.
Но правильнее INT 21H, потому что это нужный номер прерывания. А если задавать просто 21, то когда запустите исполняемый модуль, то он зависнет (если тянет на десятичные номера, пишите 33).
А насчёт "invalid fixup found" - насколько я помню это ругательство на неверный номер. (типа запихнуть 257 в однобайтовую ячейку и т.п.). В коде на первый взгляд проблем нет. Единственное предложение - перенаберите на всякий случай все цифры ещё раз, может там буква "о" вместо нуля где-то.... (или ещё что-то такое, может русская буква вместо латиницы. А ещё посмотрите на номер строки, на которую ругается)
Попробуйте также сделать пустую програму, т.е. начало и сразу выход. Если и дальше будет ругаться, то ошибку будет легче найти (меньше вариантов), а если не будет - то добавляйте нужные строки в уже работающий код (и если заглючит - будете знать, что ошибка в них).
(P.S. сам знаю что ответ плохой, но вдруг поможет?)