MASM汇编入门:寄存器数据的使用
寄存器组
数据(X)寄存器组
寄存器名称 | 全称 | 作用 | 大小 |
---|---|---|---|
AX | Accumulator | 算术运算 | |
BX | Base | 基址寄存器 | |
CX | Count | 用于循环计数器 | |
DX | Data | 在双字长运算时把DX和AX组合一起存放一个双字长的数 |
段(S)寄存器组
寄存器名称 | 全称 | 作用 | 大小 |
---|---|---|---|
CS | Code | 代码区的段地址 | |
DS | Data | 程序数据区的段地址 | |
SS | Stack | 堆栈数据区的段地址 | |
ES | Extra | 辅助的数据区的段地址 |
段寄存器存放的是段地址
指针(P)和索引(I)寄存器
寄存器名称 | 全称 | 作用 | 大小 |
---|---|---|---|
SP | Stack Pointer | 存放堆栈指针(栈顶) | |
BP | Base Pointer | 存放基址指针 | |
SI | Source Index | 源索引用于自增变址 | |
DI | Destination Index | 目标索引用于自减变址 |
在串处理指令当中,我们一般使用SI和DS搭配使用,DI和ES搭配使用
特殊的控制寄存器
寄存器名称 | 全称 | 作用 | 大小 |
---|---|---|---|
IP | Instruction Pointer | 存放指令指针 | |
PSW | Program status words | 程序状态字(flag) |
PSW状态字的条件码:
OF【Overflow Flag】溢出
SF【Sign Flag】正负
ZF【Zero Flag】零
CF【Carry Flag】最终进位
AF【Auxiliary Flag】中途进位
PF【Parity Flag】奇偶
DF【Direction Flag】高低方向
IF【Interrupt】允许中断
数据寻址
约定:
寄存器名字代表了该寄存器的地址【重要!!容易误解!!!】
(寄存器名字) 表示寄存器里面的数据内容
[Rname],把Rname里面的内容当成偏移地址
1. 立即数寻址
mov al,5
mov ax,3064h
实现:
(al)=05H
(ax)=3064h
用途:
一般来说 “立即数寻址” 用于给寄存器初始化赋值
2. 寄存器寻址
mov ax,bx
实现:
(ax)=(bx)
3. 寄存器间接寻址
mov ax,[bx]
实现:
(ax)=(ds+(bx))
4. 直接寻址
mov ax,[2000h]
当操作数在数据段里面,把ds当作基址
实现:
ds=30000h
(ax)=(ds+2000h)
用途:
直接寻址用于处理单个变量,我们把他从数据段里面拿出来放到其他寄存器里面
MASM汇编入门:寄存器数据的使用相关推荐
- 汇编入门学习笔记 (十二)—— int指令、port
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...
- 计算机指令int,汇编入门学习笔记 (十二)—— int指令、端口
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.端口 参考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一 ...
- 汇编入门(长文多图,流量慎入!!!)
8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)<零基础入门学习汇编语言>系列视频的笔记,是王爽所著的<汇编语言>的简单版,感谢ttps://my.csdn.net/bai ...
- 汇编 编程实现从键盘输入三位以内的十进制负数_macOS上的汇编入门(二)——数学基础...
在正式介绍汇编语言之前,我会先用几篇文章讲一些数学基础和硬件基础.如果读者已经具备了一定的知识基础,可以直接跳过这些文章去汇编语言部分. 二进制,八进制与十六进制 在计算机底层的软件层面,我们通常采用 ...
- Golang 汇编入门知识总结
作者:ivansli,腾讯 IEG 运营开发工程师 在深入学习 Golang 的 runtime 和标准库实现的时候发现,如果对 Golang 汇编没有一定了解的话,很难深入了解其底层实现机制.在这里 ...
- 使用了未赋值的局部变量_macOS上的汇编入门(七)——字面量与局部变量
在上一篇文章中,我们分析了第一个汇编程序. # exit.s .section __TEXT,__text.globl _main _main:movq $0, %raxretq 这个汇编程序是我们所 ...
- 汇编入门之输入、输出、奇偶判断、多字节变量定义
原创文章,转载请注明:汇编入门之输入.输入.奇偶判断.多字节变量定义 By Lucio.Yang 1.入门参考 首先介绍一个非常好的汇编知识的索引网站:经典汇编语言教程 1.1 MOV CX,[BX ...
- Windows X64汇编入门
Windows X64汇编入门(1) tankaiha 最近断断续续接触了些64位汇编的知识,这里小结一下,一是阶段学习的回顾,二是希望对64位汇编新手有所帮助.我也是刚接触这方面知识,文中肯定有错误 ...
- go 汇编入门 如何学习Golang?万字详文教你Go语言入门
以下内容转载自 https://www.toutiao.com/i6882641627349778955/ 原创腾讯技术工程2020-10-12 18:08:00 作者:ivansli,腾讯开发工程师 ...
最新文章
- ASP.NET中WebForm组件CheckBoxList编程
- mysql数据库导出mdf文件_数据库 导出mdf
- DIV与Table布局在大型网站的可用性比较
- Winform中实现文件另存为后并打开文件
- 万达电影携手神策数据 数据赋能打造全球领先电影生活生态圈
- 领域驱动设计,让程序员心中有码(二)
- apk图标存放位置_安卓系统下安装完apk程序后,具体的文件夹位置在哪里呢?
- 在Spring Boot里面,怎么获取定义在application.properties文件里的值
- 使用css优雅解决文字两端对齐的方式之一
- 个性化商品搜索相关研究梳理
- 如何快速打通 Docker 镜像发布流程?
- tomcat发布web项目为什么页面图片显示不出来
- Qt构建时出现Makefile Error 1的解决办法
- Mac MySql官方下载速度太慢解决方案
- html中添加强制下载链接
- 【SpringBoot】统一日志处理
- Project 2016 中文版软件快捷键学习
- 笨办法学python 粗略笔记(learn python the hard way)
- Java多重分支实现正负数判断
- 刷脸支付:一场输不起的战役
热门文章
- 一文搞懂JVM架构:微信抢红包实战案例
- Ubuntu进入桌面后,左侧菜单栏和窗口菜单栏不见了的解决方法
- swag_ios安卓 testlight /apps/android官方开发包安装
- jquery html添加背景图片,jquery动态更换设置背景图的方法
- IEC104起始地址
- 【测试用例练习】二、手机app测试点
- 2022光伏行业最具创新力品牌服务商50强榜单公布 | 美通社头条
- Bootstrap轮播插件,代码步骤
- viper4android顶级脉冲,ViPer4android. FX顶级音效!
- 应届生必看的2021互联网行业求职指南,真香!