汇编语言程序设计入门

news2024/9/23 11:17:02

目录

基本概念

符号指令中的表达式

符号

数值常量

符号常量(用的很少)

数值表达式

 标号(一般出现在代码段)

程序框架 ​编辑

标号的定义

变量(最重要)

变量的属性​编辑

变量存储区中数据的存放​编辑

变量的定义

练习 

地址表达式类型的变更 


基本概念

机器指令(机器唯一可以识别的指令):2进制

汇编指令(符号指令)由助记符,符号组成。与机器指令时一一对应的

也就条汇编指令翻译成一条机器指令

而C语言可不是一个指令翻译成一条机器指令

汇编:把符号指令翻译为机器指令,翻译的过程叫汇编

汇编程序:完成汇编任务的程序

例如

符号指令中的表达式

符号

以字母开头的一串字符

为了区别符号和数据,以字母开头的十六进制数,要在前面加一个前导0

0FFFH 数据(这个前导零没有数值的意义,也不用转换为4个零,仅仅代表后面跟着的是一个16进制的数据)

FFH   符号

汇编中的各种符号由伪指令来定义

常量,变量和标号三类。

数值常量

 单引号里面存的是ASCII码的值

 要和C语言区分开,C语言是不可以定义字符串常量的,C中要用字符数组。

汇编语言可以定义字符串常量

 

符号常量(用的很少)

  类似于C语言的,#define  pi 3.14

  EQU后面可以跟字符       JIA   EQU  ADD

 而= 后面只可以跟数值 

数值表达式

AND  AX,2 AND  3

前面的AND表示在执行AND指令,后面的AND是运算符

关系运算要注意

真是0FFFFH (全1)  比如     2 EQ 2

假是0           比如  2 EQ 4

和C语言区分开,C是处了0都是真

 

 标号(一般出现在代码段)

程序框架 

 比如 START和EXIT两个标号,他们的段地址相同,偏移地址不相同

比如我JMP  START   , (CS:IP)  就是把地址赋值给IP,就会重新从START开始执行

标号的定义

我们只考第一种

变量(最重要)

变量定义在数据段, 变量名也就是一个地址

BX指针其实根C语言差不多 ,  int *p=arr       arr是数组名,不加括号就是地址,加上括号arr[0]就是去第一个位置取值,大同小异

变量的属性

 

 

变量存储区中数据的存放

 

注意:一个格子里面存8位二进制。它写16进制完全是方便让我们看

你就记住你画一个格子就是一个8位二进制

比如上面定义的VAR1,我要想把这两个格子当一个字取出来会是多少

高高低低原则

 

 

变量的定义

只用会红框标注的就可以。只要有一个数据  DB占一个格子,DW占两个格子,DD占4个格子

 

重点

DW定义字就要分高低位,就需要前面的高高低低原则 。不可以在填加数据,在添加就已经超出一个字可以表示的范围了

而DB定义,会把后面的当成一个字符串,谁先出来就先安排谁,谁先出来谁地址就是低的。所以对于DB来说,单引号里面可以是任意长度

 

 

 

练习 

B1 DW 'AB$'

W2 DW 1994H  画出它的内存图

 B2  DB 2 DUP(-5,-1)

        DB 1 DUP(10,'E')

        DB '13',1,3

地址表达式类型的变更 

  

 

 

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

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

相关文章

最受欢迎的Python科学类库

作为一种免费的,跨平台的,通用的和高级的编程语言,Python已被科学界广泛采用。科学家重视Python的精确和有效的语法,相对平坦的学习曲线以及它与其他语言(例如C / C )很好地集成的事实。 由于这种流行&…

最近沉迷Redis网络模型,无法自拔!终于知道Redis为啥这么快了

1. 用户空间和内核态空间 1.1 为什么要区分用户和内核 服务器大多都采用 Linux 系统,这里我们以 Linux 为例来讲解: ubuntu 和 Centos 都是 Linux 的发行版,发行版可以看成对 linux 包了一层壳,任何 Linux 发行版,其系统内核都…

设计模式-day03

5,结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“…

项目管理(如何进行项目风险管理)

项目风险管理包括规划风险管理、识别风险、开展风险分析、规划风险应对、实施风险应对和监 督风险的各个过程。项目风险管理的目标在于提高正面风险的概率和(或)影响,降低负面风险的 概率和(或)影响,从而提高项目成功的可能性。 项目风险分类: 1、概率性风险(能识别并确…

【虹科】工业相机如何自动优化图像?

普通的消费网络相机操作简便,常常也会用于一些机器视觉应用。然而,我们很容易就可以意识到,与典型的工业相机相比,虽然网络相机价格诱人,但是在质量、耐用性和长期可用性方面存在显著劣势。和网络相机一样简单易用的工…

【正点原子FPGA连载】第三十一章DDR4读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第三十一章DDR4读…

Google Indexing API 推送 (避免踩坑)

https://developers.google.com/search/apis/indexing-api/v3/prereqs?hlen_GB 官方文档 1. 在创建服务账号部分需要注意的是: 第二步授权要把服务账号的邮箱地址加上2. 验证完网站站长之后需要注意的点 a. https://search.google.com/search-console/settings 进入…

Redis数据持久化机制(备份恢复)、缓存淘汰策略、主从同步原理、常见规范与优化详解

一. 数据持久化 1. 含义 Redis 提供了 RDB 和 AOF 两种持久化方式,默认开启的是RDB,如果需要AOF,需要手动修改配置文件进行开启。 RDB:是一种对Redis存在内存中的数据周期性的持久化机制,将内存中的数据以快照的形式硬…

电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)

