4.1 用源文件写汇编代码

汇编语言

1. 源程序

1.1 伪指令

  • 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行
  • 伪指令没有对应的机器指令,最终不被CPU所执行
  • 伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作

1.2 段(segment)

  • 一个段必须有一个名称来标识
  • 使用格式为:
段名 segment
.
.
.
段名 ends
  • 一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当做栈空间来使用
  • 一个源程序中所有将被计算机处理的信息:指令、数据、栈,被划分到了不同的段中

1.3 end

  • end是一个汇编程序的结束标记
  • 编译器在编译汇编程序的过程中,碰到了end,就结束对源程序的编译
  • 注意不要搞混end和ends,ends是和segment成对使用的,标记一个段的结束,ends的含义可以理解为end segment
  • 我们这里的end的作用是标记整个程序的结束

1.4 assume

  • 这条伪指令的含义为“假设”。它假设某一段寄存器和程序中的某一个用segment…ends定义的段相关联
  • 以后记着用assume将有特定用途的段和相关的段寄存器关联起来即可

2. 用源文件写汇编代码

2.1 编写汇编代码

  • 首先在masm文件夹内创建一个txt文件,并且编写汇编代码
assume cs:codesgcodesg segmentmov ax,0123hmov bx,0456hadd ax,bxadd ax,axmov ax,4c00hint 21h  //退出程序代码codesg ends  //代表段结束end  //整个程序结束

image.png

2.2 更改文件后缀

  • 把txt后缀改为asm,以便编译器能够识别到

image.png

2.3 编译文件

  • 打开DOSBox,输入dir,然后再输入masm 文件名,编译该文件并且生成obj文件
mount c d:masm
c:
dir
masm
code

image.png

image.png

image.png

  • 生成.obj文件,完成编译

2.4 链接文件

link
code

image.png

image.png

  • 生成.exe文件,完成链接

2.5 执行文件

  • 在debug下执行
debug code.exe  //注意这里要加文件后缀名
r
t
t
t

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode每日一题】2312. 卖木头块(DFS记忆化搜索+动态规划)

