Error: Tasm & masm

Тема в разделе "WASM.BEGINNERS", создана пользователем DioNNiS, 8 сен 2006.

  1. DioNNiS

    DioNNiS New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2006
    Сообщения:
    25
    Оба находятся D:\tasm, D:\masm32
    Имеется простенькая программа, выводящая Hello World!!!
    Через tasm все компилируется отлично
    D:\tasm\bin\tasm /zi DosExe.asm
    D:\tasm\bin\tlink /v DosExe.obj
    Через masm
    D:\masm32\bin\ml /Zi DosExe.asm
    D:\masm32\bin\link DosExe.obj
    Создет объект, а линковать не хочет, пишет:
    link:error: Segment reference in fixup record
    DosExe.obj : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    Код самой программы:
    Код (Text):
    1. .MODEL    small
    2. .stack    100h
    3.  
    4. .data
    5.     msg        db "This is a 16-bit DOS .EXE executable",13,10,"Hello, World!",13,10,"$"; The string must end with a $
    6.  
    7. .code
    8. start:
    9.     mov        ax,@data        ; Get the address of the data segment
    10.     mov        ds,ax            ; Set the DS segment
    11.      
    12.     mov        dx,offset msg    ; Get the address of our message in the DX
    13.     mov        ah,9            ; Function 09h in AH means "WRITE STRING TO STANDARD OUTPUT"
    14.     int        21h                ; Call the DOS interrupt (DOS function call)
    15.    
    16.     mov        ax,0C07h        ; Function 0Ch = "FLUSH BUFFER AND READ STANDARD INPUT"
    17.     int        21h                ; Waits for a key to be pressed.
    18.    
    19.     mov        ax, 4C00h        ; the exit fuction  [4C+no error (00)]
    20.     int        21h                ; call DOS interrupt 21h
    21. end start
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    так Вы не тот масм используете
     
  3. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    DioNNiS
    masm32 & 16-Bit DOS - так нельзя.
    Возьми masm постарее.