zoukankan      html  css  js  c++  java
  • x86汇编基础

    一、定义数据

    1.内部数据类型

    Byte;   8位无符合整数
    SByte;   8位有符合整数
    Word;    16位无符合整数
    SWord;  16位有符合整数
    DWord;  32位无符合整数
    SDWord; 32位有符合整数
    FWord;  48位整数
    QWord;  64位整数
    TByte;  80位(10字节)整数
    Real4;
    Real8;
    Real10;
    a DWORD 88

    2.伪指令

    DB; 8位整数
    DW; 16位整数
    DD; 32位整数或实数
    DQ; 64位整数或实数
    DT; 80位(10字节)整数
    a DD 88

    3.Byte和SByte --1个字节

    value BYTE   'a' ;
    value byte    6
    value sbyte  -100

    (1)?

    value BYTE    ? ;变量未初始化

    (2)多初始值

    list BYTE 10,20,30

    连续每个字节分别存储 10 20 30

    (3)字符串

    str1 BYTE 'h','e','l','l','o' 
    str2 BYTE "hello",0 ;0作为结束标记,每个字符占一个字节

     (4)dup

    BYTE 3 DUP('abc') ;连续abcabcabc

    4.word和sword --2个字节

    list word 1,2,3; 一个数占2个字节

    5.dword和sdwrod --双字-4个字节

    a dword 1 ;一个数字占4个字节

    6.qword --64位--8个字节

    7.real4 --4个字节

    保存浮点数

    aaa real4 -1.2

    8.知识点

    x86指令集不允许两个变量相加

    x86内存按小端(由低到高)存放和搜索数据

    9.等号伪指令

    count=10
    mov al,count

    10.当前地址计数器

    在汇编源程序时,使用地址计数器保存正在汇编的指令在当前段内的偏移地址,用户可以用$来引用地址计数器的值。

    $是一个数值常量,它可以出现在一切允许出现的位置。例如,利用$可以求当前位置与某变量之间的距离等

    list byte 3,3,5,2
    count=($-list) ;必须紧跟上一句 计算出count偏移量为4

    11.EQU伪指令

    把某变量当成一个常数

    pi equ a;表达式
    
    pi equ b;用或equ定义过的符号
    
    pi equ <3.14> ;可以是任意数值和文本

    12.TEXTEQU伪指令

    类似equ创建的文本宏

    13.64位编程

  • 相关阅读:
    约瑟夫环公式解
    闭区间筛素数个数
    欧拉函数
    负进制转换
    2018黑龙江省赛总结
    基础博弈——威佐夫与尼姆不得不说的那些事
    极角排序
    int型素数拆分
    快速幂与费马小定理与组合数
    A*搜索算法
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/12623031.html
Copyright © 2011-2022 走看看