1. Eドライブ
にMASMフォルダーのLINK.EXE接続を作成します
。2. EX11.ASMにコードを記述します
。アセンブリ言語のメインフレーム
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS,AX
MOV AH, 4CH
INT 21H
CODE ENDS
END START
アセンブリ言語のセミコロン;コメントを示します。
フラグは覚えておく必要があります:
https : //wenku.baidu.com/view/71fe5f06cc17552707220801.html
DATA SEGMENT
BUF1 DB A8H,9FH,B4H,25H
BUF2 DB 78H,FFH,D3H,5CH
BUF3 DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS,AX
LEA SI,BUF1
LEA DI,BUF2
MOV BX,OFFSET BUF3
MOV CX,4
CLC ;CF=0, STC CF=1//循坏
NEXT: MOV AL,[SI]//取字节
MOV DL,[DI]//取字节
ADD AL,DL//相加
MOV [BX],AL//存数
INC SI//移指针
INC DI//移指针
INC BX//移指针
DEC CX//循环次数减1
JNZ NEXT ;ZF=0//循环回去
MOV AH, 4CH
INT 21H
CODE ENDS
END START
コードを実行する
DATA SEGMENT
BUF1 DB A8H,9FH,B4H,25H
BUF2 DB 78H,FFH,D3H,5CH
BUF3 DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS,AX
LEA SI,BUF1
LEA DI,BUF2
MOV BX,OFFSET BUF3
MOV CX,4
CLC ;CF=0, STC CF=1
NEXT: MOV AL,[SI]
MOV DL,[DI]
ADD AL,DL
MOV [BX],AL
INC SI
INC DI
INC BX
DEC CX
JNZ NEXT ;ZF=0
MOV AH, 4CH
INT 21H
CODE ENDS
END START
2.デバッグとダウンロード
ダウンロード
DOSBox-のコンパイル環境は、ビルドステップに
1、ダウンロードDOSBox0.74-win32のインストーラ、およびインストール
)2を、デスクトップのアイコンが表示され、次のインターフェイスを入力します:( ALT + Enterを押して全画面表示を入力することができ、Altキーを押しながら、キャリッジリターンと半分の画面
3. MASMディレクトリをバインドし
ます。MASMディレクトリはE:\ MASMにあります。このディレクトリには、アセンブラ設計用のいくつかの基本ファイルがあります。MASM.exe(Microsoftが開発したアセンブラプログラムで、ユーザーが開発したアセンブリ言語ソースを置くために使用されます)プログラム* .asmはターゲットファイル* .objにアセンブルされます。LINK.exe(ターゲットファイル* .objを接続して* .exe実行可能ファイルを生成するために使用されます)、debug.exe(デバッグファイル)、EDIT.EXE(フルスクリーンテキスト) (エディター)
バインド方法:
cをマウント:e:\ wmasm、C:を入力してEnterキーを押した後、Enterキーを押します
現在のCドライブはE:\ WMASMに関連付けられています。
現在のCドライブにdirコマンドを入力すると、E:\ WMASMディレクトリ内のファイルを表示できます
コードの2行目と3行目のエラーは、AがA8Hでは変数と見なされ、0を前に追加する必要があるためです。
DATA SEGMENT
BUF1 DB 0A8H,9FH,0B4H,25H
BUF2 DB 78H,0FFH,0D3H,5CH
BUF3 DB 4 DUP(?)
DATA ENDS
次のステップ:
DEBUGコマンド
Debug-Rに接続して、CPUレジスタの内容を表示および変更します
Debug-Dでメモリの内容を表示します
Debug-Eでメモリの内容を書き換えます
Debug-Uでメモリ内の機械語命令をアセンブリ命令
Debug-Tに変換して実行します機械語命令
Debug-Aは、機械語命令をアセンブリー命令の形式でメモリーに書き込みます。
元のリンク:https://blog.csdn.net/qq_36215315/article/details/79893476
コード内のADD命令はエラーなしでコンパイルされますが、結果は間違っているため、ADCを使用する必要があります。