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指令

     




  • 相关阅读:
    three.js 居中-模型
    three.js 打包为一个组-几个单独的模型
    ABP 菜单和权限
    set
    P2429 制杖题
    对线性筛的新理解
    P2817 宋荣子的城堡
    P2651 添加括号III
    P2858 [USACO06FEB]奶牛零食Treats for the Cows
    P1005 矩阵取数游戏
  • 原文地址:https://www.cnblogs.com/zhumengke/p/10641959.html
Copyright © 2011-2022 走看看