汇编语言基础2

汇编语言基础(寄存器)

首先一个CPU 的结构一般包含运算器,控制器,寄存器,高速缓存,总线等等他们的功能简要来说就是:

1.运算器进行信息处理

2.寄存器进行信息处理

3.控制器控制个种器件进行工作

4.内部总线连接各种器件

不同的CPU ,寄存器的个数,结构是不相同的。8086有14个寄存器每一个都有一个名字:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。

它的寄存器都是16位的,可以存放两个字节,AX,BX,CX,DX这4个寄存器通常用来存放一般性的数据。

特别一提:

8086是现阶段主流PC处理器X86架构处理器的鼻祖,虽然已经是64位了,但是他们还是有很多相似之处的,X86有4种模式,真实模式,保护模式,系统管理模式,虚拟V86模式。

关于寄存器:

以普通的存放一般性数据的寄存器AX 来说,这是一个十六位的寄存器,它可以被从中间等分点分开成两个八位的寄存器,叫AL(low),AH(high),这两个寄存器可以分别使用,就是说可以当作两个寄存器来使用。

字:

字在这里是一个新的概念,一个由16位二进制数据组成的数据就叫做一个字,这是以往没有接触过的。

简单的几条汇编指令:

指令                 举例                     执行动作                                                      高级语言表示

MOV             MOV AX,18          将18送入寄存器AX                                     AX = 18

ADD              ADD  AX,8            将AX 寄存器的值加8                                  AX+=8

SUB              SUB   AX,BX         将BX 的值与AX 相减存入AX                      AX-=BX

JMP              JMP    XXXX:YYYY     将地址跳转到XXXX:YYYY

注意:

汇编语言并不区分大小写,MOV与mov 是一样的随便写那种都可以

在使用指令传送数据时两个操作对象的位数应当是一致的(例如,8位不可以和16位互相传数据),不能超过上限。

物理地址:

物理地址 = 段地址*16 + 偏移地址

8086得出物理地址的方法:

1.CPU提供两个16位的地址一个称之为段地址,一个叫偏移地址。

2.段地址和偏移地址通过内部总线送入一个地址加法器的部件,然后使用上面的公式来进行计算

3.地址加法器将两个16位地址合成一个20位物理地址

4.通过内部总线将20位的物理地址送入输入输出的控制电路

5.输入输出的控制电路将20位的物理地址送上地址总线

6.20位物理地址被地址总线传送到存储器

7。不同的段地址和偏移地址可能合成同样的物理地址

其中CS寄存器中存储的就是段地址,IP存储器中存储的是偏移地址。

使用:

windos 用户直接使用DOS就好

linux     用户需要使用dosbox模拟一个DOS 环境

时间: 2024-11-05 18:59:45

汇编语言基础2的相关文章

汇编语言基础1

因为以后应该是要看内核相关的东西,内核百分之二十是用汇编语言写的,不会汇编显然不行,要学的东西还是真多,汇编只是正是走向内核之路的开始,万事开头难,还真是难,下午下载了2.6 和 4.04 的代码显然还是看不懂,那就从基础看把,我至少先搞明白内核是个什么东西,就选择了<linux内核设计与实践>这本书偏向理论,不过现阶段我就是看看内核是什么东西,然后在去看看为什么这样做,就是阅读源码(又是一项挑战)最后去实现一些有关的东西就是怎么做,最终再生成一门网络编程的技能.基本大学4年就够了,真的很多,

汇编语言基础知识总结

这学期选修了汇编语言课程,通过大一一年对于C语言以及C++的学习,已经认识到了计算机语言给人们生活带来了许多便捷,之前对于汇编语言的印象是与计算机病毒有关.个人认为作为计科系的学生,不能只掌握高级程序设计语言,而忽略了计算机底层知识和低级语言.第一节课介绍了汇编语言的基础知识,我对这一部分进行了梳理和总结. ·汇编语言的特点 汇编语言的主体是汇编指令.汇编指令是机器指令的助记符,从目标代码的长度和程序运行时间的角度上看,汇编语言程序与机器语言程序是等效的.不同的CPU有不同的汇编指令,汇编语言不

汇编语言基础-1

