asm
文章平均质量分 80
taowen2002
这个作者很懒,什么都没留下…
展开
-
(译)win32asm教程-2
3.0 asm基础知识这章将教你汇编语言的基础知识1. 1伪代码(opcodes)汇编程序是用伪代码创建的。一个伪代码是一条处理器可以理解的指令。例如:ADDAdd指令把两个数加到一起。大部分伪代码有参数ADD eax, edxADD有两个参数。在加法的情况下,一个源一个目标。它把源值加到目标值中,并把结果保存在目标中。参数有很多不同的类型:寄存器,内存地址,直原创 2002-03-13 08:59:00 · 1159 阅读 · 0 评论 -
怎样建立你自己的MASM导入库
怎样建立你自己的MASM导入库by Iczelion (翻译:花心萝卜yqzq@163.net) 9.5.2000 这篇短文是讲述关于建立MASM导入库(import libraries)技巧,我假设你已经知道什么是导入库。在下面,我将集中讲述建立MASM导入库的方法。MASM导入库的格式: MASM和VC++可以使用相同的导入库,MS导入库使用不同于TASM的OMF格原创 2002-03-16 18:52:00 · 2063 阅读 · 0 评论 -
(译)win32asm教程-12-完结
这个是本系列教程的最后一篇了。下面我可能会贴出关于用汇编写一个游戏的实例。仍然是面向基础,面向初学者的。在此,也要感谢原作者:james的大力支持,无偿提供本文的中文译权。-译者taowen200213.0 Windows中的窗口在本章中,我们将创建一个有窗口的程序12.1窗口你可能已经猜到了Windows之所以称为Windows的原因了。在Windows中,有两种程序:GU原创 2002-03-17 13:43:00 · 1164 阅读 · 0 评论 -
(译)win32asm实例-4
4.0 - Creating the main frame创建主框架Now we will create the main frame of our program:现在我们将创建我们程序的主框架:Add two prototypes after the includes:在include后加入两个原型WinMain PROTO STDCALL :DWOR原创 2002-03-20 09:06:00 · 1092 阅读 · 0 评论 -
MASM宏使用总结
MASM宏使用总结td.general1 { background-color : #ffcc00; } td.general2 { background-color : #CCCC99; } td.general3 { background-color : #cccc99; } td { font-size: 11px;}bod原创 2003-06-06 16:28:00 · 2803 阅读 · 0 评论 -
(译)win32asm教程-8
9.0更多的伪代码这儿有更多的伪代码TESTTest对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器。结果本身不会保存。Test用来测试一个位,例如寄存器:Test eax, 100b;b后缀意为二进制jnz bitset如果eax右数第三个位被设置了,jnz将会跳转。Test的一个非常普遍的用法是用来测试一方寄存器是否为空:test ecx, ec原创 2002-03-15 09:01:00 · 1031 阅读 · 0 评论 -
(译)win32asm实例-1
1.0 - New project新的工程Create a new folder named mosaic in your asm projects folder (it is adviceable to create this folder on the same drive as the MASM package so you can use the relative li原创 2002-03-18 19:03:00 · 1335 阅读 · 0 评论 -
(译)win32asm实例-3
翻译以得到原作者的授权。在此向他表示感谢!-译者3.0 - Resource file资源文件We will only add some icons to our resource file for now, and change it later. 现在我们仅仅添加一些图标到我们的资源文件中,再后面还要改变它。Create a new empty text file cal原创 2002-03-18 09:12:00 · 1028 阅读 · 0 评论 -
(译)win32asm实例-5
5.0 - Adding a menu添加菜单Our program should have a menu to set some options. Firstly we need to create our menu in the resource file:我们的程序应该有一个菜单来设置一些选项。首先,我们需要在资源文件中创建我们的菜单。5.1 - Creating a me原创 2002-03-20 09:06:00 · 1052 阅读 · 0 评论 -
(译)win32asm实例-6
6.0 - The tiles window图块窗口We will now create a static control which we will draw the tiles on.我们将创建一个静态控件。在它上面我们将要画图块。6.1 - Creating the control创建控件We make a new procedure called InitContro原创 2002-03-21 08:53:00 · 1283 阅读 · 0 评论 -
(译)win32asm实例-7
7.0 - Drawing the tiles画图块The tile control is already made, now its time for the drawing of the tiles. The tile image can be one of these images:图块控件已经被创建了,现在是画图块的时候了。图块的图象可以是这些图象中的一个:Numb原创 2002-03-22 19:09:00 · 1154 阅读 · 0 评论 -
(译)win32asm教程-11
12.0 第一个程序是创建你的第一个程序的时候了。本章中的指导将这样组织:12.1第一步如果万事具备,你应该在你的masm同一个区上有一个win32(或win32asm)目录。为每个工程,你应该创建一个子目录。在win32目录中创建一个名为“Firstprogram“的子目录。创建一个新的文本文件并重命名为“first.asm”。12.2第二步在first.asm中输原创 2002-03-16 18:52:00 · 1079 阅读 · 0 评论 -
(译)win32asm教程-6
7.0条件跳转在Code部分,你可以看到像这样的标签:.codemov eax, edxsub eax, ecxcmp eax, 2jz loc1xor eax, eaxjmp loc2loc1:xor eax, eaxinc eaxloc2:(xor eax, eax意为:eax=0)让我们来看看这些代码:mov eax, edx;把edx放入eax中sub e原创 2002-03-14 09:51:00 · 1006 阅读 · 0 评论 -
(译)win32asm教程-5
6.0 文件结构汇编源文件被分成了几个部分。这些部分是code,data,未初始化data,constants,resource和relocations,资源部分是资源文件创建的,后面会有更多的讨论。Relocation部分对我们不重要(它包含了使PE-loader可以在内存的不同的位置装载入程序的信息)。重要的部分是code,data,未初始化data和constants。可能你已经猜原创 2002-03-14 09:51:00 · 941 阅读 · 0 评论 -
(译)win32asm教程-7
8.0关于数的一些事情在大多数的编程语言中使用整数还是浮点数只取决于变量的声明。在汇编语言中,完全的不同。浮点数的计算是由特别的伪代码和FPU协处理器(浮点单元)完成的。浮点指令将会在后面讨论。先来看看一些关于整数的事情。在c语言中有signed(有符号)整数和unsigned(无符号)整数。Signed是意为数有符号(+或-)。Unsigned总是正。找出下表中的不同(再一次的,这是一原创 2002-03-15 09:01:00 · 992 阅读 · 0 评论 -
(译)win32asm教程-9
10.0 masm的优点如果你不在使用masm,你可以跳过这章并尝试着转换所有的例子,或不论如何地读一下,并试着说服自己使用masm。当然,这是你的选择。但masm真的使汇编语言更容易了。10.1 条件和循环结构Masm有一些伪高阶的语法来简便地创建条件和循环结构:.IF, .ELSE, .ELSEIF, .ENDIF.REPEAT, .UNTIL.WHILE, .ENDW,原创 2002-03-15 09:00:00 · 930 阅读 · 0 评论 -
(译)win32asm教程-10
11.0 Windows中的汇编基础现在你已经有了一些汇编语言的基础知识,你将要学习在Windows中怎样学习汇编。10.1APIWindows编程的根本在于Windows API,应用程序接口。这是由操作系统提供的一套函数。每个Windows程序员都要用这些函数。这些函数在像kernel, user, gdi, shell, advapi等系统dll中。函数有两类:ANSI和U原创 2002-03-16 18:54:00 · 1243 阅读 · 1 评论 -
(译)win32asm教程-4
5.0伪代码伪代码是给处理器的指令,它实际上是原始十六进制代码的可读版。因此,汇编是最低级的编程语言。汇编中的所有东西被直接翻译为十六进制码。换句话说,你没有把高级语言翻译为低级语言的编译器上的烦恼,汇编器仅仅把汇编代码转化为原始数据。本章将讨论一些用来运算,位操作等的伪代码。还有跳转指令,比较等伪代码在后面介绍。3. 1一些基本的计算伪代码MOV这条指令用来把一个地方原创 2002-03-13 08:58:00 · 1105 阅读 · 0 评论 -
(译)win32asm实例-0
这个教程写得非常好,希望你能喜欢。-译者Mosaic tutorial拼图游戏教程Introduction介绍In this lesson you will create a simple mosaic game. You probably know this kind of puzzles. An image or a matrix of numbers have to原创 2002-03-18 19:03:00 · 1238 阅读 · 0 评论 -
(译)win32asm实例-2
2.0 - Design of the game游戏的设计Before we get started with programming, we will design the game first.在我们开始编程前,我们先来设计游戏。2.1 - Basic idea基本的想法The idea is to create a simple shuffle-puzzle.原创 2002-03-18 19:04:00 · 1129 阅读 · 0 评论 -
用汇编访问COM对象
用汇编访问COM对象Ernest Murphy ernie@surfree.com Revised Dec 26 2000 for inclusion as part of MASM32Revised July 10 2000 for the new form of coinvoke.Sample code for this article原创 2003-02-24 09:13:00 · 1729 阅读 · 0 评论 -
(译)Win32Asm 教程-1
Win32Asm 教程这是我的Win32Asm教程。它总是创建中,但我会不停地添加内容。通过上面的next和prev链接,你可以转到后面和前面一页。介绍先来对这个教程做个小介绍。Win32Asm不是一个非常流行的编程语言,而且只有为数不多(但很好)的教程。大多数教程都集中在编程的win32部分(例如,winAPI,使用标准Windows编程技术等),而不是汇编语言本身,例如伪代码(op原创 2002-03-11 09:16:00 · 1836 阅读 · 2 评论 -
(译)win32asm教程-3
4.0内存这部分将解释在Windows中内存是如何管理的。3. 1Dos和win3.xx在像用于Dos和Win3.xx的16位程序中,内存被分成许多个段。这些段的大小为64kb。为了存储内存,需要一个段指针和一个偏移址指针。段指针标明要使用哪个段,offset指针标明在段本身的位置。看下图:内存段 1 (64kb)段 2 (6原创 2002-03-13 08:59:00 · 1129 阅读 · 0 评论 -
用汇编来实现OOP
用汇编来实现OOPtaowen本人在OOP方面刚刚入门,只是看过一些国外这方面的好材料,才萌生了写本文的念头。希望能够起到抛砖引玉的作用,引出高手们的批评和建议。OOP和面向过程都是编程中的思想,用学术一些的话是paradigm。曾经有人说过,既然cfront生成的是C代码,那么用C本身乃至汇编都可以实现OOP,只是太多东西需要自己手工来完成原创 2003-02-22 09:58:00 · 1740 阅读 · 2 评论