算术运算综合示例:(V-(X*Y+Z-540)/X,(MASM完整的汇编源程序)

算术运算综合示例:(V-(X*Y+Z-540)/X,(MASM完整的汇编源程序)

详细命令参考:1.汇编语言入门–调试工具debug的使用(史上最全,11种常见命令)windows64位搭建汇编(包含汇编dosbox , masm文件,link文件和debug调试)以及debug调试命令(dosbox调试汇编程序的简单使用教程)

1.源程序

data segment ;定义数据段
x DW 2
y DW 5
v DW 35
z DW 560
w DW ?
data ends
;-------------------
code segment ;定义代码段
	 assume cs:code,ds:data
start:  
        mov ax,data
		mov ds,ax
	    mov ax,x
	    imul y
		mov cx,ax
		mov bx,dx
		mov ax,z
		cwd
		add cx,ax
		adc bx,dx
		sub cx,540
		sbb bx,0
		mov ax,v
		cwd
		sub ax,cx
		sbb dx,bx
		idiv x
		mov w,ax
		mov w+2,dx
		mov ah,4cH
		int 21H
code ends
end start

2.首先将算术运算的命令写入文本文档中,然后将后缀改为.asm在这里插入图片描述

在这里插入图片描述

3.启动debug

在这里插入图片描述

4.使用masm生成obj目标文件

在这里插入图片描述在这里插入图片描述

5.使用link连接命令产生exe文件

在这里插入图片描述在这里插入图片描述

6.使用debug中-u 查看文件是否写入

在这里插入图片描述

7.使用-g显示文件正常退出,说明文件没有错误

在这里插入图片描述

8.使用-D 0100命令查看寄存器中的数值是否正确在这里插入图片描述

总结:在文本文档中写入编写的完整算术运算,并把后缀名改成.asm。在写的时候,注意要有返回dos命令,并且要定义一个寄存器写入结果。在使用masm生成目标文件.obj,在使用link生成.exe。这时候会看见文件夹多了两个文件。在使用debug中-u命令进行反汇编,查看写入的内容,使用-G查看程序是否有问题,再使用-D会看到写入寄存器中的数字,但是都是低地址存储。
请添加图片描述

Guess you like

Origin blog.csdn.net/qq_56607768/article/details/121199315