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-installer,并安装
2、桌面出现图标,点击进入下面界面:(按alt+回车可以键入全屏,再按alt+回车返回半屏)
3、将MASM目录进行绑定
设MASM目录位于E:\MASM,该目录下有进行汇编程序设计的几个基本文件:MASM.exe(微软开发的汇编程序,用于把用户开发的汇编语言源程序*.asm 汇编成目标文件*.obj),LINK.exe(用于把目标文件*.obj连接生成*.exe可执行文件),debug.exe(调试文件),EDIT.EXE(全屏幕文本编辑器)
绑定方法:
mount c: e:\wmasm 回车后键入C:,回车
当前的C盘就被关联到E:\WMASM
在当前C盘键入dir命令,可以看到E:\WMASM目录下的文件
第二行、第三行代码出现错误,是因为A8H中A被当作变量,应在前面加上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。