汇编学习第零课 实验环境搭建以及寄存器学习
来源:互联网 发布:解沉迷软件 编辑:程序博客网 时间:2024/05/23 11:04
1.汇编学习环境搭建
masm for windows 是汇编程序教学的老师一起编写的.因此特别适合汇编学习的入门
可自行上网搜索下masm的用法
2.寄存器
8086 CPU 中寄存器总共为 14 个,且均为 16 位 。
即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。
2.1通用寄存器
比较常用的只有ax,bx,cx寄存器,dx并不常用.
ax寄存器
bx寄存器一般用来作为偏移地址来使用.
偏移地址和段地址,段地址是段寄存器ds
在 8086 CPU 中,CPU 是根据 <段地址:偏移地址> 来进行寻址操作的
而 BX 中存放的数据表示的是偏移地址的话,自然,便可以通过 <段地址:[BX]> 的方式来完成寻址操作了
cx寄存器
cx寄存器有专门的用途,计数器.而cpu在每一次执行loop指令时,可以通过cx来指定循环的次数.
2.2 段寄存器
物理地址是由段地址左移4位,然后加上偏移地址形成的.
8086 cpu不支持将一个数据直接送入段寄存器中
DS:[BP]
在这里明确给出了段地址位于 DS 中,即段地址为 DS ,偏移量为 BP 寄存器中的值的内存单元.
而如果单单是使用 [BP] 的话,则代表的内存单元是段地址为 SS,偏移量为 BP 寄存器中的值的内存单元。
BP寄存器和SP寄存器的使用
变址寄存器
SI 源变址寄存器 DI目的变址寄存器
CS:IP
cs:ip告诉cpu要执行哪一块的指令代码
SS:SP
对于栈操作,最需要知道的是栈顶的段地址和偏移地址.栈顶的段地址存放在寄存器SS中,栈顶的偏移地址存放在SP寄存器中.
push 压入一个字节单元,sp = sp -1,栈顶元素发生变化.
pop从栈中弹出一个字节单元时,sp = sp +1 栈顶元素发生变化.
- 汇编学习第零课 实验环境搭建以及寄存器学习
- 汇编学习--7.9--寄存器
- 汇编学习笔记--寄存器
- 汇编之寄存器学习
- 汇编学习笔记[1]:寄存器
- 汇编学习笔记[1]:寄存器
- ARM汇编学习之寄存器
- 汇编学习--7.13--标志寄存器
- 汇编学习历程(标志寄存器)
- 汇编学习笔记--标志寄存器
- WIN32汇编学习笔记(一) 汇编环境搭建
- 学习汇编之段寄存器cs和ip以及debug的使用
- Arm汇编学习笔记(六)——函数调用栈空间以及fp寄存器
- 8086汇编学习笔记2-寄存器
- 8086汇编学习笔记7-标志寄存器
- 汇编学习笔记:寄存器(内存访问)
- 嵌入式汇编学习笔记(二)----寄存器
- 【汇编学习(二)】寄存器相关
- Ubuntu静态IP简单配置
- iOS-FMDB+runtime封装,简单实用,省去复杂的sql语句.
- ARM框架学习笔记 part1 寄存器、存储空间
- 源码-Oracle数据库管理-第十四章-记录与集合-Part 2(使用PL/SQL记录)
- Python中安装lxml
- 汇编学习第零课 实验环境搭建以及寄存器学习
- Delphi中StrToDateTime函数TFormatSettings参数的使用
- 1613-3-傅溥衍 总结《2016年11月7日》【连续三十八天总结】
- Qmap 与 Qhash 对比
- 使用hadoop读写mongodb
- linux内核奇遇记之md源代码解读之九阵列raid5同步函数sync_request
- shell编程之shell基础
- 设置驱动
- Android学习笔记系列——RadioGroup点击事件