アセンブリ言語1

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を使用する必要があります。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

元の記事を44件公開 Likes2 訪問数540

おすすめ

転載: blog.csdn.net/qq_43699776/article/details/105201555