zoukankan      html  css  js  c++  java
  • 汇编 十六进制

    知识点:
    十六进制
    字节,字,双字
    汇编中的内存单元长度修饰
    
    add [ebx],0x111 //00401048  |.  8003 11    ADD BYTE PTR DS:[EBX],11      ;  i=i+11
    
    一、十六进制
        十六进制同我们日常中的十进制表示法不一样。它由0-9,A-F,组成。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;
        十进制元素(0,1,2,3,4,5,6,7,8,9)
        十六进制元素(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
         9+1=10; //十进制 A
         F+1=10; //十六进制
         99+1=100;//十进制 0x64
         FF+1=100;//十六进制 1*16*16=256  //0xBDA=11*16*16+13*16+10
         十六进制一般会加上前缀0x 汇编中也可以加上h后缀
         //想一想 十六进制中
         0x0F+2=0x11   0xF9+1=0xFA   0x10+1=0x11   0x18+8=0x20  8+9=0x11 
    二、字节,字,双字
        字节  (1字节):BYTE类型  ( unsigned char)   0-255        表示成16进制0--0xFF
        字    (2字节):WORD类型 (unsigned short)   0-65535,    表示成16进制0--0xFFFF
        双字  (4字节):DWORD类型(unsigned long)   0-4294967295 表示成16进制0--0xFFFFFFFF
        
    三、汇编中的内存单元长度修饰
    1、自动加上修饰前缀规律
     int pb=3;
     mov [eax],ebx
     mov edx,[ecx]
     mov ebx,pb
    BYTE c=3;
    WORD w=4;
    DWORD dw=5;
    mov c,0x87654321
    mov w,0x87654321
    mov dw,0x87654321
    
    2、必须手动添加内存单元长度修饰的情况
    //前边是存储器,后边是常量的情况,需要手动添加长度修饰
    add [ebx],0x111 //特殊... 因为编译器不知道具体长度,会默认为 字节长度
    mov byte ptr  [ebx],0x87654321
    mov word ptr  [ebx],0x87654321
    mov dword ptr [ebx],0x87654321
    
         BYTE c=3;
        WORD w=4;
        DWORD dw=5;
        __asm
        {
                add c,0x87654321 // mov [ebp-??],0x21
                add w,0x87654321
                add dw,0x87654321
                /* 自动添加的长度修饰符
                00401071  |.  8045 EF 21    ADD BYTE PTR SS:[EBP-11],21              ;  c=21
                00401075  |.  66:8145 FC 21>ADD WORD PTR SS:[EBP-4],4321             ;  w=4321
                0040107B  |.  8145 F0 21436>ADD DWORD PTR SS:[EBP-10],87654321       ;  dw=87654321
                */
    
    
        }
  • 相关阅读:
    eclipse配置自动提示EXTJS和jQurey
    Java用jdom.jar解析读取XML文件信息
    Hibernate配置XML连接数据库
    【codeforces】ZeptoLab Code Rush 2015 E 跳跃表? D kmp还不错的题
    各种语言版本的输出本身源代码的程序
    原地归并排序
    c/c++ static
    【程序员的自我修养——链接、装载与库】笔记
    【清华大学OS公开课】
    学习需要记录才行啊
  • 原文地址:https://www.cnblogs.com/whzym111/p/6364037.html
Copyright © 2011-2022 走看看