汇编语言
来源:互联网 发布: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的数据存储器件,存储器包括内存、外存、磁盘等数据存储器,
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内存条和接口)
cpu可寻址的单位内存是字节
pc主板上有cpu,存储器,外围芯片组,扩展插槽(RAM内存条和接口)
主存RAM ROM(系统BIOS,扩展插槽RAM(显卡RAM,ROM-BIOS)(网卡ROM-BIOS) ==》》内存,每个物理存储器都是一个地址空间
内存大小决定于总线宽度,每个内存单元指向不同的内存器件
向显存输入数据首先知道显存地址空间
内存大小决定于总线宽度,每个内存单元指向不同的内存器件
向显存输入数据首先知道显存地址空间
cpu有运算器,控制器,寄存器组成(通过内部总线连接?,运算器负责运算,控制器负责控制,寄存器负责数据存储,
一个16进制为四个二进制,
一个16进制为四个二进制,
mov ax,18(bx) 将18送入寄存器ax
add ax,18(bx) 寄存器加18
add ax,18(bx) 寄存器加18
ax=ah+al
bx=bh+bl
cx=ch+cl
dx=dh+dl
bx=bh+bl
cx=ch+cl
dx=dh+dl
16位结构cpu指的是一次性处理最大数据长度为16位
地址总线(外部)和内部总线可以不同(通过地址合成,地址加法器,段地址,偏移地址)
16进制一位为四位二进制,移动一位相当于倍数16
增加cpu寻址能力(内存)可以增加cpu位数和地址合成
内存地址为二进制编号,通过高低电平识别
地址总线(外部)和内部总线可以不同(通过地址合成,地址加法器,段地址,偏移地址)
16进制一位为四位二进制,移动一位相当于倍数16
增加cpu寻址能力(内存)可以增加cpu位数和地址合成
内存地址为二进制编号,通过高低电平识别
16位cpu的段地址(四位16进制数)为16的倍数,段地址*16,偏移地址16位,通过改变偏移地址可以寻址64kb大小内存,0-FFFFH
段寄存器(cs,ds,ss,es)
段寄存器(cs,ds,ss,es)
cpu工作原理:cs:ip(段地址*16+ip偏移量=物理地址)产生的段地址(开机初始化FFFFH)和偏移地址(开机初始化0000H)送到地址加法器生成物理地址,送到输入输出电路,通过地址总线找到地址单元,读取机器指令(指令+数据)通过数据总线传到输入输出总线(此时ip增值指令单元数),传到指令缓冲器,传到执行控制器执行,然后相应的寄存器改变值
jmp 3:0B16 cs=0003H,ip=0B16H
jmp ax ip=ax的值
jmp ax ip=ax的值
汇编语言通过编译转换成机器语言(.exe文件 机器码)
r 查看修改cs ip,寄存器
d 查看内存
e 修改内存
u 查看内存机器码
t 执行内存机器码
a 想内存中以汇编语言写入指令
d 查看内存
e 修改内存
u 查看内存机器码
t 执行内存机器码
a 想内存中以汇编语言写入指令
指令在内存中顺序存储,默认指令add 占用两个字节
0 0
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 汇编语言
- 《汇编语言》
- 汇编语言
- 如何理解java中的方法
- Spark On Yarn 详细配置流程
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5)
- 枚举搜索+贪心:POJ2718--Smallest Difference(解一)
- 打了断点,但不进入debug视图
- 汇编语言
- "Spark 1.6 + Alluxio 1.2 + OFF_HEAP" 的配置
- 杭电1003——Max Sum
- Hdu-4734 F(x)(数位DP)
- SharedUserData
- 在使用eclipse 时不出现M标志的解决办法
- STL学习总结
- 枚举库函数搜索:POJ2718--Smallest Difference(解二)
- ulua 路径小记 以及 lua require 机制整理