汇编语言的组成:至今有三类指令 1.汇编指令  机器码的助记符,有对应的机器码. 2.伪指令     没有对应的机器码,由编译器执行 ,计算机不执行. 3.其他符号   如+ - × / 由编译器识别, 没有对应的机器码. 内存(存储器):CPU要工作,就需要指令与数据,指令与 数据就需要内存给CPU,磁盘中的数据或指令先要加载到内存,然后内存再给CPU. 磁盘 -----> 内存------->CPU 指令与数据:他们在磁盘或内存中,是没有区别的,在应用上才有区别,在磁盘或内存上,都是二进制

汇编语言基础知识学习笔记(一)

汇编语言发展至今,由下列三类指令组成. 1.     汇编指令:机器码的助记符,有对应的机器码. 2.     伪指令:没有对应的机器码,由编译器执行,计算机并不执行. 3.     其他符号:如:+.-.*./等,由编译器识别,没有对应的机器码. 汇编语言的核心是汇编指令,它决定了汇编语言的特性. 一.     CPU对存储器的读写 CPU要想进行数据的读写,必须和芯片进行3类的信息交互: 1.     存储单元的地址(地址信息) 2.     芯片的选择,读或写的命令(控制信息) 3.   

汇编语言基础知识

1.汇编语言的特点:机器相关性,高速度和高速率,编写和调试的复杂性. 2.指令与数据的关系:指令是你要计算机做什么,数据是你要计算机做那些. 3.CPU通过总线对存储器数据的读写过程:CPU要想进行数据的读写,必须和外部器件进行下面3类信息的交互: 存储单元的地址 器件的选择,读或写的命令 读或写的数据 4.内存地址空间:地址空间表示任何一个计算机实体所占用的内村大小.地址空间包括物理空间以及虚拟空间.

汇编语言基础 01

对于汇编程序员来说,寄存器是很基础的. 通用寄存器 AX BX CX DX 他们各可分为高位和低位 AH AL BH BL CH CL DH DL 几条汇编指令 mov ax,18 将18送入寄存器AX mov ah,78 将78送入寄存器AH add ax,8 将寄存器AX中数值加上8 mov ax,bx 将寄存器BX中的数据送入寄存器AX add ax,bx 将AX和BX中的数值相加,结果存在AX中 在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的 例如:mov ax,bl

汇编语言基础知识摘要(《汇编语言》王爽)第 2 / 17 章

一个典型的CPU由运算器.控制器.寄存器等器件构成,这些器件靠内部总线相连.第一章中所说的总线,相对于CPU内部来说是外部总线.内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系.简单地说,在CPU中: 运算器进行信息处理: 寄存器进行信息存储: 控制器控制各种器件进行工作: 内部总线链接各种器件,在它们之间进行数据的传送. 对于一个汇编程序员来说,CPU中的主要部件是寄存器.寄存器是CPU中程序员可以用指令读写的部件.程序员通过改变各种寄存器中的内容来实现对CP

汇编语言基础知识摘要(学习《汇编语言》王爽)

CPU,是计算机的核心部件,它控制整个计算机的运作并进行运算. 寄存器,是CPU中可以储存数据的器件,一个CPU中有多个寄存器. 汇编语言由以下3类指令组成: 汇编指令:机器码的助记符,有对应的机器码. 伪指令:没有对应的机器码,由编译器执行,计算机并不执行. 其他符号:如+.-.*./ 等,由编译器识别,没有对应的机器码.

x86汇编语言基础

一.汇编语言的特点1.与机器相关性2.执行的高效性3.编写程序的复杂性4.调试的复杂性 二.通用寄存器1.数据寄存器数据寄存器用来存放计算的结果和操作数,也可以存放地址.每个寄存器又有自己专用的目的:AX:累加器,使用频率最高,用于算数.逻辑运算以及外设传递信息等:BX:基址寄存器,常用于存放存储器的地址:CX:计数器,作为循环和串操作等指令中的隐含计数器DX:数据寄存器,常用于存放双字长数据的高十六位,或存放外设端口地址: 2.变址寄存器变址寄存器常用于存储器寻址时提供地址SI是源变址寄存器(