Ошибка с Begin: помогите исправить

Тема в разделе "WASM.BEGINNERS", создана пользователем _dinoZaur, 23 янв 2009.

  1. _dinoZaur

    _dinoZaur Юрец

    Публикаций:
    0
    Регистрация:
    14 янв 2009
    Сообщения:
    6
    Адрес:
    Симферополь
    Привет всем:)
    Вот начал я изучение assembler'a с книги Калашникова. Там пример к первой главе содержит такой исходный код:
    Код (Text):
    1. ;------------------------------
    2. CSEG segment                
    3. org 100h                    
    4.                      
    5. Begin:                      
    6.  
    7. mov ah, 9                    
    8. mov dx, offset Message    
    9. int 21h                      
    10.                              
    11. int 20h                      
    12.                              
    13. Message db 'Hello, world!$'  
    14. CSEG ends                    
    15. end Begin  
    16. ;------------------------------
    Но компилятор (masm) ругается на "Begin:" - помогите, пожалуйста, исправить ошибку.
     
  2. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    start: jmp begin
     
  3. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    ;------------------------------
    CSEG segment
    org 100h

    start:

    mov ah, 9
    mov dx, offset Message
    int 21h

    int 20h

    Message db 'Hello, world!$'
    CSEG ends
    END start
    ;------------------------------
     
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    _dinoZaur
    Во-первых надо писать как ругается и в какой строчке, а то так неясно.
    Во вторых вместо begin я настоятельно рекомендую использовать start.
     
  5. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Если собрать так:
    Код (Text):
    1. \masm32\bin\ml /c /AT "t.asm"
    2. \masm32\bin\link16 /TINY "t.obj"
    то всё работает.
     
  6. _dinoZaur

    _dinoZaur Юрец

    Публикаций:
    0
    Регистрация:
    14 янв 2009
    Сообщения:
    6
    Адрес:
    Симферополь
    Спасибо всем, что ответили! Попробую->отпишусь.
    //мир не без добрых людей
     
  7. _dinoZaur

    _dinoZaur Юрец

    Публикаций:
    0
    Регистрация:
    14 янв 2009
    Сообщения:
    6
    Адрес:
    Симферополь
    Negatory Assembly Studio ругается так:
    -----------------------------------------------------------------------
    warning A4023: length of symbol previously assumed to be different : start
    -----------------------------------------------------------------------
    //точно также ругалось на begin
    AssemblerIA64, да - так компилится и линкуется без ошибок, только .сом файл запускается на секунду и тут же закрывается - Hello, world! не успеваю увидеть.
     
  8. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Нужно написать так:
    Код (Text):
    1. ;------------------------------
    2. CSEG segment                
    3. org 100h                    
    4.                      
    5. start:                      
    6.  
    7. mov ah, 9                    
    8. mov dx, offset Message    
    9. int 21h  
    10.  
    11. mov ah, 8
    12. int 21h             ; Ожидание ввода символа
    13.                              
    14. int 20h                      
    15.                              
    16. Message db 'Hello, world!$'  
    17. CSEG ends                    
    18. END start
    19. ;------------------------------
    или запустить из командной строки.
     
  9. _dinoZaur

    _dinoZaur Юрец

    Публикаций:
    0
    Регистрация:
    14 янв 2009
    Сообщения:
    6
    Адрес:
    Симферополь
    AssemblerIA64, большое спасибо!!!
    Теперь буду знать.