汇编leal命令的灵活用法及理解

AT&T里leal的命令有一些灵活的用法,它具有两种作用:

1,将有效地址写入到目的操作数。

2,可以简洁地描述普通的算术操作。

例子:

1)leal -4(%ebp), %eax
这个是不是把ebp里面存储的地址减去4了之后放在eax里。
 2)leal 0x0(,%ebx,4), %edx (假设ebx里面存的是x)
那么根据代码,它的效果是edx里的值是4*x。

  个人觉得可以这样理解。如果你的%ebx存的是存储器里的一个数的地址,那么使用leal指令的用法就是加载有效地址到目的操作数,属于用法1。如果你 的%ebx存的是一个数字而已,不代表其他的意思,那么这个就是普通的算术运算,这样可以实现一些加减乘法,属于用法2。用法2可以很高效地实现寄存器之间的算术运算。

  leal命令既能够实现加载有效地址,还能够实现一些比较简单的算术运算,leal的用法还是比较灵活的。

时间: 2024-10-14 16:12:28

汇编leal命令的灵活用法及理解的相关文章

查找命令find的用法

find用法 在linux中一切皆文件,里面有大量的文件,我们需要在成千上万个文件找到那些我们需要的文件!!!!这时就需要用到查找命令了,find命令比locate命令的功能要齐全而且要好用的多,所以博主只在这里接受find命令的用法. find  格式:find [option]...[查找路径][查找条件][处理动作] 查找路径:默认为当前目录,自动向下递归 查找条件:可以是基于文件名,大小,类型,权限等标准进行 处理动作:对查找到的内容做处理,默认输出打印到屏幕 find是通过遍历指定路径

好压(HaoZip)的命令行模式用法介绍

好压压缩软件,又叫“2345好压”,是一款国产的优秀压缩软件,目前是免费的,据官网介绍,该软件永久免费.官网地址:http://haozip.2345.com/ 本文主要对该软件的命令行模式用法进行介绍.目前,压缩软件支持命令行模式的还有winrar,一款国外的优秀老牌压缩软件,winrar的命令行模式请参考我的另一篇博客: WinRAR的命令行模式用法介绍 - Fetty - 博客园  http://www.cnblogs.com/fetty/p/4769279.html 直接奉上我的测试代码

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m if=file 输入文件名,缺省为标准输入. of=file 输出文件名,缺省为标准输出. ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节). obs=b

Linux tar 命令参数及用法详解--Linux打包备份命令

linux tar命令参数及用法详解--linux打包备份命令 tar命令 tar - tar 档案文件管理程序的 GNU 版本.下面将逐个介绍其含义tar [-cxtzjvfpPN] 文件与目录 ....常用参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩.-z :是否同时具有 gzip 的属性?亦即是否需

linux mount / umount 命令的基本用法

linux mount / umount 命令的基本用法 及 开机自动挂载 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a 安装在/etc/fstab文件中类出的所有文件系统. -f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统. -n 不把安装记录在/etc/mtab 文件中. -r 讲文件系统安装为只读. -v 详细显示安装信息. -w 将文件系统安装为可写,为命令默认情况. -t <文件系统类型> 指定设备的文件系统类型,常见的有:

SVN子命令diff三大用法详解

主要介绍SVN子命令diff的用法 检查历史修改的详情:SVN子命令 diff-使用标准区别文件格式显示区别,它在提交前用来显示本地工作拷贝与版本库的区别. 事实上,SVN子命令diff有三种不同的用法:1. 检查本地修改 2. 比较工作拷贝与版本库 3. 比较版本库与版本库 比较本地修改:像我们看到的,不使用任何参数调用时,svn diff将会比较你的工作文件与缓存在.svn的"原始"拷贝:$ svn diffIndex: rules.txt=====================

C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出【转】

本文转载自;http://www.cnblogs.com/easyfrog/archive/2011/12/26/C_strstr_split_string.html C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出 strstr() 命令是在原字符串中查找指定的字符串第一次出现的地址,用这个特性可以实现字符的分割,判断是否包涵等功能: 下面的这个例子是实现 字符串以分割串分割输出: 1 #include <stdio.h> 2 #include <strin

sed命令的一个用法

有命令如下: 1.sed -n '1~2!p' datafile 该条命令的意思是:每两行读取datafile文件到模式空间,匹配每两行中的第一行,不打印,剩下的行打印,取消默认输出. 2.sed -n '1~2p' datafile 该条命令的意思是:每两行读取datafile文件到模式空间,匹配每两行中的第一行,打印,剩下的行不打印,取消默认输出. 3.sed '1~2d' datafile 这条命令和第一条命令等同. 附:Linux中sed的命令手册相关解释 first~step     

linux cp命令参数及用法详解---linux 复制文件命令cp

linux cp命令参数及用法详解---linux 复制文件命令cp [[email protected]Linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected]linux ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-