本文共 1852 字,大约阅读时间需要 6 分钟。
1、现在E盘建立一个MASM文件夹
LINK.EXE 连接 2、在EX11.ASM中写代码 汇编语言的主体框架DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS,AX MOV AH, 4CH INT 21HCODE ENDSEND START
汇编语言里面分号;表示注释
标志位必须记住: https://wenku.baidu.com/view/71fe5f06cc17552707220801.htmlDATA SEGMENT BUF1 DB A8H,9FH,B4H,25H BUF2 DB 78H,FFH,D3H,5CH BUF3 DB 4 DUP(?) DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: 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 21HCODE ENDSEND START
运行的代码
DATA SEGMENT BUF1 DB A8H,9FH,B4H,25H BUF2 DB 78H,FFH,D3H,5CH BUF3 DB 4 DUP(?) DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS,AX LEA SI,BUF1 LEA DI,BUF2 MOV BX,OFFSET BUF3 MOV CX,4 CLC ;CF=0, STC CF=1NEXT: 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 21HCODE ENDSEND START
下载
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:\MASM 回车后键入C:,回车当前的C盘就被关联到E:\MASM
在当前C盘键入dir命令,可以看到E:\MASM目录下的文件 第二行、第三行代码出现错误,是因为A8H中A被当作变量,应在前面加上0DATA 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。