汇编笔记一

存储芯片分两种:RAM(随机存储器)和ROM(只读存储器),前者可读可写但断电后数据丢失,后者只可读但断电后只可读

RAM 分两种主板上的RAM和扩展插槽(外设的插口)上的RAM

扩展插槽的RAM:

某些接口卡需要对大批输入,输出数据进行暂时存储,在其装饰RAM。例如显卡里的RAM(显存)会把存在里面的数据输出到屏幕上。

——————————————

ROM有装有BIOS的ROM:

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

———————————————————————————————————————————————————————

内存单元的地址在送上地址总线之前,必须在CPU中处理、传输、暂时存放,对于16位CPU,能一次性处理、传输、暂时存储16位的地址。

地址加法器采用:物理地址=段地址*16+偏移地址   的方法用段地址和偏移地址合成物理地址。

基础地址是段地址*16

———————————————————————————————————————————————————————

数据在21F60H内存单元中,对于8086PC机一般不这么讲,取而代之的是两种类似的说法:1.数据存在内存2000:1F60单元中;2.数据存在内存的2000H段中的1F60H单元中。这两种表示的意思是“数据在内存21F60H单元中”

8086CPU有4个段寄存器:CS、DS、SS、ES

———————————————————————————————————————————————————————

8086CPU给出物理地址的方法

其他部件——>段地址和偏移地址(两者都16位)——>地址加法器——>生成物理地址(20位)——>输入输出控制电路——>20位地址总线(链接内存的还有数据总线和控制总线等...)——>内存

———————————————————————————————————————————————————————

大部分寄存器都可以用mov 来修改值,mov被称为传送指令,但无法设置CS和IP的值。

jump可以修改CS和IP的值,若想同事修改CS、IP的值可用此格式:jmp 段地址:偏移地址。例如:jmp 2AE3:3执行后,CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令。

jmp功能:用指令中给出的段地址和偏移地址来修改CS和IP

若仅想修改IP的内容,可用刑如“jmp 某一合法寄存器” 此命令功能为仅修改IP值。例如:jmp ax 执行前ax=1000H IP=0003H执行后IP=1000H。就有点类似 mov IP,ax

———————————————————————————————————————————————————————

CPU只认被CS:IP指向的内存单元中的内容为指令。要让CPU执行我们放在代码段中的指令,必须要将CS:IP指向定义的代码段中的第一条指令的首地址

———————————————————————————————————————————————————————

Debug

R命令:查看、修改CPU中寄存器的内容

D命令:查看内存中的内容

E命令:修改内存中的内容

U命令:将内存中的内容解释为机器指令和对应的汇编指令

T命令:执行CS:IP指向的内存单元处的指令

A命令:以汇编的形式向内存中写入指令

———————————————————————————————————————————————————————

在一个16位寄存器中,高8位是ah低8位是al,可以分别对其进行操控(向下兼容)

8086pc机中

00000~9FFFF:主存储器地址空间(RAM)

A0000~BFFFF:显存地址空间

C0000~FFFFF:各类ROM地址空间

 

所有笔记都是看的王爽的汇编书上的内容

你可能感兴趣的:(汇编笔记一)