4.1 寻址方式和指令系统

(一)知识范围

指令系统的概念、指令格式;对操作数的寻址方式;常用指令(传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、程序控制指令与处理器控制指令);汇编语言程序的基本结构;常用伪指令(数据定义、符号定义、段定义、设定段寄存器);DOS功能调用(输入/输出字符、输入/输出字符串、结束程序);三种结构(顺序结构、分支结构和循环结构)程序设计;常用程序设计举例。

(二)考核要求

  1. 理解指令系统的概念及指令格式。
  2. 掌握常用的寻址方式并能熟练地使用它们。
  3. 掌握常用指令的格式、功能和使用方法,分析各种指令执行后的结果。
  4. 掌握指令对状态标志的影响。
  5. 掌握常用伪指令的格式和功能。
  6. 掌握汇编语言源程序的构成,熟练掌握汇编语言程序上机调试运行过程。
  7. 理解程序的三种基本结构,能够使用汇编语言解决常见的问题。

目录

指令系统概述

指令基本概念

 指令格式

8086汇编语言格式

 8086寻址方式

操作数存在方式

立即寻址(Immediate Addressing)

存储器寻址(Memory Addressing)

寄存器寻址(Register Addressing)

 寄存器直接寻址

寄存器间接寻址

寄存器相对寻址

基址+变址寻址

相对基址 + 变址寻址

 I/O端口寻址(I/O Port Addressing)

 指令寻址方式

段内转移的寻址方式

段间转移到寻址方式


指令系统概述

指令基本概念

指令是要求计算机执行特定操作的命令。

计算机所能执行的全部指令的集合称为指令系统。

指令以二进制编码的形式存放在存储器中,用二进制编码形式表示的指令称为机器指令

用符号表示度指令称为符号指令,汇编语言程序中的指令就是符号指令,具有直观、易理解和可帮助记忆的特点。

SUB指令

机器指令(二进制)

十六进制

汇编指令

功能

01001011

4BH

DEC BX

将寄存器BX的内容减1

 指令格式

汇编指令由操作码字段操作数字段构成。

  • 指令字长度:一个指令字中包含二进制代码段位数。
  • 机器字长:指计算机能直接处理的二进制数据的位数,它决定计算机的运算精度。
  • 单字长指令:指令字长度等于机器字长的指令。
  • 半字长指令:指令字长度等于半个机器字长度的指令。
  • 双字节长指令:指令长度等于2个机器长度的指令。

        在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构;如果各种指令字长度随指令功能而异,如果有点指令是单字长指令,有的指令是双字长指令,被称为变字长指令字结构。

8086汇编语言格式

8086指令的格式为:  标号:操作码  操作数  ;注释

         其中,标号和注释都是可选项,标号表示该指令在代码段中的偏移地址。注释对该指令进行说明,不参加指令单执行。

操作码:说明指令的性质和功能。

操作数:参与运算的操作数或存放操作数的地址。(数值、寄存器、存储器)

分固定长度和可变长度。X86系列CPU(CISC)采用可变长度,ARM(RISC)采用固定长度。

8086CPU的机器指令长度为1 ~ 6 个字节。

例 :汇编指令MOV AX,05C7H的机器指令汇编码为B8C705H,转换成二进制为:

1011 1000 1100 0111 0000 0101B

 

 8086寻址方式

操作数存在方式

操作数包含在指令中——即指令的操作数部分就包含着操作数本身。

        MOV AX,1234

        ADD  AL,2

操作数包含在CPU的某一个内部寄存器中——这时指令中的操作数是CPU内部的某一个寄存器。

        MOV  DS,AX

操作数在内存的数据区中——这时指令中的操作数包含着此操作数的地址

        MOV  AX,[2000]

        MOV  buffer[SI],AX

操作数在I/O端口寄存器中——这时指令中的操作数包含着此操作数的所在端口地址

        IN  AL,n   ; n是端口号

立即寻址(Immediate Addressing

        操作数直接存放在指令中,紧跟在操作码之后,作为指令的一部分,存放在代码段里,这种操作数称为立即数,常用来给寄存器赋值。

立即数只能做源操作数。     (×)MOV  3,AL

源、目的操作数的字长必须一致。  (×)MOV  AH,3064H

存储器寻址(Memory Addressing

        指令数存放在存储器中,CPU取出指令后,为了获得操作数(对于源操作数)或操作数的存放地址(对于目的操作数)还要再次访问存储器。

        指令中以逻辑地址(有效地址EA)表示操作数存放的位置,可以

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆伍玖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值