linux 汇编 变址寻址,汇编--寻址方式(示例代码)
1、立即寻址方式
mov AL,5(AL)=05HmovAX,3064H (AX)=3064Hmov EAX,123456H (EAX)=123456H
2、寄存器寻址方式
movAX,BX (AX)=3064H (BX)=1234H (AX)=1234HMOV EXC,EDX
3、直接寻址方式
mov AX,[2000H] mov AX,2000H ;这两者等效
4、寄存器间接寻址方式
mov AX,[BX] 默认DS:[BX];也可以制定其他段跨越前缀来取得其他段中的数据
mov AX,ES:[BX]
5、寄存器相对寻址方式(直接变址寻址方式)
mov AX,COUNT[SI] mov AX,[COUNT+SI]
6、基址变址寻址方式
mov AX,[BX][DI] MOV AX,[BX+DI] mov AX,[BX][BP] 是错误的。
7、相对基址变址寻址方式
mov AX,MASK[BX][SI]
mov AX,MASK[BX+SI]
MOV AX,[MASK+BX+SI]
8、比例变址寻址方式
MOV EAX,COUNT[ESI*4]
9、基址比例变址寻址方式
mov ECX,[EAX][EDX*8]
10、相对基址比例变址寻址方式
mov EAX,TABLE[EBP][EDI*4]
JMP
1、段内直接寻址
2、段内间接寻址
jmp BX ;(IP)=BX
jmp TABLE[BX] ;(ip) = 16d*(ds) + (BX) +位移量
WORD PTR为操作符。指定地址是字
3、段间直接寻址
4、段间间接寻址
段内,段间区别是,段内修改(IP)的值,段间修改(CS:IP)的值
BP 是寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使用个别的寻址方式时候才能用到
比如说,堆栈中压入了很多数据或者地址,你肯定想通过SP来访问这些数据或者地址,但SP是要指向栈顶的,是不能随便乱改的,这时候你就需要使用BP,把SP的值传递给BP,通过BP来寻找堆栈里数据或者地址.
SI源变址寄存器,DI目地变址寄存器,既然是变址寄存器,那么他们肯定是在某个地址的基础上进行偏移变化,由此我们就得出了需要基址寄存器。
[SI]是寄存器间接寻址,它是指SI中地址的内容如
mov si,2000
mov ax,[si] //将2000地址中的内容赋给ax而SI,寄存器寻址方式
SI 就是指SI本身的内容
mov si,2000
mov ax,si //将SI中的内容2000赋给ax
linux 汇编 变址寻址,汇编--寻址方式(示例代码)相关推荐
- Linux汇编----变址寻址与间接寻址
经常会把AT&T汇编语法中的变址寻址(indexed memory mode)与寄存器间接寻址搞混. 1. 变址寻址模式 变址寻址特别适合于访问内存中的一系列连续数据,即数组.表达式格式为 b ...
- linux c打印日志文件,linux c下log输出代码模板示例代码
前言 本文主要介绍了关于linux c下log输出代码模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 模板 模本分为两个文件:log.c和log.h. log.c /* ...
- python测网速_使用Linux命令行测试网速(示例代码)
当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带速度的网站中,Speedtest.net也许是使用最 ...
- linux mor命令使用技巧,linux中more命令如何使用(示例代码)
more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上.兄弟连Linux培训教程(more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页 ...
- linux命令拉取windows的文件,find命令、文件名后缀以及Linux和Windows互传文件(示例代码)...
find命令 文件查找: 1.which(一般用于查找命令的绝对路径) 2.whereis(不常用) 3.locate(非实时查找,基于预先定义的数据库.模糊查找,查找速度快.使用前要先安装这个命令y ...
- 初学linux系统代码,linux初学者-系统日志(二)(示例代码)
先前在(一)中介绍到在不同主机间日志同步的方法,在一台主机上可以看到另一台主机的日志.这里会介绍系统日志方面的一些其他内容. 1.日志的采集格式 在日志的采集中,由图可以看出,这样的排列或者显示方式会 ...
- 端口映射工具linux,Linux下端口映射工具rinetd(示例代码)
Linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com ...
- linux基础 linhaifeng,Linux基础之命令练习Day2(示例代码)
作业一: 1) 新建用户natasha,uid为1000,gid为555,备注信息为"master" 2) 修改natasha用户的家目录为/Natasha 3) 查看用户信息配置 ...
- Linux的md64进程,在Linux上安装Elasticsearch Kibaba.md(示例代码)
在Linux上安装Elasticsearch Kibaba Kibana是一个开源为elasticsearch 引擎提供数据和数据分析 1.下载安装 切换到root账户,按顺序依次执行以下命令 rpm ...
最新文章
- 位居全国第一- 丰收节交易会·内蒙古:名特优新农产品数量
- 调用Com+时提示找不到文件
- r语言 将表格导出为csv_r语言 将表格导出为csv_2. R语言基础语法
- asp.net中实现群发邮件功能
- php mb strlen 开启,php mb_strlen是什么函数
- python注册登录+mysql_Flask+MySql实现用户登录注册
- 第一期_内存管理单元MMU
- paip.动画透明淡入淡出窗口之重绘性能
- 稳压二极管型号对照表
- HeadFirstJava 1,2,3
- 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新
- 推荐一个好用的百度文库在线免费下载文档网站
- 【Antd】rawData.some is not a function 报错解决方法
- 我心中的你是春天的样子
- 档案盒正面标签制作_档案盒标签如何制作
- gp数据库与pg数据库
- excel小技巧 生成递增时间区间
- win10 myeclipse2017安装教程(附安装包)
- C++:这天星期几?
- Centos文件夹目录中文变英文