编写代码与初步运行

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:\MASM 回车后键入C:,回车

当前的C盘就被关联到E:\MASM
在当前C盘键入dir命令,可以看到E:\MASM目录下的文件

在这里插入图片描述
在这里插入图片描述
第二行、第三行代码出现错误,是因为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。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值