数据处理的两个基本问题

  • 引言
  • 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'

第八章-数据处理的两个基本问题相关推荐

  1. 数据处理的两个基本问题05 - 零基础入门学习汇编语言42

    第八章:数据处理的两个基本问题05 让编程改变世界 Change the world by program 实验七:寻址方式在结构化数据访问中的应用 这个程序是到目前为止我们遇到的最复杂的程序,它几乎 ...

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

    数据处理的两个基本问题 计算机是进行数据处理.运算的机器,那么有两个基本的问题就包含在其中: 要处理的数据在什么地方? 要处理的数据有多长? 我们定义两个描述性符号:reg和sreg. reg的集合包 ...

  3. 《汇编语言》第 8章 -数据处理的两个基本问题 检测点,实验7,总结

    第8章 数据处理的两个基本问题 (1)要处理的数据在什么地方? (2)要处理的数据有多长? 定义的描述性符号:reg(register)和sreg(segment register) reg包括:ax ...

  4. 汇编学习笔记(二)--数据处理的两个基本问题

    1.div 除数 有8位和16位两种,在一个reg或者内存单元中 被除数 默认放在ax或者ax和dx中,如果除数位8位,被除数为16位,默认放在ax中: 如果除数为16位,被除数为32位,在dx和ax ...

  5. 王爽 汇编语言第三版 第8章( 寻址方式 ) --- 数据处理的两个问题

    第八章    数据处理的两个基本问题 8.6 综合应用 示例代码 1: assume cs:codesg,ds:datasgdatasg segmentdb 1024 dup (0) datasg e ...

  6. 汇编语言之数据处理的2个基本问题

     1.bx.si.di和bp Bx.si和di这3个寄存器我们已经学过了,现在进行一下总结,并学一下bp. 1:在8086CPU中,只有这4个寄存器可以用在[-]中来进行内存单元的寻址.比如,下面 ...

  7. 字符串问题简述与两个基本问题的Java实现——判断二叉树拓扑结构关系与变形词...

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6851631.html  (解题金句:其他问题字符串化,然后调用String类封装方法解决问题: 字符串问题数组 ...

  8. 海量数据处理:两个大文件中的相同记录

    1.题目描述 给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 2.思考过程 (1)首先我们最常想到的方法是读取文件a,建立哈希表(为 ...

  9. 曲面研究的两个基本问题、旋转曲面、柱面、二次曲面

    曲面及其方程 曲面方程概念 F(x,y,z)=0就是曲面的方程 例如球面方程可以表示为 旋转曲面 母线:平面曲面 轴: 例如 绕哪一个轴旋转,哪一个轴就不变,另外一个量变成正负根号下平方和 总结规律 ...

最新文章

  1. IDEA 新特性:提前知道代码怎么走
  2. leetcode - 150. Evaluate Reverse Polish Notation
  3. C++求最小公倍數LCM的实现算法(附完整源码)
  4. 【Pytorch神经网络实战案例】29 【代码汇总】GitSet模型进行步态与身份识别(CASIA-B数据集)
  5. 有哪些在朋友圈发会被秒赞的文案?
  6. 反比例函数matlab,matlab拟合指定反比例函数,在线等
  7. 文件上传到服务器文件名中文乱码问题
  8. android 红外遥控程序,Android 红外遥控器适配
  9. python zookeeper api_zookeeper java api介绍
  10. Redis写副本内存不够
  11. 上研究生学计算机去河大学校好不好,河南大学研究生,河南大学研究生值得读吗?...
  12. 史上最搞笑的程序员段子,有图有真相!
  13. python画机器猫
  14. 配置项目外网访问(公网IP+DDNS)
  15. RISCV-RoCC简介
  16. js使用策略模式实现表单验证
  17. 西方金融交易员揭露行业潜规则
  18. 百度收购PPS敲定 与爱奇艺整合将成难点
  19. SIKI学院:MySQL数据库从零到精通:十九:课时 23 : 22-查询语句和排序
  20. 妙赞大讲糖:引起糖尿病的原因

热门文章

  1. 视频知识点(14)- 来,咱们聊一聊 I 帧和 IDR 帧的区别
  2. armbian 斐讯n1_尝试使用斐讯N1在armbian终端下播放音乐
  3. linux执行可执行命令程序ls,linux运行可执行程序命令
  4. 2021 上海科技大学 信息学院SIST 推免夏令营 经历
  5. gels imagej 图片处理_ImageJ在荧光照片分析中的应用介绍
  6. Java 实现发票信息输出为 PDF 文件(模板化)
  7. jdbc连接字符集为us7ascii的oracle数据库乱码解决办法
  8. 手游虚拟机服务器,手游大话西游虚拟机镜像一键服务端+配套客户端+启动教程+GM后台...
  9. 夜光带你走进C# 游戏开发等(七十九)擅长的领域
  10. 学习狂神mybatis