Вопрос про компиляцию

Тема в разделе "WASM.BEGINNERS", создана пользователем Revolver, 1 авг 2007.

  1. Revolver

    Revolver New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2007
    Сообщения:
    7
    Короче я компилирую этот код

    Код (Text):
    1. TITLE PRIMER11
    2. ;--вывод строки символов в текущую позицию курсора—
    3. CODSEG SEGMENT
    4. ASSUME CS:CODSEG, DS:CODSEG, SS:CODSEG, ES:CODSEG
    5. ORG 100H
    6. BEGIN: • ;метка
    7. JMP BEG_CODE ;безусловный переход
    8. ;текст для вывода на экран
    9. TEXT DB 'Это моя первая программа на языке ассемблера. $'
    10. ; $ - признак конца строки
    11. BEG_CODE: /метка начала основного входа
    12. ;две следующие строки необходимы для правильной работы
    13. ;ЕХЕ-программы, для СОМ-программы их можно опустить
    14. MOV AX,CS ;содержимое регистра CS
    15. MOV DS,AX ;пересылаем в регистр DS
    16. ;--вывод строки--
    17. LEA DX,TEXT ;где находится строка
    18. MOV АН,9 ;номер функции DOS
    19. INT 21H ' .;вызов функции
    20. ;,——теперь выходим в операционную систему
    21. MOV АН,4СН ;номер функции DOS
    22. INT 21H ;вызов функции
    23. CODSEG ENDS /конец сегмента
    24. END BEGIN ;конец программы и точка входа
    но выдаёт ошибки

    Object filename [file.OBJ]:
    Source listing [NUL.LST]:
    Cross-reference [NUL.CRF]:
    file.asm(6): warning A4001: Extra characters on line
    file.asm(11): warning A4001: Extra characters on line
    file.asm(18): warning A4101: Missing data; zero assumed
    file.asm(19): error A2112: Unexpected end of line
    file.asm(21): warning A4101: Missing data; zero assumed

    49270 + 414071 Bytes symbol space free

    4 Warning Errors
    1 Severe Errors

    C:\masm>


    что делать?
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Что-то я сомневаюсь что это masm.
    Копипастим, да? ;)
     
  3. Revolver

    Revolver New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2007
    Сообщения:
    7
    Это короче из книги Пирогова )
     
  4. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Не много не по теме:
    Не стоит начинать изучение АСМа с книг Пирогова - тяжко. Лучше туторы Iczelion'a

    Надо просто: INT 21h

    BEGIN:

    Короче, читай внимательно лог с инфой об ошибках...

    PS: Ни когда не видел в МАСМе директивы/макроса TITLE
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Twister
    Просто прошли времена отладки прог по распечаткам сорцов :) А так - директивы "управления" листингом остались.
     
  6. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    По туториалам Iczelion'a можно учится программировать на ассемблере под DOS?
     
  7. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    censored
    А ты видел там код под ДОС? ;)
    Да и честно говоря - нафиг он нужен, ДОС? Чтоб быть поближе к реальному режиму?
     
  8. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Я не видел туториалов Iczelion'a, потому и спросил (подозреваю, что там ничего про DOS нету). Сам же учил программирование на ассемблере под DOS, когда Windows еще "в зачатках" только была.
    А это как нибудь отвечает на поставленный в #1 вопрос?

    Revolver
    Код (Text):
    1. cseg segment para public 'code'
    2. assume cs:cseg, ds:cseg, es:cseg
    3. org 100h
    4.  
    5. start:
    6. mov ax, cs
    7. mov ds, ax
    8. mov es, ax
    9. mov dx, offset sample
    10. mov ah, 9
    11. int 21h
    12. mov ax, 4c00h
    13. int 21h
    14. cseg ends
    15. end begin
    Попробуйте так, masm'a нет, но вроде должно заработать.