汇编语言

来源:互联网 发布:ubuntu 16.04 优麒麟 编辑:程序博客网 时间:2024/06/07 00:45
汇编语言是各种cpu提供的机器指令助记符集合,每种cpu都有其各自的汇编语言
寄存器cpu的数据存储器件,存储器包括内存、外存、磁盘等数据存储器,
cpu获取数据只能从内从获取,所以一切数据要读到内存?
cpu和外部器件的交互通过总线控制,cpu和内存的交互通过数据线(数据信息,数据总线越宽传输速度越快)、控制线(控制信息,控制总线越宽对外部器件的控制能力越强)、地址线(地址信息,地址总线越宽对内存容量越大,主要在于每个地址位数等于地址总线条数?)进行,计算机和cpu的交互通过电平脉冲,每根电平脉冲都只有两种状态(高电平,低电平,代表1和0),通过电平变化设计响应事件。
机器语言是机器指令集(通过打孔纸带操作的一组二进制数字),检查机器码(机器语言)的时候产生相应的电平脉冲操纵cpu
高电平时1,低电平是0,会对应到相应的事件,可以用多条脉冲来标记一个事件,比如说数据总线通过八位电平脉冲来表示一个数
存储器的存储单元为Byte,一个byte有8bit,1bit为一个二进制数(0,1)存储器是数据存放区
一根总线代表一个bit,cpu寻址能力为8KB,则地址总线宽度为23根?
1KB的存储器有1024个存储单元?编号从0-》1023?
1GB=1024MB=1024*1024KB=1024*1024*1024B=1024^4bit
从内存中读取1024字节的数据,数据总线16跟(每次读取2个字节,一根一个位,八根一个字节)需要读512次

存储器中,数据和程序已电平脉冲存放
cpu可寻址的单位内存是字节
pc主板上有cpu,存储器,外围芯片组,扩展插槽(RAM内存条和接口)

主存RAM ROM(系统BIOS,扩展插槽RAM(显卡RAM,ROM-BIOS)(网卡ROM-BIOS)   ==》》内存,每个物理存储器都是一个地址空间
内存大小决定于总线宽度,每个内存单元指向不同的内存器件
向显存输入数据首先知道显存地址空间

cpu有运算器,控制器,寄存器组成(通过内部总线连接?,运算器负责运算,控制器负责控制,寄存器负责数据存储,
一个16进制为四个二进制,

mov ax,18(bx) 将18送入寄存器ax
add ax,18(bx) 寄存器加18

ax=ah+al
bx=bh+bl
cx=ch+cl
dx=dh+dl

16位结构cpu指的是一次性处理最大数据长度为16位
地址总线(外部)和内部总线可以不同(通过地址合成,地址加法器,段地址,偏移地址)
16进制一位为四位二进制,移动一位相当于倍数16
增加cpu寻址能力(内存)可以增加cpu位数和地址合成
内存地址为二进制编号,通过高低电平识别

16位cpu的段地址(四位16进制数)为16的倍数,段地址*16,偏移地址16位,通过改变偏移地址可以寻址64kb大小内存,0-FFFFH
段寄存器(cs,ds,ss,es)

cpu工作原理:cs:ip(段地址*16+ip偏移量=物理地址)产生的段地址(开机初始化FFFFH)和偏移地址(开机初始化0000H)送到地址加法器生成物理地址,送到输入输出电路,通过地址总线找到地址单元,读取机器指令(指令+数据)通过数据总线传到输入输出总线(此时ip增值指令单元数),传到指令缓冲器,传到执行控制器执行,然后相应的寄存器改变值

jmp 3:0B16 cs=0003H,ip=0B16H
jmp ax ip=ax的值

汇编语言通过编译转换成机器语言(.exe文件 机器码)

r 查看修改cs ip,寄存器
d 查看内存
e 修改内存
u 查看内存机器码
t 执行内存机器码
a 想内存中以汇编语言写入指令

指令在内存中顺序存储,默认指令add 占用两个字节
0 0
原创粉丝点击