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

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

正确表示:mov ax,[bp]

(1)错误表示:mov ax,[ds], mov ax,[cx]

(2)在内存单元表示的[...]这种形式下,中括号里面只能放bx,si,di,bp 这四个寄存器。

1.bx,si a.bx,di b.bp,si c.

bp,di d.正确组合:(1)mov ax,[bx+bp]a.mov ax,[si+di]

b.错误表示:

(2)在“[...]”里面的寄存器只能是固定的四种组合,其他组合是错误的

2.如果在[...]中包含了bp 这个寄存器,那么默认的段寄存器就是ss

3.8.1 bx 、si 、di 和bp

从机器指令的层面来讲,并不关心数据的数值是多少,而关心在执行指令之前,它将要处理的数据存在在什么位置

1.CPU 内部

(1)内存

(2)端口

(3)处理的指令可以存放的位置有三个:

2.8.2 机器指令处理的数据在什么地方

立即数。直接在指令中给出,执行指令前一刻,和代码一起存储在CPU 的指令缓存器中(1)eg.mov ax,1

寄存器 eg.mov ax,bx

(2)段地址(SA )和偏移地址(EA ) eg. mov ax,ds:[3]

(3)汇编语言中数据存储的位置有三种声明方式:

1.8.3 汇编语言中数据位置的表达

8.4 寻址方式

在之前的笔记已经整理了——>所有的寻址方式

8.5 指令要处理的数据有多长

mov al,bl (1)mov ax,bx

(2)通过寄存器名

1.mov word ptr ds:[0],1(1)inc byte [bx]

(2)通过“X ptr [...]”的格式,其中X 为word 或byte

2.pop ax (1)push bx

(2)默认或者已经规定(栈操作都是以字为单位)

3.汇编语言中通过三种方式声明所处理的是字还是字节

8.6 寻址方式的综合应用

暂时跳过

div reg(寄存器)

(1)div 内存单元

(2)格式:

1.运算规则与涉及到的寄存器

2.例:计算10001/100

3.由于10001>65535,所以被除数需要用DX 和AX 联合存放。即使100<255,除数也必须取16位的,也就是把8.7 div 指令

第8章数据处理的两个基本问题

2019年11月10日17:54

由于10001>65535,所以被除数需要用DX 和AX 联合存放。即使100<255,除数也必须取16位的,也就是把100放在一个16位的寄存器或者放在连续的两个内存单元。db

字节型数据8位dw 字型数据16位

dd 双字型数据32位

8.8 伪指令dd

dup 是一个由编译器识别处理的操作符,用于定义重复的数据

1.例:

2.db 3 dup('abc','ABC')

3.即:'abcABCabcABCabcABC'

格式: X 重复的次数dup (重复的X 类型数据),其中X 可以为8.8小节中的任意一种

4.8.9 dup

相关文档
最新文档