汇编语言学习笔记(二)
来源:互联网 发布:b2b2c php开源框架 编辑:程序博客网 时间:2024/04/30 09:50
1.CPU的组成:
运算器:进行信息的处理
寄存器:进行信息的存储
控制器:控制各种器件进行工作
内部总线(CPU内部的总线):连接各种器件,在他们之间进行数据的传送
2.寄存器是CPU的主要部件,寄存器是CPU中程序员可以用指令读写的部件,程序员通过改变各种寄存器中的内容来实现对CPU 的控制。
3.寄存器的分类:(8086CPU)
AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW
我们主要关心的寄存器是:
①通用寄存器,用来存放一般性的数据,他们是:AX、BX、CX、DX
AX、BX、CX、DX都可以分为高8位和低8位,他们是:
AX可分为:AH和AL;
BX可分为:BH和BL;
CX可分为:CH和CL;
DX可分为:DX和DL;
②段寄存器,用来存放段地址,他们是:CS、SS、DS、ES。我们主要关注CS,他为代码段寄存器,存放的是CPU当前要读取指令的段地址。
③指令指针寄存器,用来存放偏移地址,他是IP。
4.物理地址:
CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址成为物理地址。
5.什么叫16位结构的CPU
运算器一次最多可以处理16位的数据;
寄存器的最大宽度为16位;寄存器和运算器之间的通路是16位。
6.物理地址=段地址*16+偏移地址。
7.CPU从何处执行指令是由CS、IP中的内容决定的,程序可以通过改变CS、IP中的内容来控制CPU执行目标指令。
8.修改CS、IP的内容,可以用:
同时修改CS、IP:jmp 段地址:偏移地址
修改IP:jmp:某一合法寄存器
附:debug的使用方法
1.怎么进debug?
在“运行”里面输入“command”后,确定。就进入了DOC方式。
然后,输入debug回车,就进入了debug。
在debug下,输入q回车是,是退出debug。
2.命令介绍:
-r 可以查看各个寄存器的内容
-r 寄存器名 可以修改寄存器中的内容
-d 可以查看内存中的内容
-d 段地址:偏移地址 查看内存中某物理地址的内存,将列出指定内存单元开始的128个内存单元的内容
-e 段地址:偏移地址 修改内存中某物理地址的的内容
-u 段地址:偏移地址 查看从某物理地址开始的内存单元中的内容翻译为汇编指令
-t 可以执行CS:IP指向的指令
-a 段地址:偏移地址 可以从某物理地址开始以汇编指令的形式在内存中写入机器指令
- 汇编语言学习笔记(二)
- 汇编语言学习笔记(二)
- AT&T 汇编语言学习笔记二
- 【学习笔记之汇编语言】【二】寄存器
- 汇编语言基础知识学习笔记(二)
- 汇编语言笔记(二)
- 汇编语言笔记(二)
- 汇编语言笔记整理(二)
- 汇编语言笔记二
- 汇编语言学习二
- 汇编语言学习(二)
- 汇编语言学习(二)
- 80x86汇编语言学习笔记(二)二次修改版
- 汇编语言程序设计学习笔记(二)(Linux 版)
- 汇编语言学习笔记(二):寄存器(cpu工作原理)
- 王爽汇编语言学习笔记(二)--寄存器
- 汇编语言学习笔记二:访问内存的寄存器
- MASM汇编语言笔记(二)汇编语言基础
- CUDA模型解读-顺便学习
- 键盘扫描
- 分散加载的实现
- [org.springframework.transaction.interceptor.TransactionProxyFactoryBean] depends on not found;
- 让企业不断壮大的15条建议
- 汇编语言学习笔记(二)
- 微软下周发4款危急补丁 涉及多个Windows版本
- 大道至简-第3章
- CSS教程
- AMD两周内拆分CPU制造部门
- 新版Firefox扬言在要速度上超越Chrome
- microwindows代码分析 (六)font字体之freetype
- oracle的细粒度审计
- 事件监听器