汇编语言学习笔记(八)数据处理的两个基本问题

汇编语言学习笔记(一)ARM指令集 汇编语言学习笔记(一)ARM指令集 文章目录汇编语言学习笔记(一)ARM指令集前言一、数据处理指令类型二、跳转指令类型:三、控制指令类型:四、存储器访问指令类型:总结 前言 杂事太多,浪费我10多天的时间。ARM指令集,我感觉还是“复杂”了;功能虽全,但记忆量也多。其实,编写OS所用到的只是100多条ARM指令集中的约30多条吧。以下是对ARM指令集的第一次简单整理,有错难免、仅供参考。 有多种指令集架构(Instruction Set Architecture),如RISC类(RISC-V、Open 阅读详情

1.bx,si,di,bp
以后用:reg来表示寄存器,sreg来表示段寄存器
reg:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,cl,sp,bp,si,di
sreg:ds,ss,cs,es
8086中只有四个寄存器可以放在[]中间作为内存单元的寻址
bp和bx、si和di是不能组合的,剩下都可以
bp:只要在[]中使用bp,而没用显示的给出段地址,段地址就默认在ss中
ds->bx(默认)
ss->bp(默认)不过可以强制显示的给出

汇编语言表达数据位置:
1.立即数idata        mov ax,1
2.寄存器        mov ax,bx
3.段地址和偏移地址    mov ax,[bx]/[bp]

2.指令处理的数据有多长
在机器指令中要指明,指令进行的是字操作还是字节操作。
1.通过寄存器名指明要处理的数据尺寸:ax:16;al:8位
2.没有寄存器名字存在的情况下,使用:word ptr或者byte ptr
3.其他方法:某些指令默认了访问的是自己单元还是自己单元
push、pop:只对字进行操作

3.div指令:除法。
除数:8位或者16位,在寄存器或者内存单元
被除数:默认放在ax或者dx和ax中
除数为8位的时候,被除数为16位(ax)
除数为16位的时候,被除数为32位(dx+ax)
结果:运算8位,商在al,余数在ah
运算16位,商在ax,余数在dx
div byte ptr ds:[0]
含义:
(a1)=(ax)/((ds)*16+0)的商
(ah)=(ax)/((ds)*16+0)的余数
div word prt es:[0]
含义:*10000H是表示乘以一个16位,四个0000表示一个16位
(ax)=[(dx)*10000H+(ax)]//((ds)*16+0)的商
(dx)=[(dx)*10000H+(ax)]//((ds)*16+0)的余数

4.伪指令:dd:dword
double word 双字型数据
db
dw 只要没超过2^16多就可以用一个dw容纳
dd

5.dup操作符:在汇编语言中通db、dw、dd等一样,也是有编译器识别处理的符合
dup重复
db 3 dup(0):定义了3个字节,他们的值都是0,相当于db0,0,0
db 3 dup(0,1):定义了6个字节,相当于db 0,1,0,1









智能汽车域控制器FOTA升级方案探讨 上文提到的Entry属性,包括Active 属性, Bootable 属性, Successful 属性, Retrycnt 属性 ,Active 属性用于标志槽的优先级,bootloader优先选择Active 属性=1的槽启动,Bootable 属性标志槽可否可启动,Successful 属性标志槽是否成功启动过,Retrycnt 属性标志槽可尝试启动的次数。芯片启动后,首先进入Bootloader阶段,此阶段将读取存储系统的分区属性,根据属性值进行逻辑判断,并确定进入哪个分区,详见流程图。 阅读详情

相关推荐

从零开始理解异构算力调度:全国一体化算力算网平台实战解析

本文深入解析了异构算力调度技术在全国一体化算力算网平台中的实战应用。通过资源抽象层设计、动态感知引擎和跨云调度算法,实现AI训练任务的高效资源分配,显著提升计算效率并降低成本。特别针对GPU等异构算力的智能调度方案,为多云协同环境下的AI开发提供实用指南。

weixin_28730927的博客 334

汇编语言-第8章-数据处理的两个基本问题

1、什么问题? (1)处理的数据在什么地方? (2)要处理的数据有多长? 2、reg,sreg什么意思? 为了描述上的简洁,在以后的课程中,我们将使用两个描述性的符号reg 来表示一个寄存器,用sreg表示一个段寄存器。 reg的集合包括:ax、bx、CX、、dx、ah、al、 bh、bl、ch、cl、 dh、dl、 sp、bp、si、di; sreg的集合包括: ds、 Ss、 CS、es。 3、段寄存器是什么意思? 段寄存器是因为对内存的分段管理而设置的。 在8086中设置4个16位的段寄存器,用于管理

qq_42788016的博客 902

【CUT&TAG分析-加了spike in的样品】

使用 Bowtie2 或 Subread (subjunc) 来构建大肠杆菌的索引。bowtie2比对时设置参数–local, 局部比对。

weixin_57975238的博客 1400

第五章  汇编语言程序设计

第五章 汇编语言程序设计... 2 5.1 汇编语言程序基本格式... 2 5.1.1 汇编语言源程序和汇编程序... 2 5.1.2 汇编语言的特点... 2 5.1.3 一般汇编语言程序的结构形式... 2 5.2 汇编语言中的数据... 3 5.2.1 常量... 3 5.2.2 变量... 4 5.2.3 标号... 5 5.3 运算符与表达式... 5 5.4 伪指令... 7 5.5 系统功能调用... 9 5.5.1 系统功能调用方法... 9...

HHzdh的博客 1486

【Cubietruck】Qt5.8.0 x64、x86、armhf三个版本的编译安装

一、       Preparation 以下环境配置支持虚拟机和实体机,但是实体机生产效率会相对高一点,实体机编译Qt的速度是虚拟机两倍以上。 若使用虚拟机,推荐使用VirtualBox,开源免费,尽量不要使用Vmware破解版。   Download List   名称 链接 下载项目 OS https://mirro

beatfan的博客 3658

vue3的面试题

vue3的面试题

jiang7701037的博客 6264

汇编语言4

2.4 内存储器 内存储器简称内存 存储器被划分为若干个存储单元,每个 存储单元从0开始顺序编号。 例如:一个存储器有128个存储单元,编号从0-127 2.4.1 存储单元 在汇编语言中,把存储单元分为字节单元,字单元,双字单元等,称为存储单元的属性。 存储单元中的数据称为存储单元内容,存储单元的地址和内容的表示形式为用括号将地址括起来以代表单元的内容。 例:(3075AH) = 12H 表示3075AH号单元的内容是12H 若(37692H) = 5678H 表示37692H单元和37693

dieyouxiu的博客 1499

【PCIe】CDNS PCIe VIP 杂记 -- Callback

最近在研究Cadence PCIe VIP,怎一个“惨淡”来描述。用的真是一言难尽啊,都是泪。记录一些最近学习的觉得想记录的内容在此,仅供参考讨论学习哈。有不对之处请指出大家一起讨论。

小邦是名小ICer的博客 2716

《汇编语言》第八章 数据处理的两个基本问题

计算机是进行数据处理,运算的机器,存在两个基本的问题: 1,处理的数据在什么地方? 2,要处理的数据有多长? 用reg表示一个寄存器,用sreg表示一个段寄存器 reg包括:ax,bx,cx,dx ah,al,bh,bl,ch,cl,dh,dl sp,bp,si,di sreg包括:ds,ss,cs,es 8.1 bx,si,di和bp 1,在8086CPU中,只有bx,si,di和bp这4个寄存器可以用在[ ]中来进行内存单元的寻址 2,在[ ]中,bx,si,di和bp这4个寄存器可以单个出现,或只能以

weixin_43541094的博客 847

工业数据采集实战:用open62541库读写PLC的OPC UA节点(避坑指南)

本文详细介绍了如何使用open62541库实现工业PLC的OPC UA节点数据采集,涵盖环境搭建、节点读写优化及生产环境故障排查。通过订阅模式和多节点读写技术,显著提升数据采集效率与稳定性,适用于智能制造和工业物联网场景。

weixin_30598225的博客 399

fatal: unable to access ‘https://github.com/Stability-AI/stablediffusion.git/‘解决方案

本文主要介绍在安装 stable-diffusion-webui 时出现的 fatal: unable to access 'https://github.com/Stability-AI/stablediffusion.git/': Failed to connect to github.com port 443 after 21071 ms: Couldn't connect to server 问题的解决方案,希望能对你有所帮助。

水滴的博客 5685

汇编语言——标号与地址

在汇编语言里,地址是一个很重要的东西,你要读写数据,首先你得找到你要的数据的地址,同样程序也是被放在内存里的,如果没有标号来说明,CPU怎么知道它放在内存的哪个位置。在程序执行的时候,你写的那些标号会被翻译成诸如3100:1000h这样的地址。这就是标号的作用。 ...

qq_40627648的博客 5978

面向精准医疗的多模态影像融合:实现前列腺MRI与大病理切片的三维配准与空间重建研究

亲爱的同学,当你能完整实现“前列腺MRI与大病理组织学图像的3D配准及体素重建”,你会发现医学影像交叉领域的毕设课题充满挑战与乐趣。我们将从临床需求出发,拆解3D配准与体素重建的核心技术,带你从原理到代码实现完整流程,让你的毕设不仅能顺利完成,更能体现临床应用价值。,让MRI和病理图像在同一空间对齐,能实现“术前影像-术后病理”的精准关联,为前列腺癌的精准诊疗、预后评估提供关键依据——这一课题既有技术挑战性,又有临床意义,是毕设的优质选择。(如NCC、Dice、配准时间),用数据证明方法的优越性。

m0_71589036的博客 4717

汇编语言学习笔记(【汇编语言】小甲鱼零基础汇编)

汇编语言学习笔记(【汇编语言】小甲鱼零基础汇编) 目录 第〇章 课程资料 第一章 基础知识 第二章 寄存器(CPU工作原理) 第三章 寄存器(内存访问) 第四章 第一个程序 第五章 [BX]和loop指令 第六章 包含多个段的程序 第七章 更灵活定位内存地址 第八章 数据处理的两个基本问题 第九章 转移指令的原理 第十章 call和ret指令 第十一章 标志寄存器 第十二章 内中断 第十三章 int指令 第十四章 端口 第十五章 外中断 第十六章 直接定址表 第十七章 使用BIOS进入键盘输入和磁盘读写

inv1796915552的博客 3万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汇编语言个人学习笔记——第八章 数据处理的两个问题

引言: 本章对前面的所有nei'内容是具有总结性的。我们知道,计算机时进行数据处理、运算的机器,那么有两个基本的问题就包含在其中: (1)处理的数据在什么地方? (2)要处理的数据有多长? 这两个问题,在机器指令中必须给以明确或隐含的说明,否则计算机就无法工作。 本章的学习将针对8086CPU对这两个基本问题进行讨论。虽然讨论是在8086CPU的基础上进行的,但是这两个基本问题确实普遍的...

无 1219

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

汇编语言(王爽版)学习笔记 第八章 数据处理的两个基本问题(1)

文章目录引言8.1 bx,si,di,bp8.2 机器指令处理的数据所在位置8.3 汇编语言中数据位置的表达8.4 寻址方式8.5 指令要处理的数据有多长? 引言 本章对前面的所有内容是具有总结性的。我们知道,计算机是进行数据处理、运算的机器,那么有两个基本问题就包含在其中: (1)处理的数据在什么地方? (2)要处理的数据有多长? 为了描述上的简洁,在以后的课程中,我们将使用两个描述性的符号...

Kni9hT's Blog 651

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汇编语言(王爽版)学习笔记 第八章 数据处理的两个基本问题(2)

文章目录8.6 寻址方式的综合应用实例8.7 div指令8.8 伪指令dd问题8.18.9 dup 8.6 寻址方式的综合应用 实例 数据存放 确定需要修改的数据 确定修改的方法 根据上面的分析,程序如下: mov ax,seg mov ds,ax mov bx,60h ;确定记录地址 mov word ptr [bx+0ch],38 add word ptr [bx+0eh],70 ...

Kni9hT's Blog 930

王爽 《汇编语言》 第8章 数据处理的两个基本问题 学习笔记

和bx类似的bp,五种寻址方式,数据长度(byte ptr和word ptr),div指令,数据定义伪指令dw,db,dd,操作符dup

qq_39991776的博客 165

汇编语言学习笔记

数据的处理有两个关键,从之前的学习中也体会到了。

m0_68956519的博客 667

汇编语言 | 王爽 | 学习笔记

我们对8086CPU的指令系统进行一下总结。读者若要详细了解8086指令系统中的各个指令的用,可以查看有关的指令手册。8086CPU提供以下几大类指令。数据传送指令等都是数据传送指令,这些指令实现寄存器和内存、寄器和寄存器之间的单个数据传送。算术运算指令等都是算术运算指令,这些指令实现存器和内存中的数据的算数运算。它们的执行结果影响标志寄存器的位。逻辑指令等都是逻辑指令。除了not指外,它们的执行结果都影响标志寄存器的相关标志位。转移指令。

m0_74795952的博客 1176

数据处理的两个基本问题---汇编学习笔记

数据处理的两个基本问题 计算机是进行数据处理、运算的机器,那么有两个基本的问题就包含在其中: 要处理的数据在什么地方? 要处理的数据有多长? 我们定义两个描述性符号:reg和sreg。 reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di。 sreg的集合包括:ds、ss、cs、es。 8.1 bx、si、di和b...

qq_37340753的博客 956

<学习笔记>王爽汇编语言__处理数据的两个基本问题

计算机进行数据的处理和运算,那么有两个基本的问题包含在其中: (1)处理的数据在什么地方 (2)要处理的数据有多长 1.关于bx , si,di,bp (1)在8086CPU中,只有这四个寄存器可以用在[...]中来进行内存单元的寻址。

The New Old Things 1819

[汇编学习笔记][第八章数据处理的两个基本问题]

第八章 数据处理的两个基本问题本章对前面具有总结性。主要解决以下两个问题 处理的数据在什么地方 要处理的数据有多长 定义描述符号reg和sreg reg:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di; sreg:ds,ss,cs,es。 8.1 bx,si,di和bp 在8086CPU中,只有这4个寄存器可以用在"[..]"当中来进行内存单元的寻址。

学习之路 716

汇编语言-学习笔记

and指令:逻辑与指令,按位进行与运算例:执行后:al=00100011B 0and0=0and指令的功能,通过该指令可将操作对象的相应位设为0,其他位不变。or指令:逻辑或指令,按位进行或运算。例:执行后al=01111011B 1or1=1or指令的功能,通过该指令可将操作对象的相应位设为1,其他位不变。

2402_87943371的博客 995

汇编语言第八章学习笔记——数据处理的两个基本问题

第八章 数据处理的两个基本问题 1.处理的数据在什么地方? 2.要处理的数据有多长?描述性符号:reg和sreg reg表示一个寄存器 sreg表示一个段寄存器reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、disreg的集合包括:ds、ss、cs、esbx、si、di和bp 在8086cpu中只有这四个寄存器可以用在”[…]”来

Ro2kie的博客 539

汇编语言笔记(全)

汇编语言 最近系统的学了下汇编语言,下面是学习笔记,用的书是清华大学出版社出版的汇编语言第三版,作者王爽(最经典的那版)。 汇编语...

子曰小玖的博客 3万+
上一篇: 汇编语言学习笔记(七)更灵活的定位内存地址的方法
下一篇: 汇编语言学习笔记(九)转移指令的原理
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值