汇编语言第一张笔记
来源:互联网 发布:手机淘宝平台通知 编辑:程序博客网 时间:2024/04/27 16:33
计算机芯片运行时,它读取存储在内存中的指令码(一个或多个字节,指示处理器完成某个任务),指令码所需数据在内存中,也从内存中读取。
以指针区别数据和指令码。
instruction pointer用于帮助处理器理解哪些指令码已经处理过,接着处理哪些;包括改变指令指针位置的指令。
数据指针data pointer帮助处理器了解内存中数据区域(堆栈)的起始位置。数据进入,指针“向下移动”。
指令码包含错干信息片段,明确指明处理器要完成什么操作。
每条指令都必须至少包含一个字节的operation code。(处理器预定义好的)
指令码格式:
1.可选指令前缀;
2.操作码
3.可选修饰符
4.可选数据元素
寄存器是处理器芯片内的组件,用于临时存储处理器正在处理的数据。
指令前缀:
1.锁定前缀(表示指令将单独使用共享内存区域)、重复前缀(重复,常常处理字符串);
2.段覆盖前缀(可覆盖定义了的段寄存器的指令),分支提示前缀(尝试向处理器提供程序在条件跳转遇见中最可能路径的线索);
3.操作数长度覆盖前缀(通知处理器,程序将在这个操作码内切换16位和32位的操作数长度。);
4.地址长度覆盖前缀(通知处理器程序将切换16位和32位的内存地址,程序将切换到另一种长度);
修饰符:
协助操作码来定义执行的功能中涉及到什么寄存器和内存位置:
1.寻址方式说明符(ModR/M)字节
2.比例-索引-基址(SIB)字节
3.1、2或4个地址移位字节
数据元素:
一些指令码从内存位置或者急促请你读取数据,一些指令码在其自身内包含数据。
IA32采用小字节序,比如1写为4字节16进制01 00 00 00(低位首先出现);
HLL(高级语言)分类:
1.编译语言
2.解释语言
编译程序步骤:
1.将HLL语句编译为原始指令码;
2.连接原始指令码来生成可执行程序;
汇编语言 定义变量:
1.指向一个内存位置的标记
2.内存字节的数据类型和默认值
堆栈是特殊的内存区域,保留用做程序中函数之间传递数据元素,也可以林仕德存储和检索。数据元素。(是计算机为应用程序保留的内存范围的结尾位置保留的内存区域。)
堆栈指针用于指向堆栈中的下一个内存位置以便放入和取出数据。
汇编语言至少要声明的段落:
1.数据段(声明为程序存储数据元素的 内存区域。静态)
2.bss段(静态内存段,包含用于以后在程序中声明的数据的缓冲区。用0填充。)
3.文本段(内存中存储汇编语言指令码的固定区域。)
- 汇编语言第一张笔记
- 1、王爽《汇编语言》笔记_第一二三章
- 汇编语言学习笔记--第一个汇编程序
- 读王爽老师汇编语言笔记---第一个汇编程序
- 第一张
- 汇编语言学习笔记(四)第一个应用demo
- 王爽汇编语言学习笔记(四) --第一个程序
- [汇编语言学习笔记][第四章第一个程序的编写]
- Win32汇编语言学习笔记>>第一课,关于汇编语言以及环境配置
- 《汇编语言》笔记
- 汇编语言笔记
- 汇编语言笔记
- 汇编语言 笔记
- 第一个汇编语言程序
- 汇编语言学习第一弹
- 汇编语言第一个程序
- 汇编语言第一个程序
- 汇编语言第一个程序
- Binary tree inorder iterator
- 使用pycassa 在cassandra中存取数据
- ie6 重复字符BUG问题的简单解决方法
- python2.6使用mysql包出现的一些问题以及解决办法
- Android TextView的字符过滤功能
- 汇编语言第一张笔记
- 检测用户是否点开View的实现方法
- 提高网站打开速度的7大秘籍 >>>>http://lusongsong.com/reed/360.html
- 软件版本号 详解
- Silverlight获取浏览器的宽和高
- FilemonRead 蓝屏错误分析
- Find zero pairs
- HTML5 的 PLACEHOLDER 属性
- 基于jQuery图片平滑连续滚动插件