Сообщение от
Manoff
Да , я знаю , но и тот и другой отказываются компелить код
Код:
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world!$'
CSEG ends
end Begin
Код взят из Калашникова я проблему не понимаю , а компел просто показывает что в этом коде ошибка.
хм, как правило masm ругается на отсутсвие директивы assume, если будешь дальше читать по Калашникову (между прочим неплохая книга, для новичка) то пиши так для компилов 4.х и 5.х :
Код:
CSEG segment
assume cs:cseg, ds:cseg, ss:cseg, es:cseg
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world!$'
CSEG ends
end Begin
и так для 6.11 (и наверно более поздних версий до 6.15):
Код:
CSEG segment 'CODE'
assume cs:cseg, ds:cseg, ss:cseg, es:cseg
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world!$'
CSEG ends
end Begin
А еще смотри не перепутай компиляцию для exe и com, com это как правило ключ T/ при линкеровке.
Плюс, далее предупреждая возможные вопросы =), прямое отображение в видеобуфер из-под wincmd работает не корректно (вернее нужные данные загружаются, но далеко не всегда отображаются)
И вообще мой совет перед Калашниковым и другими практическими книгами почитать теорию аля Пильщиков В.Н. Assembler (на мой взгляд офигенная книга для начинающего).
зы. Пильщиков ведет в МГУ на ВМиК, так что мужик свой =) Кому надо могу скинуть лекции в печатном виде другого ВМКшного препода по асму, там теория + отличные практические примеры.