zoukankan      html  css  js  c++  java
  • IA-32 Assembly Language Reference Manual

    Load Full Pointer (lds,les, lfs, lgs, and lss)

    lds{wl} 	mem[32|48], reg[16|32]les{wl} 	mem[32|48], reg[16|32]lfs{wl} 	mem[32|48], reg[16|32]lgs{wl} 	mem[32|48], reg[16|32]lss{wl} 	mem[32|48], reg[16|32]
    Operation

    mem[32|48] -> reg[16|32]

    Description

    Reads a full pointer from memory and stores it in the specified segment register (DS, ES, FS, GS or SS) with a 16- or 32-bit offset value.

    Example

    Load a 16-bit pointer from memory location 0x44444444 into the DX register:

    ldsw 0x44444444, %dx

    Load a 32-bit pointer from memory location 0x33333333 into the EDX register:

    ldsl 0x33333333, %edx

    MOV指令

    注意:GNU汇编器使用 AT&T 样式的语法,所以其中的源和目的操作数和 Intel 文档中给出的顺序是相反的。

    GNU汇编器为 mov 指令添加了一个维度,在其中必须声明要传送的数据元素的长度,通过吧一个附加字符添加到 MOV 助记符来声明这个长度。因此,指令就变成了如下:

    基本格式:

    movx source, destination

    source 和 destinatino 的值可以是内存地址,存储在内存中的数据值,指令语句中定义的数据值,或者是寄存器。

    其中 x 可以是下面的字符:
    1,l用于32位的长字值
    2,w用于16位的字值
    3,b用于8位的字节值

    实例:

    movl %eax, %ebx #把32位的EAX寄存器值传送给32为的EBX寄存器值
    movw %ax, %bx #把32位的EAX寄存器值传送给32为的EBX寄存器值
    movb %al, %lx #把32位的EAX寄存器值传送给32为的EBX寄存器值

    inc 加1指令

    dec 减1指令

     




  • 相关阅读:
    常见加密算法概述
    IDEA常见错误解决
    linux Find命令教程
    用注册表更改DNS的代码分享
    关于javascript中的typeof和instanceof介绍
    javascript instanceof,typeof的区别
    Javascript typeof 用法
    浅析JavaScript中的typeof运算符
    玩转Linux文件描述符和重定向
    shell脚本 批量转换目录下文件编码
  • 原文地址:https://www.cnblogs.com/zhumengke/p/10641959.html
Copyright © 2011-2022 走看看