2

x86 コードを COM 実行可能ファイルにアセンブルする方法はありますか? アセンブラとしてmasm32を使用しています。アセンブル/リンクのコマンドラインで十分な情報が見つからないため、常にエラーが発生します...

ここに簡単なプログラムと私が得るエラーがあります:

何かアイデアはありますか?より良いドキュメントを持つ他のアセンブラーへの提案もいいでしょう...

コード:

  .model tiny
  .code

  ORG 100H
HOST:
  mov ah, 9
  mov dx, OFFSET HI
  int 21H

  mov ax, 4C00H
  int 21H

HI DB 'Hi$'

  END HOST

組み立てに使用するコマンドとエラー:

D:>ml /AT test.s Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. 全著作権所有。

アセンブル: test.s Microsoft (R) Incremental Linker Version 5.12.8078 Copyright (C) Microsoft Corp 1992-1998. 全著作権所有。

/z2 "host.obj" /t "test.com" NUL LINK: 警告 LNK4044: 認識されないオプション "z2"; 無視されたリンク: 警告 LNK4044: 認識されないオプション "t"; 無視された test.obj : 警告 LNK4033: オブジェクト形式を OMF から COFF に変換中 test.obj : 致命的なエラー LNK1190: 無効なフィックスアップが見つかりました、タイプ 0x0001

4

1 に答える 1

2

アセンブリ コードをインライン アセンブリとして C ファイルにインクルードし、それを標準 C コンパイラで COM にコンパイルします。

于 2011-02-06T22:00:00.773 に答える