Показать сообщение отдельно

  #6  
Старый 08.04.2008, 20:33
VERte][
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме:
3013539

Репутация: 441
По умолчанию

Цитата:
Сообщение от 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 (на мой взгляд офигенная книга для начинающего).

зы. Пильщиков ведет в МГУ на ВМиК, так что мужик свой =) Кому надо могу скинуть лекции в печатном виде другого ВМКшного препода по асму, там теория + отличные практические примеры.

Последний раз редактировалось VERte][; 08.04.2008 в 20:35..
 
Ответить с цитированием