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位编程

  • 相关阅读:
    luogu P1768 天路
    [NOIP2008]双栈排序
    逆元板子集
    [NOIP2015]子串
    [USACO17JAN]Subsequence Reversal
    [NOIP2011] 聪明的质监员
    POJ2987 Firing
    2018.10.20模拟总结
    POJ3469 Dual Core CPU
    真实道路中,如何倒车、侧方停车 哪里是圆心就往哪边大方向 倒车实际是以圆心 画圆后轮进库看左右镜子 别剐蹭
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/12623031.html
Copyright © 2011-2022 走看看