汇编语言的第一天学习

一、基础知识

1、汇编语言由三类指令组成

  • 汇编指令:机器码的助记符,有对应的机器码。
  • 伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
  • 其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
    汇编语言的核心是汇编指令,它决定了汇编语言的特性。
    在这里插入图片描述

2、指令和数据

指令和数据是应用上的概念,在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
在这里插入图片描述

二、硬件组成

1、主板

主板上由核心器件和一些主要器件,这些器件通过总线相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。

2、存储器

  • 存储单元从零开始顺序编号。
  • 一个存储单元可以存储8个bit,即8位二进制数。

2.1、各类存储器芯片

在这里插入图片描述

2.1.1、随机存储器

用于存放CPU使用的绝大部分程序和数据,主随机存储器一般由俩个位置上的RAM组成,装在主板上的RAM和插在扩展插槽上的RAM。

2.1.2、装有BIOS的ROM

BIOS是主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM。

2.1.3、接口卡上的RAM

某些接口卡需要对大批量输入、输出数据进行暂时存储,在其上装有RAM。最典型的是显示卡上的RAM,一般称为显存。

2.2、内存空间

所有物理存储器被看作一个由若干个存储单元(内存单元)组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。cpu在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
8086PC机内存地址空间分配情况。
在这里插入图片描述

2.3、CPU对存储器的读写

  • 地址总线:它的宽度决定了cpu的寻址能力。
  • 数据总线:它的宽度决定了cpu与其他器件进行数据传送时的一次数据传送量。
  • 控制总线:它的宽度决定了cpu对系统中其他器件的控制能力。在这里插入图片描述

3、接口卡

CPU不能直接控制外部设备(显示器、音响、打印机),但可以直接控制扩展插槽上的接口卡,因此对外部设备的控制,可以通过扩展插槽上的接口卡间接控制。

4、寄存器(8086)

8086CPU有14个寄存器,每个寄存器都有一个名称。AX、BX、CX、DX、SI、DI、SP、BP、CS、SS、DS、ES、PSW。

4.1、通用寄存器(AX、BX、CX、DX)

为了保证兼容,使原来基于上代CPU编写的程序稍加修改就可以运行在8086之上,因此8086CPU的AX、BX、CX、DX、这个四个寄存器都可以分为俩个可独立使用的8位寄存器来用。
在这里插入图片描述

4.1.1、8086CPU给出物理地址的方法

物理地址=段地址x16+偏移地址
本质含义:基础地址(段地址x16)+偏移地址=物理地址
在这里插入图片描述

4.1.2、段的概念

内存并没有分段,段的划分来自于CPU,由于8086CPU用”基础地址+偏移地址=物理地址“的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。
注意俩点:1.段的起始地址是16的倍数。2.段的最大长度为64KB。

4.2、段寄存器(CS、DS、SS、ES)

4.2.1、CS和IP

CS为代码段寄存器,IP为指令寄存器,它们指示了CPU当前读取指令的地址。假设CS为M,IP为N,则当前要读取指令的地址为Mx16+N单元开始。在这里插入图片描述

4.2.2、修改CS、IP的指令

mov为传送指令,它能够修改大多数寄存器的值,但不能修改CS、IP寄存器的值,可以通过转移指令JMP指令来修改。
例如:jmp 2AE3:3,执行后:CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令。
如果只想修改IP的内容,可用形如”jmp某一合法寄存器“的指令完成,如jmp ax。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值