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

2023-11-05 04:20

本文主要是介绍算术运算综合示例:(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,datamov ds,axmov ax,ximul ymov cx,axmov bx,dxmov ax,zcwdadd cx,axadc bx,dxsub cx,540sbb bx,0mov ax,vcwdsub ax,cxsbb dx,bxidiv xmov w,axmov w+2,dxmov ah,4cHint 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会看到写入寄存器中的数字,但是都是低地址存储。
请添加图片描述

这篇关于算术运算综合示例:(V-(X*Y+Z-540)/X,(MASM完整的汇编源程序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347391

相关文章

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C