前面已经写到了第三章的数据类型 的那一部分

接下来是一些关于伪指令和其他杂七杂八的东西

1. 当前地址计数器:   $

    常用于  计算数组以及字符串的长度,如:

  1. .data
  2. list db ,,,,,
  3. listp db ($-list) ;代表的是数组元素所占内存空间的长度,也是一字为单元的数组的元素个数,
    ;如要求元素大小为字,或双字,以及更大的数据类型则需要除以 type list 或者直接除以元素大小

2. 等号伪指令(=)与EQU和它的"小兄弟" TEXTEQU

区别:等号伪指令只能用于定义整数表达式,而EQU则有三种格式,如下

  1. name equ expression
  2. name equ sybal
  3. 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 再读---续的更多相关文章

  1. PythonStudy——汇编语言 Assembly Language

    汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操 ...

  2. 再读《Java编程思想 》

    前段时间在豆瓣上无意间看到一个帖子"我为什么把thinking in java 读了10遍",是11年的帖子,下面评论至今,各种声音都有,不过大多数还是佩服和支持的.我个人来讲也是 ...

  3. 再读《C++ Primer》——变量和基本类型

    刚上大学那时,几个室友一块买了本<C++ Primer>第4版,看了一遍后就没怎么碰了,偶尔拿出来翻翻,当作工具书使用.后来知道有第5版了,一直觉得内容差不多吧.直到最近,再读其中的一些内 ...

  4. 1.2 ASSEMBLY LANGUAGE

    People are much happier moving up the ladder,socially or even technically.So our profession has move ...

  5. 再读GFS论文

    http://loopjump.com/gfs_paper_note/ 再读GFS的一些笔记.主要涉及GFS架构.Chunk大小选择的一些折中考量.元数据管理及锁.写数据流程.GFS一致性模型的理解. ...

  6. 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. ...

  7. 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- ...

  8. An Assembly Language

    BUFFER OVERFLOW 3 An Assembly Language Introduction Basic of x86 Architecture Assembly Language Comp ...

  9. 再读Android sqlite

    再读Android sqlite Android原生支持sqlite数据库操作,sqlite时轻量级关系型数据库,支持标准sql语句.Android对sqlite进行良好的接口封装来避免sql注入等安 ...

随机推荐

  1. 【记录】Git pull(拉取),push(上传)命令整理(详细)

    前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功能比svn强大,与SVN不同点是Git去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git ...

  2. 转载——CentOS---网络配置详解

    看到一篇关于Centos网络配置很详细的文章,特此复制来.原文网址:http://blog.chinaunix.net/uid-26495963-id-3230810.html 一.配置文件详解在RH ...

  3. 使用GDB调试产生多进程的程序

    如果一个进程fork了多个进程,这时使用GBD工具对程序进行调试会如何呢? 实际上,GDB 没有对多进程程序调试提供直接支持.例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试 ...

  4. 【学习】010 Netty异步通信框架

    Netty快速入门 什么是Netty Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞.基于事件驱动.高性能.高可靠性和高可定制性. Netty应用场景 1.分 ...

  5. 浅谈ContextLoaderListener及其上下文与DispatcherServlet的区别

    一般在使用SpingMVC开发的项目中,一般都会在web.xml文件中配置ContextLoaderListener监听器,如下: <listener> <listener-clas ...

  6. 苹果IOS 12将使您的iPhone更安全,并有更强大的黑客保护

    一年一度的IOS刷新正在进行中,苹果已经预览了它,beta测试者已经安装了它,当iPhone在9月份到货时我们其他人应该获得iOS12.虽然软件3-D表情符号和屏幕时间限制等功能在软件到货时可能会受到 ...

  7. jenkins解决python不是内部命令

    1.在 Windows 提示符下运行是没有问题. 2.把Jenkins项目配置中 python main.py   修改成python可执行文件全路径:D:\Python35\python.exe m ...

  8. [CF-GYM]Abu Tahun Mod problem题解

    前言 这道题比较简单,但我还是想了好一会 题意简述 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组\(\left\{1\right\},\left ...

  9. 【HDOJ6662】Acesrc and Travel(树形DP,换根)

    题意:有一棵n个点的树,每个点上有两个值a[i],b[i] A和B在树上行动,A到达i能得到a[i]的偷税值,B能得到b[i],每次行动只能选择相邻的点作为目标 两个人都想最大化自己的偷税值和对方的差 ...

  10. 史上最全最实用HBuilder快捷键大全

    史上最全最实用HBuilder快捷键大全 一.文件操作二.编辑操作三.插入操作四.转义操作五.选择操作六.跳转操作七.查找操作八.运行九.视图一.文件操作新建菜单: ctrl + N新建: ctrl ...