汇编语言(王爽) 第8章数据处理的2个基本问题

计算机进行数据处理的时候要知道2个基本问题内存

  1. 要处理的数据放在哪
  2. 要处理的数据多长

刚开始定义了2个描述性符号备用it

reg和sregclass

reg 表示一个寄存器如 ax,bx,cx,dx,ah.......sp,bp,si,di方法

sreg表示一个段寄存器 如 ds,ss,cs,esim

 

8.1 bx,si,di,bpcpu

  1. 只有这4个寄存器能够放在[]中间和段地址ds或ss搭配进行内存单元寻址
  2. 这4个能够单独使用,也搭配使用,但只有4种组合
  3. [bp]的默认段地址是ss,其余3个是ds

8.2 数据放在什么地方数据

数据放在cpu的寄存器,内存单元,还有个什么端口不知道是个啥db

8.3 数据存放位置的表达word

前面说了数据放在哪里,但这些地方怎么表达才能让计算机看懂呢?img

1 当即数

前面图的第3行

在执行前放在cpu的指令缓冲器里面

2 寄存器

数据放在寄存器里面,如上图的第2行

3 段地址(SA)和偏移地址(EA)组成的物理地址表明的内存单元

上图第一行

 

8.4 寻址方式

就是定位内存单元的方法把,上图

 

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

8086CPU能够处理2中长度的数据,byte和word,怎么知道要处理的数据是byte仍是word(2个字节)

1 经过寄存器名指出要处理的数据长度

下面是字操做

mov ax,1

mov bx,ds:[1]

下面是字节操做

mov al,1

mov bh,ds:[1]

2 没有寄存器用x ptr 指明长度,X=byte or word

下面是字操做

mov word ptr ds:[1],1

inc word ptr ds:[1]

下面是字节操做

mov byte ptr ds:[1]

add byte ptr  ds:[bx],2

8.6 这里是个寻址的练习

8.7 div 指令

1 除数 8 byte or 16byte

2  除数8位,被除数16位,默认放在ax,al放商,ah放余数

除数16位,被除数32位,被除数高16位放dx,低16位放ax,结果ax放商,dx放余数

8.8 dd指令

定义2个字,也就是4个字节

8.9 dup复制指令

用法以下图

最后是一个大实验题,作了以后有如下

1 db '1999',''2222'这样定义的不是2个字节,而是8个字节,每个字符都是一个字节

相关文章
相关标签/搜索