汇编网首页登录博客注册
fishboy的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态

[2008-01-03 21:23] [转]程序员的成长从开窍开始

2007.12.28  来自:CSDN   郝培强

我甚至帮助一些人调试一些我根本不懂的语言的程序,因为多半出现的问题,都和语言特性无关,不是程序员写错了字符,就是写错了逻辑,或者是错误理解了一个函数。

最近,有两位Google Maps API的初学者向我请教他们按照最简单例子写的程序为什么不能正常的运行。

其中一位用GTalk跟我交流,我仔细了看了他的代码,没看出问题,把代码保存在本地,打开Firefox的错误控制台,用Firefox打开他的页面。出错的那一行被清晰的显示出来,我再仔细端详那句话,原来有两个应该是英文逗号的地方,写上了中文逗号。

另一位,在我的论坛跟...
阅读全文 |   作者:Wednesday | 评论次数(4) | 浏览次数(1442)

[2008-01-03 10:12] DEBUG命令详解

DEBUG是DOS中的一个外部命令,从DOS 1.0起就带有此命令,因此可见此命令的重要性了。虽然此命令的功能非常强大,可以解决许多问题,可是对许多人来说,尤其是初学者来说,却非常不易掌握。因此,现将DEBUG的命令详细介绍一番,以让大家知道它的使用。

Debug:A(汇编)


直接将 8086/8087/8088 记忆码合并到内存。

该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。


a [address]


参数

address

指定键入汇编语言指令...
阅读全文 |   作者:mouse | 评论次数(3) | 浏览次数(1499)

[2007-12-30 14:46] 计算N!

assume cs:code
code segment 
    start:
         mov ah,0
         mov al,3
         push ax
         call recursion
         pop ax
         mov ax,4c00h
         int 21h
    ;栈传递N值 
    ;子程序的局限:N!<= 0xFFFFH
    recursion:
         push bp
         push ax
         mov bp,sp
       ...
阅读全文 |   作者:playboy | 评论次数(1) | 浏览次数(2444)

[2007-12-24 15:25] typedef的四个用途和两个陷阱

用途一: 
定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: 
char*   pa,   pb;     //   这多数不符合我们的意图,它只声明了一个指向字符变量的指针,   
//   和一个字符变量; 
以下则可行: 
typedef   char*   PCHAR;     //   一般用大写 
PCHAR   pa,   pb;                 //   可行,同时声明了两个指向字符变量的指针 
虽然: 
char   *pa,   *pb; 
也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指...
阅读全文 |   作者:lmj | 评论次数(2) | 浏览次数(1706)

[2007-12-24 10:50] makefile 是个什么东西

还是在(百度百科)中找到了答案,呵呵,不知道以后会不会被百度给关怀的离不开她了。


Makefile   Makefile文件

一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释mak...
阅读全文 |   作者:cat442 | 评论次数(3) | 浏览次数(1452)

[2007-12-23 19:41] 筛法求素数

筛法求素数

以前用c语言写过筛法求素数。方法是使用一个辅助数组,把每个自然数的标志存储起来,素数标志为0,非素数标志为1。我设置辅助数组的类型为char类型,这样每个元素占一个字节,由于内存有限,存储不了多少元素,使得程序存储的素数数量非常有限。当时想过用一个字节来存储一个标志,实在是太浪费了,如果能够用一个位来存储该多好啊。现在学习了汇编语言,我可以用一个位来存储素数标志了,于是苦思冥想好几天,写了改,改了写,终于程序成型了。
        当然,程序还有很多不如意的地方,如代码臃肿,可读性差等等。希望通过更多的学习,能够得到更好,更精练,更健壮的代码。
        代码很长,很难入眼。如果您能够完整阅...
阅读全文 |   作者:goal00001111 | 评论次数(3) | 浏览次数(1558)

[2007-12-12 08:46] 汇编语言超浓缩教程(转)

也是一个汇编的教程,虽然没有王爽老师写的汇编语言好,但是也算不错了,支持下。

----------------
原文:
“ 哎哟,哥们儿,还捣鼓汇编呢?那东西没用,兄弟用VB"钓"一个API就够你忙活个十天半月的,还不一定搞出来。”此君之言倒也不虚,那吾等还有无必要研他一究呢?(废话,当然有啦!要不然你写这篇文章干嘛。)别急,别急,让我把这个中原委慢慢道来:一、所有电脑语言写出的程序运行时在内存中都以机器码方式存储,机器码可以被比较准确的翻译成汇编语言,这是因为汇编语言兼容性最好,故几乎所有跟踪、调试工具(包括WIN95/98下)都是以汇编示人的,如果阁下对CRACK颇感兴趣……;二...
阅读全文 |   作者:startasm | 评论次数(3) | 浏览次数(2030)

