排序:
默认
按更新时间
按访问量

汇编语言秒表程序代码分析(21)

本文代码来自于《Intel汇编语言程序设计》 (第四版)第11章-----------32位windows编程。  秒表程序使用了一个TimeStart来启动秒表,还有一个TimeStop返回自TimeStart启动以来的毫秒数。  程序本身其实很简单,以下为代码: TITLE Calculate...

2009-10-23 11:57:00

阅读数:1061

评论数:0

汇编语言GetDateTime代码分析(20)

本文代码来自于《Intel汇编语言程序设计》(第四版)第11章---------32位windows编程。 GetDateTime其实是作者Irvine32库文件中的一个函数,它用来返回一个64位的整数,这个数值是自1601年1月1日开始的以100纳秒为单位的计数值。重要的是微软使用这个数值来作为...

2009-10-23 11:56:00

阅读数:924

评论数:0

汇编语言计时器代码分析(19)

来自于《Intel汇编语言程序设计》(第四版)第11章----------32位windows编程。 程序内容为,每经过100毫秒就在屏幕上显示一个点,当大于5000毫秒时退出。 代码如下:  TITLE Calculate Elapsed Time                   ( Tim...

2009-10-23 11:55:00

阅读数:916

评论数:0

汇编语言32位控制台读取用户输入字符程序代码分析(17)

来自于《Intel汇编语言程序设计》(第四版)第11章---------32位windows编程。  所谓控制台,就是我们平常在使用XP系统时,在运行框输入CMD之后出现的那个黑色画面,他看起来与DOS系统很相似,但是两者却完全不同。32位控制台程序运行在保护模式下,而DOS却运行在实模式下。另外...

2009-10-23 11:54:00

阅读数:2599

评论数:0

汇编语言写文件读文件代码分析(18)

内容来自于《Intel汇编语言程序设计》(第四版)第11章--------32位Windows编程。 我们的整个顺序应该是,首先将内容写入文件(如果没有文件,将会创建新文件),然后将内容从文件中读出。 首先来看一下将数据写入文件:  TITLE Using WriteFile           ...

2009-10-23 11:54:00

阅读数:3184

评论数:0

汇编语言循环遍历链表代码分析(16)

 来自于《Intel汇编语言程序设计》(第四版)第10章-----结构和宏。 首先,链表大家都不陌生,每个节点包含了一个data和一个link,其中Link指向了下一个节点的开始地址。最后一个节点的link保存的是一个空指针(NULL)。 另外本章是关于宏的,宏在汇编中的角色是非常重要的。不过以下...

2009-10-23 11:53:00

阅读数:1483

评论数:0

汇编语言显示系统时间代码分析(14)

代码来自于《Intel汇编语言程序设计》(第四版)第10章----结构和宏。 如果要显示系统时间,MS-Windows为我们提供了两个函数,用来设置光标位置的控制台函数和现实系统时间的函数。使用这两个函数之前,需要首先定义两个预定义的结构:  COORD STRUCT           X WO...

2009-10-22 10:48:00

阅读数:1976

评论数:0

汇编语言醉汉走路代码分析(15)

 来自于《Intel汇编语言程序设计》(第四版)第10章----结构和宏。 所谓醉汉走路,即在一个XY坐标的二维地图中,模拟一个醉汉走路的轨迹(原书中说的是一个喝醉了酒还未清醒的教授)。此处仍然用到了结构和宏,来看一下原书代码:   TITLE Drunkards Walk            ...

2009-10-22 08:31:00

阅读数:1509

评论数:0

汇编语言冒泡排序算法代码分析(12)

来自于《Intel汇编语言程序设计》(第四版)第九章。  以下为冒泡排序的原文代码:  ;---------------------------------------------------------BubbleSort PROC USES eax ecx esi,        pArray...

2009-10-21 10:53:00

阅读数:5843

评论数:0

汇编语言二分查找排序代码分析(13)

来自于《Intel汇编语言程序设计》(第四版)第九章。 我们知道二分查找排序是每次比较之后都会将查找范围减半的算法,其算法时间复杂度是O(logN),查找40亿的数据时,其时间也不过30秒左右,非常高效,不过其需要的前提是一个已经按升序或降序排序完成的数据集合。 下面看一下原书中用C++实现的适用...

2009-10-21 10:53:00

阅读数:1773

评论数:0

汇编语言求字符串长度代码分析(10)

来自于《Intel汇编语言程序设计》(第四版)第八章,该过程返回字符串长度到EAX寄存器中,调用该过程时需要传递字符串的偏移,如: INVOKE Str_length,ADDR myString Str_length过程代码如下: Str_length PROC USES edi,       p...

2009-10-21 10:52:00

阅读数:3078

评论数:0

汇编语言裁剪字符串代码分析(11)?

来自于《Intel汇编语言程序设计》(第四版)第八章。  裁剪字符串过程从以空字符串结尾的字符串中删除特定字符之后的所有字符。 需要的知识: 1.重复前缀。字符串操作指令本身每次只处理一个内存值。但如果增加一个重复前缀的话,该指令就会使用ECX作为计数器进行重复。几个重复前缀如下: REP    ...

2009-10-21 10:52:00

阅读数:849

评论数:0

汇编语言数组乘法代码分析(9)

来自于《Intel汇编语言程序设计》(第四版)第八章,主要用到以下两条指令: STOSB,STOSW和STOSD指令将AL/AX/EAX的内容存储在EDI指向的内存单元中,同时EDI的值将根据方向标志的值增加或减少。 LODSB,LODSW和LODSD指令从ESI指向的内存位置向AL/AX/EAX...

2009-10-21 10:51:00

阅读数:1281

评论数:0

汇编语言16位随机整数填充数组代码分析(7)

来自于《Intel汇编语言》(第四版)第八章的一段程序。程序非常简单,以下为代码:  .datacount = 100array WORD count DUP(?).codepush OFFSET arraypush COUNTcall ArrayFill  ArrayFill PROC     ...

2009-10-21 10:50:00

阅读数:1186

评论数:0

汇编语言实现递归阶乘算法代码分析(8)

来自于《Intel汇编语言程序设计》(第四版)第八章的代码,但是我总是感觉有错误,红色代码部分从逻辑上看永远不会被执行到,以下为源代码:  【注:因为使用的是32位寄存器,因此可以容纳的最大阶乘是12!(479001600)】  TITLE Calculating a Factorial     ...

2009-10-21 10:50:00

阅读数:2457

评论数:0

汇编语言AAA指令多字节加法代码分析(5)

来自于《Intel汇编语言程序设计》(第五版)第七章的代码,使用AAA( ASCII adjust after addition )指令来调整ASCII相加之后的结果。源代码如下: TITLE ASCII Addition                                      ...

2009-10-21 10:49:00

阅读数:4058

评论数:0

汇编语言值传递和引用传递代码分析(6)

来自于《Intel汇编语言程序设计》(第四版)的第八章。 让我们先来看看值传递,值传递相对简单,看以下代码:  .datamyData WORD 1000h            ; this never changes.codemain PROC         INVOKE Sub1, myD...

2009-10-21 10:49:00

阅读数:662

评论数:0

汇编语言表格驱动分支选择代码分析(4)

来自于《Intel汇编语言程序设计》(第四版)第六章。  先引用原书的话来解释一下表格驱动分支选择: 表格驱动分支选择是使用表格查找法来替代多路选择结构的一种方法。为了使用该方法,我们必须创建一个包含查找值和过程偏移的表格,程序使用循环来搜索该表格,当需要大量的比较时,这种方法是工作的最好的。 下...

2009-10-21 10:48:00

阅读数:708

评论数:0

汇编语言数组中查找正数代码分析(3)

《Intel汇编语言程序设计》(第四版)第六章中的代码,如下: .dataarray SWORD -3 , -6 , -1 ,  -10 , 10 , 30 , 40 , 4sentinel SWORD 0.code         mov esi , OFFSET array         m...

2009-10-21 10:47:00

阅读数:1379

评论数:0

汇编语言字符串加密代码分析(2)

来自于《Intel汇编语言程序设计》(第四版)第六章。 这个例子利用了XOR(异或)指令的一个特性(即对操作数两次异或之后操作效果抵消),对字符串进行加密。 书中代码:  TITLE Encryption Program     (Encrypt.asm) INCLUDE Irvine32.inc...

2009-10-21 10:46:00

阅读数:2122

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