📋📋📋本文目录如下:⛳️⛳️⛳️​ 目录 1 概述 2 电力系统潮流计算概述 2.1 电力潮流发展进程 2.2牛顿拉夫逊法潮流计算 3 仿真结果 4 Matlab代码实现 1 概述 最初,电力系统潮流计算是通过人工手算的。后来为了适应…

热机蠕变疲劳在ANSYS Mechanical与nCode DesignLife仿真实现概述

导读:ANSYS nCode DesigenLife联合ANSYS Mechanical能够进行热机蠕变疲劳分析计算,由于分析过程的复杂性, ANSYS Workbench工作平台预定义7类nCode DesignLife疲劳分析模块并不包括对于热机蠕变疲劳的相关分析,需要间接完成。 本文…

你可以写出优质的个人简介,自媒体个人简介三要三不要,收藏学习

什么人会进你的主页看你的简介? 显而易见,更多的是新人,想了解你的新人。那么我们在简介里应该写些什么呢? 在我赢且力手小禾呈序里找了三天的内容,然后总结了自媒体写个人简介三要三不要,听我细细道来&a…

前端手写面试题合集

实现ES6的extends function B(name){this.name name; }; function A(name,age){//1.将A的原型指向BObject.setPrototypeOf(A,B);//2.用A的实例作为this调用B,得到继承B之后的实例,这一步相当于调用superObject.getPrototypeOf(A).call(this, name)//3.将A原有的属…

1小时点击量破千万,阿里巴巴首发:Java核心框架指导手册

来了,来了!他终于来了,阿里巴巴最新推出的Java核心框架指导手册,终于出来了。1小时的点击量就破了千万! 手册分为三个部分:第一部分:解读MyBatis框架中关于接口层和配置文件解析过程&#xff1b…

微机原理与接口技术:并行接口

文章目录1.8255A的内部结构与外部引脚1.1.三个数据端口A、B、C:1.2.A组控制和B组控制1.3.数据总线缓冲器1.4.读写控制逻辑1.5.8255A的外部引脚2.8255A的控制字2.1.方式选择控制字2.2.端口C按位置位/复位控制字3.8255A的工作方式3.1.方式0:基本输入输出方…

【视频+源码】登录鉴权的三种方式:token、jwt、session实战分享

前言 因为我既对接过session、cookie,也对接过JWT,今年因为工作需要也对接了gtoken的2个版本,对这方面的理解还算深入。 尤其是看到官方文档评论区又小伙伴表示看不懂,所以做了这期视频内容出来: 内容提要&#xff1…

【Centos】Docker停止容器服务后,磁盘I/O仍然迟迟不下降。(未解决)

记录前言问题复现,故障演练准备工作dcim-local演练过程系统日志message结论前言 安装了docker的服务器只运行了一个容器服务,停止容器服务后,磁盘I/O仍然迟迟不下降。对该现象进行问题复现,故障演练 问题复现,故障演…

STM32CUBEMX开发GD32F303(17)----移植兆易创新SPI Nor Flash之GD25Q64Flash

概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。 本例程主要讲解如何对芯片自带Flash进行读写,用芯片内部Flash可以对一些需要断电保存的数据进行保存,无需加外部得存储芯片&#xff0c…

UE4/5 PBR模型(带材质)导出Blender/UE4低版本/Unity方法

在项目中,经常会遇到,将UE5/UE4.27中制作好的模型导出。 一共有三种方法: 一、gltf文件导出 例:在UE5 5.1版本中,新建一个网格体,并赋予一个自定义材质 在UE5 中,打开Plugins ,勾选 gltf Exp…

今天杂志今天杂志社今天编辑部2022年第22期目录

理论专著 关于农村小学青年教师培养成长工作的几点思考 (1) 丁少乾 初中美术教学与学生研学旅行结合研究 (4) 刘媛 农村小学劳动教育与小学数学学科整合实践策略研究 (7) 张雪萍 浅谈中职学校《会计电算化》课程革命典型案例 (10) 赵雪梅 问题导向教学法在初中…

Python 常见单词-集合

为了方便大家更好的入门 Python 学习,已经整理好了 Python 语言入门常见 的英文单词,词汇量不大,大概百十来个,多敲多练,预估两周左右可以熟记!大家 加油噢~ 一、交互式环境与 print 输出 1、print&#x…