汇编语言
边学边用边创造
这个作者很懒,什么都没留下…
展开
-
简明x86汇编语言教程(4)-操作内存
第三章 操作内存在前面的章节中,我们已经了解了寄存器的基本使用方法。而正如结尾提到的那样,仅仅使用寄存器做一点运算是没有什么太大意义的,毕竟它们不能保存太多的数据,因此,对编程人员而言,他肯定迫切地希望访问内存,以保存更多的数据。我将分别介绍如何在保护模式和实模式操作内存,然而在此之前,我们先熟悉一下这两种模式中内存的结构。原创 2011-03-31 10:53:00 · 2213 阅读 · 0 评论 -
简明x86汇编语言教程(7)-编译优化
5.0 编译优化概述优化是一件非常重要的事情。作为一个程序设计者,你肯定希望自己的程序既小又快。DOS时代的许多书中都提到,“某某编译器能够生成非常紧凑的代码”,换言之,编译器会为你把代码尽可能地缩减,如果你能够正确地使用它提供的功能的话。目前,Intel x86体系上流行的C/C++编译器,包括IntelC/C++ Compiler, GNU C/C++Compiler,以及最新的Microsoft和Borland编译器,都能够提供非常紧凑的代码。正确地使用这些编译器,则可以得到性能足够好的代码。转载 2011-03-31 11:00:00 · 1462 阅读 · 0 评论 -
Win32Asm及其编程工具和资源的介绍
介绍 先来对这个教程做个小介绍。Win32Asm不是一个非常流行的编程语言,而且只有为数不多(但很好)的教程。大多数教程都集中在编程的win32部分(例如,winAPI,使用标准Windows编程技术等),而不是汇编语言本身,例如伪代码(opcodes),寄存器(registers)的使用等。虽然你能在其他教程中找到这些,但那些教程通常是解释Dos编程的。它当然可以帮你学汇编语言,但在Windows中编程,你不再需要了解Dos中断(interrupt)和断口(port)In/our函数。在Windo转载 2011-03-31 11:01:00 · 1975 阅读 · 0 评论 -
一直以为lea和mov指令差不多的,今天算是知道了,顺便测试了下C
今天突发奇想想玩玩C的内联汇编,以前也经常在DOS下玩debug,那就先整个最简单的MessageBox玩玩咯网上找了一段代码转载 2011-03-31 11:02:00 · 1513 阅读 · 1 评论 -
简明x86汇编语言教程(1)-汇编语言简介
第○章 写在前面我不想夸大或者贬低汇编语言。但我想说,汇编语言改变了20世纪的历史。与前辈相比,我们这一代编程人员足够的幸福,因为我们有各式各样的编程语言,我们可以操作键盘、坐在显示器面前,甚至使用鼠标、语音识别。我们可以使用键盘、鼠标来驾驭“个人计算机”,而不是和一群人共享一台使用笨重的继电器、开关去操作的巨型机。相比之下,我们的前辈不得不使用机器语言编写程序,他们甚至没有最简单的汇编程序来把助记符翻译成机器语言,而我们可以从上千种计算机语言中选择我们喜欢的一种,而汇编,虽然不是一种“常用”的具有“快原创 2011-03-31 10:49:00 · 1029 阅读 · 0 评论 -
简明x86汇编语言教程(6)-利用子程序与中断
4.0 利用子程序与中断已经掌握了汇编语言?没错,你现在已经可以去破译别人代码中的秘密。然而,我们还有一件重要的东西没有提到,那就是自程序和中断。这两件东西是如此的重要,以至于你的程序几乎不可能离开它们。转载 2011-03-31 10:56:00 · 1864 阅读 · 0 评论 -
VC7中汇编和C++混合的初步心得
1 察看编译器输出通常来说,Debug 模式单步跟踪时Alt+8 就可以看见汇编代码。问题是 Debug 只是代表了一个侧面,并不代表最终的 Release ;另一方面 Debug 模式包含了些许额外的测试代码 —— 恩,可能代码有些多...天啊,他们干嘛要加、那么多、莫名其妙的代码混淆视听阿!好嘛,看看简洁的Release模式 —— orz.... 不能单步跟踪C++程序了? 连main函数在哪里都看不见... 瞎了...Release 模式单步跟踪要需要高深的技术底气。不过也没那么绝转载 2011-03-31 10:58:00 · 1053 阅读 · 1 评论 -
简明x86汇编语言教程(5)-串操作
3.4 串操作我们前面已经提到,内存可以和寄存器交换数据,也可以被赋予立即数。问题是,如果我们需要把内存的某部分内容复制到另一个地址,又怎么做呢?设想将DS:SI处的连续512字节内容复制到ES:DI(先不考虑可能的重叠)。也许会有人写出这样的代码:转载 2011-03-31 10:59:00 · 1103 阅读 · 0 评论