Оформление подпрограммы в отдельном файле

Тема в разделе "WASM.BEGINNERS", создана пользователем Buggy, 22 июл 2007.

  1. Buggy

    Buggy New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2007
    Сообщения:
    3
    Не могу оформить подпрограмму.
    Делаю так:
    Код (Text):
    1. public show_text
    2. .model small
    3. .stack 100h
    4. .data
    5. buffer db "Hello$"
    6. .code
    7. show_text proc near
    8.  mov ah, 09h
    9.  mov dx, offset buffer
    10.  int 21h
    11. show_text endp
    12. end
    И подключаю и вызываю её
    Код (Text):
    1. INCLUDE proc.inc
    2. .model small
    3. .stack 100h
    4. .data
    5. .code
    6. main proc
    7. mov ax, @data
    8. mov ds, ax
    9.  
    10. call show_text
    11.  
    12. mov ax, 4C00h
    13. int 21h
    14. main endp
    15. end main
    16. end
    Весь ae.exe слетает и выдаёт ошибку критическую
     
  2. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Может я нифига не понимаю, но разве из подпрограммы не должно быть возврата?
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Не пробовал в основном модуле объявить процедуру как внешнюю ( PROTO или EXTERN ) ?
     
  4. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    Buggy
    Вообще исходный текст на MASM'е имеет определенную структуру, а INCLUDE вставляет текст файла указанного аргументом "как есть". И подумай что в итоге получиться? Если ты вставить первый файл потом, второй по порядку. Получиться чушь. Кароче запихивай в INC файл только код функции. А INCLUDE вставляй внутри секции CODE.