第三章 8086的寻址方式和指令系统

#############################################################################
2010年5月9日
第三章 8086的寻址方式和指令系统
【课前思考】
  (1) 什么是指令和指令系统?指令在什么时候由哪部分来执行?

       每种计算机都有一组指令集供给用户使用,这组指令集就称为计算机的指令系统。
  (2) 8086汇编语言指令由几部分组成?各部分的作用是什么?
  (3) 8086汇编语言指令可以有几个操作数?指令中指定的操作数可能存放在哪里?
  (4) 什么是寻址方式?8086汇编语言提供了几种寻址方式?
  (5) 各种寻址方式所确定的有效地址是什么?
  (6) 在存储器寻址方式中,为什么有时候要使用段跨越前缀?
  (7) 8086机器语言指令由哪几个字节组成?为什么说汇编语言指令与机器指令是一一对应的?
  (8) 8086的指令系统按功能可分为几组?
  (9) 每条指令的功能、助记符、所支持的寻址方式、对标志位的影响、需要预置的参数以及隐含使用的或限定使用的寄存器等。

  【学习目标】
  熟练掌握8086各种寻址方式;熟悉8086常用指令的功能

一、8086的寻址方式。与数据有关的寻址方式

相对原操作数的寻址
立即寻址              MOV AX,3069H
寄存器寻址           MOV AL,BH
直接寻址              MOV AX,[2000H]
寄存器间接寻址     MOV AX,[BX]
寄存器相对寻址     MOV AX,COUNT[SI]
基址变址寻址        MOV AX,[BP][DI]
相对基址变址寻址  MOV AX,MASK[BX] [SI]
后五种方式统称为存储器寻址


1,立即寻址方式
 MOV AL,5
 MOV AX,3064H
 MOV AL,'A'
立即寻址方式只能用于原操作数字段,原操作数和目地操作数的字长必须一致。
不能直接给段寄存器和标志寄存器赋予立即数

2,寄存器寻址方式   操作数在批定的寄存器中。
MOV AX,BX
MOV AL,BH
MOV AX,3064H   //原操作数是立即寻址方式,目的操作数是寄存器寻址方式
字节寄存器只有AH AL BH BL CH CL DH DL
源操作数和目地操作数的字长一致
(CS)代码段的段寄存器不能用MOV指令改变

3,存储器的寻址方式,(都是向内存单元中去寻址操作数)以下五种
1,直接寻址方式     有效地址EA由指令直接给出
MOV AX,[2000H]   //[2000H]是数据段中的一个有效地址

隐含的段为数据段
可使用段跨越前缀    MOV AX,ES:[2000H]
操作数地址可由变量(符号地址)表示
VALUE DB 10

MOV AH,VALUE
MOV AX,VALUE   //错,不能给一个字的寄存器,可以换以下形式处理
MOV AX,WORD PTR VALUE

2,寄存器间接寻址     EA(有效地址)在基址寄存器(BX/BP)或变址寄存器(SI/DI)中
MOV AX,[BX]       PA=16D*(DS)+(BX)
MOV AX,ES:[BX]  PA=16D*(ES)+(BX)
MOV AX,[BP]        PA=16D*(SS)+(BP)

不允许使用AX,CX,DX存放EA(有效地址)
 如错误例子:   MOV AX,[CX]
源操作数和目地操作数的这了长一致
MOV DL,[BX]      //[BX]指示一个字节单元
MOV DX,[BX]     //[BX]指示一个字单元
适于数组,字符串,表格的处理

3,寄存器相对寻址方式
               (BX)    8位
有效地址=(BP)+   16位    位移量
                (SI)
                 (DI)

例:MOV AX,COUNT[SI] 或否MOV AX,[COUNT+SI]
      假设(DS)=3000H,(SI)=2000H,COUNT=3000H,
     那么PA=35000H
     假设(35000H)=1234H,那么(AX)=1234H

适于数组,字符串,表格的处理


4,基址变址寻址方式

                     (BX)     (SI)
有效地址=                   +
                     (BP)      (DI)
例:MOV AX,[BX][DI]    或 MOV AX,[BX+DI]
      MOV AX,ES:[BX][SI]

适于数组、字符串、表格的处理
必须是一个基址寄存器和一个变址寄存器的组合

5,相对基址变址寻址方式

                     (BX)     (SI)     8位
有效地址=                   +            +       位移量
                     (BP)      (DI)    16位

例:    MOV AX,MASK[BX][SI]
          MOV AX,MASK[BX+SI]
          MOV AX,[MASK+BX+SI]

 

二、8086的寻址方式、与转移地址有关的寻址方式


段内直接寻址
段内间接寻址
段间直接寻址
段间间接寻址

你可能感兴趣的:(汇编语言(第二版)王爽)