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
                */
    
    
        }
  • 相关阅读:
    记录爱忘记的STL知识点
    小狼
    CVTE总结
    STL底层实现
    小狼,你家BOSS喊你面试啦!!!(四)
    npm属性笔记
    iview中关于table组件内放入Input会失去焦点
    js实现数组内数据的上移和下移
    google搜索使用技巧
    bat中实现代码拷贝到指定目录后启动命令行并更改默认路径
  • 原文地址:https://www.cnblogs.com/whzym111/p/6364037.html
Copyright © 2011-2022 走看看