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注入等安 ...
随机推荐
- nodejs 模板引擎
自制替换模板 template.js var fs = require('fs') var http = require('http') var server = http.createServer( ...
- vue+element ui 滚动加载
<div id="app"> <div class="infinite-list-wrapper" style="overflow: ...
- RAS
Reliability 高可靠性 Availability 高可用性 Serviceability 高服务性
- ACM-ICPC 2015 Changchun Preliminary Contest J. Unknown Treasure (卢卡斯定理+中国剩余定理)
题目链接:https://nanti.jisuanke.com/t/A1842 题目大意:给定整数n,m,k,其中1≤m≤n≤1018,k≤10, 然后给出k个素数,保证M=p[1]*p[2]……*p ...
- ps:图层知识
如果我们要改变下左图上方的蓝色小球位置,就需要先创建一个符合小球大小的选区,这并不困难,可以使用椭圆选框工具来创建一个正圆的选区(可通过[空格 CTRL 单击图像]放大图像).之后使用移动工具移动选区 ...
- struts2的相关知识(实现原理、拦截器)
struts2的实现原理 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的 ...
- 路由Vue-router 的使用总结
1.关于 router-view 匹配 vue 项目使用 vue-router,所有的根级别的路由都是在 App.vue 文件中的 router-view 中渲染的.比如下面的 path: '/' . ...
- web高拍仪图片上传
公司引进高拍仪,想拍完照片点上传按钮直接上传图片.高拍仪接口能提供照片的本地路径,现在的问题是不用file控件选择,只有路径,不知道如何上传到服务器,求解决方案. 方法: 使用泽优Web图片上传控件( ...
- Reporting Services 配置工具
使用 Reporting Services 配置管理器可配置 Reporting Services 安装.如果使用“仅文件”选项安装报表服务器,则必须使用此工具来配置服务器,才能使用该服务器.如果使用 ...
- DELPHI 把数据库中的数据转换成XML格式
function ReplaceString(AString: string): string; begin Result := StringReplace(AString, '&', '&a ...