上海网站设计公司 静安,WordPress手机页面插件,汕头市建设网站,昆明招工网站找普工作建设工作1、什么是汇编语言#xff0c;它在计算机语言中的地位#xff1f;
汇编语言是程序设计语言的基础语言#xff0c;是唯一可以直接与计算机硬件打交道的语言2、汇编语言与源程序、汇编程序、汇编的关系#xff1f; 3、汇编语言的特点
\1) 汇编语言与机器指令一一对应#…1、什么是汇编语言它在计算机语言中的地位
汇编语言是程序设计语言的基础语言是唯一可以直接与计算机硬件打交道的语言2、汇编语言与源程序、汇编程序、汇编的关系 3、汇编语言的特点
\1) 汇编语言与机器指令一一对应可充分理解计算机的操作过程汇编语言指令是机器指令的符号表示\2) 汇编语言是靠近机器的语言编程时要求熟悉机器硬件系统可充分利用机器硬件中的全部功能发挥机器的特点在计算机系统中某些功能由汇编语言程序实现实时过程控制系统、系统初始化、实际的输入输出设备操作\3) 汇编语言程序的效率高于高级语言效率指的是用汇编语言编写的源程序在汇编后所得的目标程序效率高时间域的高效率运行速度快空间域的高效率目标代码占用存储空间少
4、汇编语言与高级语言的比较 5、进制转换
略6、数据组织单位 \1) 位bit 是计算机中表示信息的最小单位符号b是一个二进制位每一位用0或1表示 \2) 字节Byte 8位二进制数为一个字节 \3) 字Word 若干个字节为一个字一般一个字包含两个字节 范围0000H~FFFFH \4) 双字Double Word 两个字节为一个字四个字节为连个字称为双字 范围00000000H~FFFFFFFFH \5) 字长 机器字的长度为字长即计算机中每个字所包含的位数由机器数据总线数决定 例如数据总线数为64位机器字长为64位即每个字有8个字节 \6) 数据字与指令字 数据字在存储单元中存储的是数据 指令字在存储单元中存储的是指令 无论是数据字还是指令字在存储单元中都是以二进制的形式存放的 7、BCD码
两种存储方式组合型1个字节表示2个BCD码非组合型1个字节表示1个BCD码
8、80X86计算机组织结构
微型计算机的硬件系统主要由3个主要部分组成
1)中央处理器CPU运算器、控制器、寄存器2)输入输出设备3)存储器
9、80X86 CPU的寄存器
寄存器分为3类
1)通用寄存器2)控制寄存器3)段寄存器
8个8位通用寄存器AL,AH,BL,BH,CL,CH,DL,DH
8个16位通用寄存器AX,BX,CX,DX,SI,DI,BP,SP
8个32位通用寄存器EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP 说明1指针寄存器SP,ESP,BP,EBP SP,ESP为堆栈指针寄存器存放当前堆栈段栈顶的偏移地址 是根据指令自动移动的要想随机读取 堆栈段中的数据必须通过BP或EBP基址指针寄存器来读取。 2控制寄存器IP,EIP,FLAGS,EFLAGS IP,EIP为指令指针寄存器用于存放当前正在执行的指令的 下一条指令的偏移地址该寄存器所指的为代码段的偏移地址。 FLAGS为标识寄存器表示程序运行时的状态和一些特殊控制 3段寄存器
代码和数据是分开存放代码存放在代码段数据存放在数据段
10、内存组织结构
1内存的地址 在存储器中内存单元的基本单位是字节每个字节都有一个唯一的地址 2存储单元的内容
一个存储单元存放的信息为存储单元的内容
分为字节单元、字节单元、双字单元双字需要两个16位寄存器通常为DX:AX,DX高位AX低位 3)堆栈
堆栈是内存中一块特定的区域其中数据按照*先进后出*原则
作用暂存数据、子程序调用与返回、调用中断处理程序、从中断处理程序返回
位置堆栈段地址存放于SS寄存器中偏移地址存放在堆栈指针寄存器SP(16位)/ESP(32位)
他们永远指向栈顶初始化堆栈的初始化时通过设置SS及SP/ESP值来完成的可以由编译系统自动完成也可以在程序
中通过伪指令显示地定义11、实模式
1)介绍只有8086/8088工作在实模式下80286以上的微处理器工作在实模式和保护模式下在实模式下微处理器只能寻址1MB的存储空间80286以上系统的微处理器在加点或复位时都以实模式方式开始工作2内存地址的分段*为什么要分段*8086/8088地址总线为20根可访问的地址为2^2010485761M8086/8088内部寄存器都是16位的可以直接处理16位长度的存储地址16位地址的寻址2^1664K为了把寻址范围扩大到1MB实模式存储器地址均采用存储空间的分段技术来解决寻址1MB的存储空间提出了段地址和偏移地址合成20位物理地址的概念*分段方法*16位段地址16位段内地址---20位物理地址地址的组合物理地址段地址*16D(或10H)偏移地址段地址*16D--二进制段地址左移4位存放段地址16位段地址寄存器CS、DS、SS、ES存放偏移地址16位指针寄存器IP、SP在1MB存储器中可以有64K个段每个段最多64KB最小为16KB*物理地址、段地址、段内地址、逻辑地址的区别*物理地址与内存单元一一对应的20位二进制数,1MB00000H~FFFFFH每个物理地址代表一个唯一的内存单元段地址将1MB的内存空间分为长64KB的程序区和数据区称为段每个段用1个16位二进制地址表示段地址存放在段寄存器中代码段用于存放源程序的二进制程序代码该段的段地址放在CS中数据段存放操作数据的该段的段地址放在DS中堆栈段堆栈用的存储区该段的段地址放在SS中附加段该段的段地址放在ES中段内地址16位二进制段内地址为偏移地址偏移地址不同段内的偏移地址存放在不同的寄存器中段寄存器与装偏移地址的寄存器按一定要求组合逻辑地址用段地址和偏移地址来表示内存单元的地址为逻辑地址例如段地址偏移地址*逻辑地址与物理地址的换算关系*物理地址 段地址*16D10H偏移地址逻辑地址 段地址偏移地址例子逻辑地址1111H:2222H
物理地址1111H*10H2222H 13332H
假设1111H为代码段地址2222H在指针寄存器IP中示意图如下内存分配方法
代码段、数据段、堆栈段的大小是以节为最小单位分配内存区域的16字节2个字1节节的边界地址就是能够被16整除的地址偏移地址段内地址是从0000H开始的例子假设程序分配的内存区从6100H开始程序长度1020字节操作数510字节堆栈段250字节则代码段长度为1024D400H数据段长度为512D200H堆栈段长度为256D100H
示意图如下 段与段之间的关系
8088/8086 CPU把1MB的存储空间划分成若干逻辑段每个段的起始地址必须是能够被16整除的数逻辑段的最大长度为64KB 1MB的存储空间最多可以分成64K个逻辑段当每个逻辑段为16KB时段与段之间可以相邻、分离、重叠、部分重叠
12、保护模式
1保护模式存储器寻址机制在保护模式下逻辑地址选择符偏移地址与实模式不同实模式的段寄存器存放段基地址而保护模式的段寄存器存放选择符保护模式下通过选择描述符表中的描述符间接地形成段基地址保护模式的偏移地址最大可以是32位最大段长可以从16KB扩展到4GB
2)描述符描述符包括段在寄存器中的位置段的长度访问权限由基地址、段界限、访问权限、附加字段组成基地址指定段的起始地址段界限存放该段的最大偏移地址访问权限说明该段在系统中的功能和一些控制信息附加字段描述该段的一些属性描述符的内容是由系统自动设置的由于段寄存器是16位的描述符是64位的故将64位的段描述符放按顺序存放形成一个段描述符表放在内存中而在段寄存器中实际存放的是要选择的段描述符表的序号类似于数组中的下标13、存储器管理机制
1分段管理机制①虚拟存储器在有限的物理存储器上获取更大的使用空间*虚拟存储器是如何实现存储的*在程序执行期间的任意时刻虚拟存储器系统自动吧程序分成许多小块即程序段将某个程序段存放到物理存储器中其他程序段放在磁盘中当程序要访问到哪个程序段时就把哪个程序段引导到物理存储器中②分段管理将4GB的存储空间分成若干独立的受保护的存储空间块每个应用程序可以使用这些存储空间块2分页管理机制
①线性地址空间每个进程都有相同大小的4GB线性空间
用分段管理机制实现虚拟地址空间到线性地址空间的映射实现把二维的
虚拟地址转换为一维的线性地址②分页存储管理把线性地址空间和物理地址空间分别划分为大小相同的块每块长为4KB
这样的块称为页通过分页管理机制实现线性地址空间到物理地址空间的
映射实现线性地址到物理地址的转换受保护的存储空间块 每个应用程序可以使用这些存储空间块
2分页管理机制①线性地址空间每个进程都有相同大小的4GB线性空间 用分段管理机制实现虚拟地址空间到线性地址空间的映射实现把二维的 虚拟地址转换为一维的线性地址
②分页存储管理把线性地址空间和物理地址空间分别划分为大小相同的块每块长为4KB 这样的块称为页通过分页管理机制实现线性地址空间到物理地址空间的 映射实现线性地址到物理地址的转换