第八章-数据处理的两个基本问题
数据处理的两个基本问题
- 引言
- 8.1 bx、si、di、bp
- 8.2机器指令处理的数据所在位置
- 8.3汇编语言中数据位置的表达
- 8.4寻址方式
- 8.5 指令要处理的数据有多长?
- 通过寄存器名指明要处理的数据的尺寸
- 操作符X ptr指明内存单元的长度
- 其他方法
- 8.6寻址方式的综合应用
- 8.7div指令
- 8.8伪指令dd
- 8.9dup
引言
- 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
- 可以用作[bp]
- 四个组合只能如下出现:bx和si、bx和di、bp和si、bp和di
- 如果没有直接给出bp的段地址、段地址默认在ss
8.2机器指令处理的数据所在位置
指令执行前,所要处理的数据可以在三个地方:CPU内部、内存、端口
idata (立即数)
寄存器
段地址SA和偏移地址EA
8.3汇编语言中数据位置的表达
- 显性的给出存放段地址的寄存器
- 存放段地址的寄存器是默认的
8.4寻址方式
8.5 指令要处理的数据有多长?
byte---- 8位
word—16位
高位地址指向高字节
通过寄存器名指明要处理的数据的尺寸
操作符X ptr指明内存单元的长度
mov word ptr ds:[0],1 #所以ds:[0]存放的是0001H
mov byte ptr ds:[0],1 #所以ds:[0]存放的是01H
其他方法
- push[1000H]就不用指明访问的是什么数据,因为push指令只进行字操作。
8.6寻址方式的综合应用
8.7div指令
- 除法指令,除数在内存单元或者寄存器,被除数在AX或DX和AX中
除数 | 被除数 |
---|---|
8位 | 16位(AX) |
16位 | 32位(DX+AX) |
除数如果是8位,商在AL,余数在AH
除数如果是16位,商在AX,余数在DX
指令格式
div reg
div 内存单元
div byte ptr ds:[0]#(al)=(ax)/((ds)*16+0)的商,(ah)=(ax)/((ds)*16+0)的余数
div word ptr es:[0]#(ax)=[(dx)*100000H+(ax)]/((ds)*16+0)的商,(dx)=[(dx)*100000H+(ax)]/((ds)*16+0)的商,
8.8伪指令dd
data segmentdb 1dw 1dd 1data ends
在data段中定义了三个数据:
第一个数据为01H,在data:0处,占1个字节;
第二个数据为0001H,在data:1处,占1个字;
第三个数据为00000001H,data:3处,占2个字节;
8.9dup
db 重复的次数 dup(重复的字节型数据)
db 3 dup(0)#定义了3个字节,它们的值都是0,相当于db,0,0,0
db 3 dup(0,1,2)#定义了9个字节,它们是0、1、2、0、1、2、0、1、2
db 3 dup('abc','ABC')#定义18个字节,它们是'abcABCabcABCabcABC'
第八章-数据处理的两个基本问题相关推荐
- 数据处理的两个基本问题05 - 零基础入门学习汇编语言42
第八章:数据处理的两个基本问题05 让编程改变世界 Change the world by program 实验七:寻址方式在结构化数据访问中的应用 这个程序是到目前为止我们遇到的最复杂的程序,它几乎 ...
- 数据处理的两个基本问题---汇编学习笔记
数据处理的两个基本问题 计算机是进行数据处理.运算的机器,那么有两个基本的问题就包含在其中: 要处理的数据在什么地方? 要处理的数据有多长? 我们定义两个描述性符号:reg和sreg. reg的集合包 ...
- 《汇编语言》第 8章 -数据处理的两个基本问题 检测点,实验7,总结
第8章 数据处理的两个基本问题 (1)要处理的数据在什么地方? (2)要处理的数据有多长? 定义的描述性符号:reg(register)和sreg(segment register) reg包括:ax ...
- 汇编学习笔记(二)--数据处理的两个基本问题
1.div 除数 有8位和16位两种,在一个reg或者内存单元中 被除数 默认放在ax或者ax和dx中,如果除数位8位,被除数为16位,默认放在ax中: 如果除数为16位,被除数为32位,在dx和ax ...
- 王爽 汇编语言第三版 第8章( 寻址方式 ) --- 数据处理的两个问题
第八章 数据处理的两个基本问题 8.6 综合应用 示例代码 1: assume cs:codesg,ds:datasgdatasg segmentdb 1024 dup (0) datasg e ...
- 汇编语言之数据处理的2个基本问题
1.bx.si.di和bp Bx.si和di这3个寄存器我们已经学过了,现在进行一下总结,并学一下bp. 1:在8086CPU中,只有这4个寄存器可以用在[-]中来进行内存单元的寻址.比如,下面 ...
- 字符串问题简述与两个基本问题的Java实现——判断二叉树拓扑结构关系与变形词...
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6851631.html (解题金句:其他问题字符串化,然后调用String类封装方法解决问题: 字符串问题数组 ...
- 海量数据处理:两个大文件中的相同记录
1.题目描述 给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 2.思考过程 (1)首先我们最常想到的方法是读取文件a,建立哈希表(为 ...
- 曲面研究的两个基本问题、旋转曲面、柱面、二次曲面
曲面及其方程 曲面方程概念 F(x,y,z)=0就是曲面的方程 例如球面方程可以表示为 旋转曲面 母线:平面曲面 轴: 例如 绕哪一个轴旋转,哪一个轴就不变,另外一个量变成正负根号下平方和 总结规律 ...
最新文章
- IDEA 新特性:提前知道代码怎么走
- leetcode - 150. Evaluate Reverse Polish Notation
- C++求最小公倍數LCM的实现算法(附完整源码)
- 【Pytorch神经网络实战案例】29 【代码汇总】GitSet模型进行步态与身份识别(CASIA-B数据集)
- 有哪些在朋友圈发会被秒赞的文案?
- 反比例函数matlab,matlab拟合指定反比例函数,在线等
- 文件上传到服务器文件名中文乱码问题
- android 红外遥控程序,Android 红外遥控器适配
- python zookeeper api_zookeeper java api介绍
- Redis写副本内存不够
- 上研究生学计算机去河大学校好不好,河南大学研究生,河南大学研究生值得读吗?...
- 史上最搞笑的程序员段子,有图有真相!
- python画机器猫
- 配置项目外网访问(公网IP+DDNS)
- RISCV-RoCC简介
- js使用策略模式实现表单验证
- 西方金融交易员揭露行业潜规则
- 百度收购PPS敲定 与爱奇艺整合将成难点
- SIKI学院:MySQL数据库从零到精通:十九:课时 23 : 22-查询语句和排序
- 妙赞大讲糖:引起糖尿病的原因
热门文章
- 视频知识点(14)- 来,咱们聊一聊 I 帧和 IDR 帧的区别
- armbian 斐讯n1_尝试使用斐讯N1在armbian终端下播放音乐
- linux执行可执行命令程序ls,linux运行可执行程序命令
- 2021 上海科技大学 信息学院SIST 推免夏令营 经历
- gels imagej 图片处理_ImageJ在荧光照片分析中的应用介绍
- Java 实现发票信息输出为 PDF 文件(模板化)
- jdbc连接字符集为us7ascii的oracle数据库乱码解决办法
- 手游虚拟机服务器,手游大话西游虚拟机镜像一键服务端+配套客户端+启动教程+GM后台...
- 夜光带你走进C# 游戏开发等(七十九)擅长的领域
- 学习狂神mybatis