文章目录 [2312. 卖木头块](https://leetcode.cn/problems/selling-pieces-of-wood/)思路1:用DFS进行记忆化搜索代码:思路2:动态规划代码: 2312. 卖木头块 思路1:用DFS进行记忆化搜索 1.要用DFS深度优先遍历每一种情况。在递归的同时,不断更…

【什么是Internet?网络边缘,网络核心,分组交换 vs 电路交换,接入网络和物理媒体】

文章目录 一、什么是Internet?1.从具体构成角度来看2.从服务角度来看 二、网络结构1.网络边缘1.网络边缘:采用网络设施的面向连接服务1.1.目标:在端系统之间传输数据1.2.TCP服务 2.网络边缘:采用网络设施的无连接服务2.1目标&…

unicloud快速上手,unicloud项目创建以及项目创建注意事项

uniCloud快速上手 本项目地址https://gitee.com/qayrup/unicloud-demo 创建unicloud项目 新建一个uni项目,并选择启用unicloud,选择阿里云或腾讯云 阿里云和支付宝云都支持一个月免费的云,如果只想体验啥的,可以选择这两个, 但是需要注意,支付宝云需要配置跨域,否则很多云函…

XCode升级错误:Command CompileC failed with a nonzero exit code 解决办法

升级完XCode之后,bulid失败,出现如下错误: 问题1: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrunCommand Compi…

网络编程面试题

一、什么是IP地址 1.IP地址是主机在网路中的唯一标识,,当主机从一个网络切换到另一个网络时,会更改IP地址,同样的IP地址也是路由器进行路由选择的标识 2.IP地址的分类 IPV4:采用4字节无符号整数存储 IPV6&#xff…

【JVM】垃圾收集算法,垃圾收集器,调优,如何判断类是无用的类?对象一定分配在堆中吗?了解逃逸分析技术吗?

目录 垃圾收集算法 标记-清除 标记-复制 标记-整理 分代收集算法 垃圾收集器 CMS收集器 G1 收集器 Serial收集器 ParNew收集器 Parallel Scavenge 收集器 Serial Old 收集器 Parallel Old 收集器 引用类型总结 调优 调优命令 调优工具 调优参数 如何判断类是…

PPT好看配色

放几个链接!画图时候可以参考!转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors

Stable Diffusion之核心网络结构解析

Stable Diffusion核心网络结构解析 1. SD模型整体架构初识 1. SD模型整体架构初识 Stable Diffusion模型整体上是一个End-to-End模型,主要由以下三个核心组件构成。 VAE(变分自编码器,Variational Auto-Encoder),U-N…

Redis设计原理简介

键值存储模型: Redis是一个基于内存的键值对存储系统,它支持五种基本数据结构(字符串String、哈希Hash、列表List、集合Set、有序集合Sorted Set)以及几种高级数据结构如Bitmaps、HyperLogLogs等。 单线程架构: Redis采…

VMware部署银河麒麟遇到的问题记录

1. 解决VMware Workstation安装VMware Tools显示灰色的办法 1.关闭虚拟机; 2.在虚拟机设置分别设置CD/DVD、CD/DVD2和软盘为自动检测三个步骤; 3.再重启虚拟机,灰色字即点亮。 2.Linux安装vmTool

【兆易创新GD32H759I-EVAL开发板】Keil 工程警告 Multiply defined Global Symbol 原因排查

在测试【兆易创新GD32H759I-EVAL开发板】过程中 遇到许多小坎坷 今天遇到的是 .\Objects\Project.axf: Warning: L6439W: Multiply defined Global Symbol OS_Tick_Enable defined in .text.OS_Tick_Enable(os_systick_1.o) rejected in favor of Symbol defined in .text.O…

最尴尬的论文!ChatGPT 抄来的忘记删掉提示词,211高校教授发表在一区SCI期刊

张同学,你的ChatGPT指令提示词忘记删除了?!!!! 近期,一篇题目为“The three-dimensional porous mesh structure of Cu-based metal-organic-framework - aramid cellulose separator enhances …

面试算法-68-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视…

【计算机】——51单片机

单片机是一种内部包含CPU、存储器和输入/输出接口等电路的集成电路(IC芯片) 单片机是单片微型计算机(Single Chip Microcomputer)的简称,用于控制领域,所以又称为微型控制器(Microcontroller U…

TikTok小店运营经验分享,美国本土小店怎么做?

作为资深跨境老玩家,虽不说是经验丰富,至少也是摸清了基本的玩法思路。TikTok作为近来的跨境新蓝海,他的玩法其实并不难,作为第一批试错玩家,今天也诚心给大家分享一些美国本土小店运营经验,感兴趣的话就看…

Linux系统Docker安装Drupal并配置数据库实现公网远程访问本地站点

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…

网速监控,实时网络速度监控

带宽与网速 现在,对高带宽的需求空前高涨,而且网络(包括标准的内部部署)以及公共、私有和混合环境都变得更加复杂。 虽然带宽和网速经常互换使用,但它们并不总是相同的。网速更多的是与延迟有关,而不是与…

ai制图常用的软件有哪些?这5款ai生图工具值得推荐!

过去提起制图,它是一项具备高度专业化的创作活动,需要由熟练掌握制图技能的人完成,且制图通常包含的步骤繁多,很容易劝退想学习或者入门制图的新手,但随着 ai 人工智能技术在各个领域的落地,我们有机会用上…

MYSQL索引、事务、存储引擎(一)

目录 一、索引 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 二、索引的分类 1、普通索引 1.直接创建索引 2.修改方式创建索引 3.创建表的时候指定索引 2、唯一索引 1.直接创建唯一索引 2.修改表方式创建索引 3.创建表的时候指定索引 3、…

以题为例浅谈双指针算法

什么是双指针算法 双指针是指在遍历元素时,不是使用单个指针进行遍历而是使用两个指针进行访问,从而达到相应目的;注意这个指针不是c语言中那个指向地址的指针; 双指针分类 双指针分为对撞指针和快慢指针; 对撞指针…