Assembly language 再读---续
前面已经写到了第三章的数据类型 的那一部分
接下来是一些关于伪指令和其他杂七杂八的东西
1. 当前地址计数器: $
常用于 计算数组以及字符串的长度,如:
.data
list db ,,,,,
listp db ($-list) ;代表的是数组元素所占内存空间的长度,也是一字为单元的数组的元素个数,
;如要求元素大小为字,或双字,以及更大的数据类型则需要除以 type list 或者直接除以元素大小
2. 等号伪指令(=)与EQU和它的"小兄弟" TEXTEQU
区别:等号伪指令只能用于定义整数表达式,而EQU则有三种格式,如下
name equ expression
name equ sybal
name equ <text>
但是EQU不能重复定义,=则可以,与EQU相似的是TEXTEQU,他同样有三种格式,但它与EQU最大的不同的是他可重定义
3.大端储存格式与小端储存格式
4. 整数的全零扩展与符号扩展
MOVZX (全零扩展)与MOVSX(符号扩展)
这边符号扩展提一下,在将小数传送给大数时,符号扩展会将小数的最高位复制到大数的高位
5. LAHF和SAHF
LAHF:将EFLAGS的符号位,复制到AH中,
SAHF:将AH中的内容复制到EFLAGS(RFLAGS),加载状态标志
6. XCHG 交换数据
不使用所谓的立即数作为操作数
7.直接偏移量
[变量名+常数]
8.inc 和dec 不影响进位标志位
9. offset
offset: 伪指令,数据标号的偏移量,直接-偏移量操作数
直接使用数据标号作为地址的方式称为直接寻址
使用offset 将数据的地址返回给register,使用register作为寻址地址的方式称为间接寻址
10.PTR
PTR: 重写一个已经被声明过的 操作数的大小类型
注: PTR只能与标准汇编类型一起使用
11.变址操作数
12.loop是先ecx-1,在进行判断的
Assembly language 再读---续的更多相关文章
- PythonStudy——汇编语言 Assembly Language
汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操 ...
- 再读《Java编程思想 》
前段时间在豆瓣上无意间看到一个帖子"我为什么把thinking in java 读了10遍",是11年的帖子,下面评论至今,各种声音都有,不过大多数还是佩服和支持的.我个人来讲也是 ...
- 再读《C++ Primer》——变量和基本类型
刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ...
- 1.2 ASSEMBLY LANGUAGE
People are much happier moving up the ladder,socially or even technically.So our profession has move ...
- 再读GFS论文
http://loopjump.com/gfs_paper_note/ 再读GFS的一些笔记.主要涉及GFS架构.Chunk大小选择的一些折中考量.元数据管理及锁.写数据流程.GFS一致性模型的理解. ...
- Notes on <Assembly Language step by step>
By brant-ruan Yeah, I feel very happy When you want to give up, think why you have held on so long. ...
- Calling 64-bit assembly language functions lodged inside the Delphi source code
Code: http://www.atelierweb.com/calling-64-bit-assembly-language-functions-lodged-inside-the-delphi- ...
- An Assembly Language
BUFFER OVERFLOW 3 An Assembly Language Introduction Basic of x86 Architecture Assembly Language Comp ...
- 再读Android sqlite
再读Android sqlite Android原生支持sqlite数据库操作,sqlite时轻量级关系型数据库,支持标准sql语句.Android对sqlite进行良好的接口封装来避免sql注入等安 ...
随机推荐
- 行人重识别(ReID) ——概述
什么是Re-ID? 行人重识别(Person re-identification,简称Re-ID)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术.广泛被认为是一个图像 ...
- ubuntu下载地址
http://mirrors.aliyun.com/ubuntu-releases/16.04/
- 【改】DOS文件格式转UNIX文件格式
windows中的文本文件的换行符是"\r\n",而linux中是"\n",dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但 ...
- uiautomatorviewer不能直接截取手机屏幕信息
本身可以用sdk——>tools里自带的ui automator viewer截取如果截取不了,采用以下方法: 新建一个文本文档,名字自己起如uni.bat(注意把后缀给改成.bat) adb ...
- [web 安全] 源码泄露
web 源码泄露 1..hg 源码泄露 http://www.example.com/.hg/ 2..git 源码泄露 http://www.example.com/.git/config 3..ds ...
- Linux中的sshd服务
Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...
- j函数 判断以 什么开头
1.str.charAt(index) 返回字符串中指定位置的字符. str 是字符串 我们要将获得的数据 转化为字符串 var code = res.statusCode.toString(); ...
- thinkphp 响应对象response
1.可以通过修改配置文件的 default_return_type修改输出类型 // 默认输出类型 'default_return_type' => 'html', 2. 可以通过Config类 ...
- swan.after
解释: swan.after可以拦截所有当前运行小程序对于API的调用,默认传入function时,只在API函数调用的返回阶段拦截.如果传入Object,则可以选择拦截的阶段(例如: 返回阶段.回调 ...
- 科讯使用的:ckeditor编辑器.复制word图片.一直沾不上去.谁有好的解决办法呢
在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...