[2007-12-12 09:34] IBM-PC汇编语言指令集

抓个字典。

IBM-PC汇编语言指令集
数据传送指令集 
MOV
功能: 把源操作数送给目的操作数
语法: MOV 目的操作数,源操作数
格式: MOV r1,r2
MOV r,m
MOV m,r
MOV r,data

XCHG
功能: 交换两个操作数的数据
语法: XCHG
格式: XCHG r1,r2 XCHG m,r XCHG r,m

PUSH,POP
功能: 把操作数压入或取出堆栈
语法: PUSH 操作数 POP 操作数
格式: PUSH r PUSH M PUSH data POP r POP m 

PUSHF,POPF,PUSH...
阅读全文 |   作者:huibian | 评论次数(1) | 浏览次数(1645)

[2007-12-12 09:28] 透过汇编另眼看世界之类成员函数指针

透过汇编另眼看世界之类成员函数指针[转]

参考文献:
1。《C++ Common Knowledge: Essential Intermediate Programming》By Stephen C. Dewhurst

“成员函数指针并不是指针”该如何理解呢?通过汇编代码我们可以更深入的理解这句话的含义。

前言:在CSDN论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以...
阅读全文 |   作者:huibian | 评论次数(2) | 浏览次数(1552)

[2007-12-10 15:47] BIOS和DOS中断大全

准备个手册...
;-)

中断INT 21H :
1、字符功能调用类(Character-Oriented Function)
01H、07H和08H —从标准输入设备输入字符
02H —字符输出
03H —辅助设备的输入
04H —辅助设备的输出
05H —打印输出
06H —控制台输入/输出
09H —显示字符串
0AH — 键盘缓冲输入
0BH —检测输入状态
0CH —清输入缓冲区的输入功能

(1)、功能01H、07H和08H 
功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重...
阅读全文 |   作者:mouse | 评论次数(4) | 浏览次数(2075)

[2007-11-27 07:53] 远指针-百度词条

远(far)指针
远指针不是让编译程序把程序数据段地址作为指针的段地址部分,
而是把指针的段地址与指针的偏移量直接存放在指针内。因此,远指
针是由4 个字节构成。它可以指向内存中的任一目标,可以用于任一
编译模式,尽管仅在紧凑、大和巨模式下远指针才是缺省的数据指针。
因为远指针的段地址在指针内,熟悉80X86 汇编语言的人都知道,这
意味着每次使用远指针时都需要重新装载段寄存器,这显然会降低速
度。
应该注意:尽管远指针可以寻址内存中的任一单元,但它所寻址
的目标也不能超过64K 字节。这是因为,远指针在增量或减量之类的
算术运算时,也只是偏移量部分参与运算,而段地址保持不...
阅读全文 |   作者:mouse | 评论次数(4) | 浏览次数(681)

[2007-11-10 22:21] C语言传递形参的分析

void f(int, int, int);

main()
{
  int a = 1, b = 2, c = 3;
  f(a, b, c);
  printf("%x",main);
}

void f(int i, int j, int k)
{
  i = 3;
  j = 2;
  k = 1;
}

debug 加载后查看的程序
主函数 main
-u 1fa
5CDB:01FA 55            PUSH    BP
5CDB:01FB 8BEC          MOV     BP,SP
5CDB:01FD 83EC02 ...
阅读全文 |   作者:zysong | 评论次数(6) | 浏览次数(1630)

[2007-11-06 22:47] EXE是怎样炼成的----冰山二角

嘻嘻...
阅读全文 |   作者:Wednesday | 评论次数(3) | 浏览次数(1778)

[2007-11-06 14:57] EXE是怎样炼成的----冰山一角

嘿嘿...
阅读全文 |   作者:Wednesday | 评论次数(39) | 浏览次数(5507)

[2007-11-08 17:50] EXE是怎样炼成的----冰山三角

呵呵...
阅读全文 |   作者:Wednesday | 评论次数(4) | 浏览次数(1466)

[2007-10-24 13:47] 学习笔记:调试程序debug常用指令的使用(1)

调试程序debug常用指令的使用
Debug原意是杀虫子。这里是可用于测试和调试 MS-DOS 可执行文件的程序。
DEBUG是为汇编语言设计的一种调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。DEBUG可以直接用来检查和修改内存单元、装入、存储及启动运行程序、检查及修改寄存器,也就是说DEBUG可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。不仅如此,对汇编语言初学者来说,DEBUG也是练习使用汇编指令的一种有效工具。初学者可以直接在DEBUG环境下执行汇编指令。然而,在DEBUG下运行汇编语言源程序也受到了一些限制,它不宜汇...
阅读全文 |   作者:goal00001111 | 评论次数(2) | 浏览次数(1437)
页码数(1):  1