汇编阶梯
liuzh501448
这个作者很懒,什么都没留下…
展开
-
汇编学习笔记
xor al, cl jge JJ11表示:对al和cl进行异或操作 然后结果存入al中, jge 用于检测符号标志位和溢出标志位!如果这两个标志位相等则跳转,即符号位=溢出位时跳转!!原创 2007-04-20 09:23:00 · 548 阅读 · 0 评论 -
汇编语言的准备知识(1)
汇编语言和CPU以及内存,端口等硬件知识是连在一起的. 这也是为什么汇编语言没有通用性的原因. 下面简单讲讲基本知识(针对INTEL x86及其兼容机) ============================ x86汇编语言的指令,其操作对象是CPU上的寄存器,系统内存,或者立即数. 有些指令表面上没有操作数, 或者看上去缺少操作数, 其实该指令有内定的操作对象, 比如push指令, 一定转载 2007-04-19 20:51:00 · 598 阅读 · 0 评论 -
汇编语言的准备知识(2)
汇编指令的操作数可以是内存中的数据, 如何让程序从内存中正确取得所需要的数据就是对内存的寻址。 INTEL 的CPU 可以工作在两种寻址模式:实模式和保护模式。 前者已经过时,就不讲了, WINDOWS 现在是32位保护模式的系统, PE 文件就基本是运行在一个32位线性地址空间, 所以这里就只介绍32位线性空间的寻址方式。 其实线性地址的概念是很直观的, 就想象一系列字节排成一长队,第转载 2007-04-19 20:52:00 · 577 阅读 · 0 评论 -
汇编语言的准备知识(3)
“汇编语言”作为一门语言,对应于高级语言的编译器,我们需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM, TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是转载 2007-04-19 20:55:00 · 632 阅读 · 0 评论 -
汇编语言的准备知识(4)
高级语言程序的汇编解析 在高级语言中,如C和PASCAL等等,我们不再直接对硬件资源进行操作,而是面向于问题的解决,这主要体现在数据抽象化和程序的结构化。例如我们用变量名来存取数据,而不再关心这个数据究竟在内存的什么地方。这样,对硬件资源的使用方式完全交给了编译器去处理。不过,一些基本的规则还是存在的,而且大多数编译器都遵循一些规范,这使得我们在阅读反汇编代码的时候日子好过一点。这里主要讲讲转载 2007-04-19 20:57:00 · 533 阅读 · 0 评论