汇编语言
xpmwgcwm
这个作者很懒,什么都没留下…
展开
-
寄存器与地址总线
寄存器: cpu中可以存储数据的器件,一个CPU钟可以有多个寄存器, 不同的寄存器有不同的代号,作用和存放的数据也不同 word: 2 byte 一个字==2个字节 汇编语言不区分大小写 mov ax,18, 将数据18送入到寄存器AX中, 对应高级语言 ax=18 add ax,8,将寄存器AX的数值加上8, ax=ax+8 ...原创 2014-01-10 09:45:45 · 1716 阅读 · 0 评论 -
为什么32位系统只能支持4GB内存
1. CPU读取内存的时候是通过地址总线来确定内存的地址的 如果有1条地址总线的话,可以确定两个内存单元: 1 和 0 如果有2条地址总线的话,4个: 00,01,10,11 一次类推 是用地址总线来选择内存单元,不是把数据放到地址总线里 存储单元一般以8位二进制作为一个存储单元,也就是一个字节Byte 所以2^20=1048576代表可以选择1048576个存储单元...原创 2014-08-28 13:51:55 · 348 阅读 · 0 评论 -
OllyDbg 文章
1. 简单详细的OD破解教程 http://blog.sina.com.cn/s/blog_5fc04b6d0100h25o.html原创 2014-09-03 09:30:05 · 94 阅读 · 0 评论 -
32位寄存器
32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间...原创 2014-09-13 15:54:22 · 241 阅读 · 0 评论 -
寄存器总结
1. 32位通用寄存器 EAX(32), 其低16位为AX=AH(高8位)+AL(低8位) EBX BX=BH+BL ECX CX=CH+CL EDX DX=DH+DL 2. 32位通用寄存器 EBP 其低16位为 BP, 但没有对应的8位寄存器 EBP(32) BP(16) ESP(32) SP(16) ESI(32) SI(16) EDI(3...原创 2014-09-19 22:25:30 · 119 阅读 · 0 评论 -
汇编语言基础
1. 数据格式 26d 十进制 1Ah 十六进制 42/o/g 八进制 以字母开头的十六进制常量前面必须加一个0,以防止汇编器将其解释为标识符 2. 尽量在表达式中使用圆括号显式表明运算顺序 3. 汇编器大量使用@符号做为预定义符号的前缀,因此应尽量避免在自己定义的标志符前用@,但@@myfile为有效 4. 指令 mov add sub ...原创 2014-09-21 08:12:18 · 131 阅读 · 0 评论 -
数据寻址
1. move move target source 单条move指令不能把数据从一个内存位置移到另一个内存位置,可以先把数据送到一个寄存器中 mov ax var1 mov var2 ax var1 and var2 都是内存位置,不能 mov var2 var1 在复制数据到寄存器时,必须考虑到它需要的最少字节数 2. movzx and movsx ...原创 2014-09-30 09:53:47 · 204 阅读 · 0 评论