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

我的博客

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

[2008-06-26 20:15] 学习笔记  第7章  更灵活的定位内存地址的方法

学习笔记  第7章  更灵活的定位内存地址的方法

        其实这些内容全部来自网络,与其说是学习笔记,不如说是转载文章。只不过我把三篇文章合成一块了,刚好作为第7章内容的一个补充和扩展。
文章来自:
“《汇编语言程序设计》课程教案”
网址:http://www2.jxust.cn/main/yzkc/hbyysj/ljnr/kcja/kcja32.htm
“《微机原理》远程教学”
网址:http://www.ahtvu.ah.cn/jxc1/zhykch/5124/jiaoxuefudao/xzfs1.htm
“北京邮电大学网络教学”。
网址:http://teach.jwc.b...
阅读全文 |   作者:goal00001111 | 评论次数(1) | 浏览次数(1948)

[2007-12-29 10:20] 我的汇编学习资料(电子书)

为了学习汇编语言,平时没事的时候就到处搜索电子书,到现在为止,也有了一些收获,现在给大家晒晒,如果有需要,可以向我要,我将传给你。同时建议网站提供上传资料功能,这样大家可以资源共享。

《汇编语言》        王爽 著                清华大学出版社        2003
内容简介:本书采用了独特的教学理念,完全按照循序渐进的原则写成。学习是一个动态的过程。本书的重要宗旨就是对学习的过程进行引导。因此,作者打破了传统教材按照静态的知识结构对内容进行组织的体例,在其中构造了一个贯穿始终的可以步步深入的学习线索,使得读者可以真正地深入理解机器运行程序的机理和获得高质量的底层编程体验,为计算机科学相关课程学习和研究打下坚实的理论...
阅读全文 |   作者:goal00001111 | 评论次数(34) | 浏览次数(4769)

[2008-03-17 16:49] 本书学习结束后的学习体会

呵呵,应wdm兄弟的要求,说说个人的体会吧:
1.这本书为了让更多想学汇编的人入门,所以讲得很基础,
   对于书中出现的每个知识点,都应该牢固掌握,
   应该要有追根究底的精神,本来知识就很基础,
   如果再马虎的过完每一章节,学完后,收获会更少得可怜了。

2.一般来说我的学习步骤是这样的:
   (1)认真看书掌握知识点
   (2)认真完成检测点,如果完不成,
       那就是我本章节内的知识或前面章节的知识没掌握好,
       我会回过头去有目的的细看相关的知识点。
   (3)认真完成每章后面的实验,我相信实验具有总结性。
   (4)做网上的检...
阅读全文 |   作者:taotling | 评论次数(19) | 浏览次数(3380)

[2008-03-30 19:50] 是否可以在自己写的INT 0H中断例程结束处用IRET来返回调用程序

提出问题者:wesom
地址:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1013&qkSg=2&qID=13334


问题:
===============================
书上的例子使用的是调用另外的中断mov ax,4c00h int 21h来退出,如果用iret来出栈为什么不能退出呢? 
溢出程序: 
code segment 
   begin : mov ax,data 
           mov ds,ax 
           mov ax,1000h...
阅读全文 |   作者:taotling | 评论次数(29) | 浏览次数(3521)

[2008-01-09 11:30] 学汇编的一点心得

我觉得,学习汇编有一个比较大的好处,就是可以了解到在电脑中每一个字节数据的来龙去脉。
    我们编写程序,首先要知道的是要让CPU处理的数据是哪些,它们都在什么地方,它们之间是什么关系,这就涉及到寻址的问题。正确的寻址可以让我们的程序减少错误。
    其次是,要让CPU处理的是什么样的数据,是字节、字,还是双字的等等,这也很重要。对于不一样的数据,我们要给它们分配相应的空间,采取不同的处理运算方式。
   再者是,CPU在处理数据的过程中,总会有产生一些中间结果和最终结果,它们又应该存放在什么地方,即涉及到数据的传递问题。这时候,各种寄存器和栈,甚至是一些内存空间就发挥了重要的临时存...
阅读全文 |   作者:wuerlang | 评论次数(7) | 浏览次数(2509)

[2008-04-17 12:10] 学汇编有速成的吗

有位网友在论坛里发贴问:汇编如何速成?链接:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=ibm&kind=1237&qkSg=2&qID=7907&readSg=1

我作为菜鸟,也发表了自己的看法:

学汇编能不能速成,可能会因人而异。正如楼上有些网友所言,基础好的人相对而言学得比较快。 
但我认为,LZ是想了解一下有没有学习汇编的好方法吧。 
我的体会是:脑子里要经常装着汇编问题!要善疑,并且带着问题去看书,去上机,去探索!每解决一个问题,就是一个进步!天天有问题要思考,有问题要解答(当然要自己尽力去解决),这样进步...
阅读全文 |   作者:wuerlang | 评论次数(11) | 浏览次数(2895)

[2007-11-28 10:59] [转]学习密度与专注力

学习密度与专注力

By 刘未鹏(pongba)
C++的罗浮宫(http://blog.csdn.net/pongba)
 
    上次学校里面有一个免费的李阳英语讲座,好奇于是就去听了一下。对一句话印象比较深刻,大意是说许多人学了快10年的英语,其开口的时间还不如在集训的七天内开口的时间长。也就是说,尽管学习时间很长,但学习密度极低,结果乘起来还是低。其实这种情况不仅存在于英语学习中,而是一种普遍的现象。人太容易为各种各样的事情分心,要集中注意力做一件事情是非常难的,而正因为难,少有人做到,那些做到的,就都变成了牛。 
    其实,在大学期间,最不缺的就是业余时间,最缺的就...
阅读全文 |   作者:wuerlang | 评论次数(14) | 浏览次数(2275)

[2009-02-24 12:55] C语言高效编程的的四大绝招(2)

上接:C语言高效编程的的四大绝招(1)
  第二招:数学方法解决问题 
  现在我们演绎高效C语言编写的第二招--采用数学方法来解决问题。数学是计算机之母,没有数学的依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。举例如下,求 1~100的和。 
  方法E 
  int I , j; 
  for (I = 1 ;I<=100; I ++) 
  { 
   j += I; 
  } 
  方法F 
  int I; 
  I = (100 * (1+100)) / 2 
  这个例子是我印象最深的一个数学用例,...
阅读全文 |   作者:kenan | 评论次数(1) | 浏览次数(1406)

[2009-02-24 12:53] C语言高效编程的的四大绝招(1)

 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。 
  第一招:以空间换时间 
  计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 
  例如:字符串的赋值。 
  方法A:通常的办法: 
  #define LEN 32 
  char string1 [LEN]; 
  memset (string1,0,LEN); 
  strcpy (string1,"This is a example!!"); 
  方法...
阅读全文 |   作者:kenan | 评论次数(1) | 浏览次数(1392)

[2007-10-12 15:34] cpu 保护模式(转)

第一:实模式下程序的运行回顾.
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)

第二:保护模...
阅读全文 |   作者:dcgdcg | 评论次数(9) | 浏览次数(4383)

[2008-02-27 15:25] 永远的坐票(转)

朋友经常出差,经常买不到对号入座的车票。可是,无论长途短途,无论车上多挤,他说,他总能找到座位。 
   他的办法其实很简单,就是耐心地一节车厢一节车厢找过去。这个办法听上去似乎并不高明,但却很管用。每次,他都做好了从第一节车厢走到最后一节车厢的准备,可是每次他都用不着走到最后就会发现空位。他说,这是因为像他这样锲而不舍找座位的乘客实在不多。经常是在他落座的车厢里尚余若干座位,而在其他车厢的过道和车厢接头处,居然人满为患。 
   他说,大多数乘客轻易就被一两节车厢拥挤的表面现象迷惑了,不大细想在数十次停靠之中,从火车十几个车门上上下下的流动中蕴藏着不少提供座位的机遇;即使想到了,他们也没...
阅读全文 |   作者:bug | 评论次数(3) | 浏览次数(932)

[2008-07-21 16:49] 两个和尚

有二个和尚住在隔壁;所谓隔壁是:隔壁那座山 他们分别在相邻的二座山上 的庙里,这二座山之间有一条溪 ,於是这二个和尚,每天都会在同一时间下山去溪边挑水。久而久之,他们便成为妤朋友了。 
    就这样,时间在每天挑水中,不知不觉己经过了五年 。突然有 一天,左边这座山的和尚没有下山挑水,右边那座山的和尚心想:“他大概睡过头了。”便不 以为意 。哪知第二天,左边这座山的和尚,还是没有下山挑水 ,第三天也一样 ,过了一个星 期,还是一样。 直到过了一个月,右边那座山的和尚,终於受不了了。 他心想:“我的朋友 可能生病了, 我要过去拜访他, 看看能帮上什么忙。” 
    於是他便爬上了左边这座...
阅读全文 |   作者:bug | 评论次数(4) | 浏览次数(1363)

[2009-03-25 10:19] 综合研究试验5--函数如何接收不定数量的参数

  这个研究试验5是最短的一个研究试验了,但是内容可不简单,也挺费脑筋的(也许是我脑子笨了点)。

  刚一看,基本没思路,什么叫不定数量的参数,以前好像没注意过,写函数都是既定的参数啊。结果一看内容,突然知道了什么叫做熟视无睹了。C语言中经常使用的printf这个函数原来就是不定参数的。看来自己的洞察力不够,以前总是打印,打印,打印啊的,没发现printf函数不受参数个数的限制。晕菜~~怎么就能解决这未知的东西呢?程序可没有思想啊,也不能随机应变啊。想不明白啊!跟着书上的路学吧。

  首先,是对一个显示字符的简单程序的分析。这个程序经过debug跟踪,main函数和showchar...
阅读全文 |   作者:mywiil | 评论次数(3) | 浏览次数(952)

[2009-07-24 16:24] DOS下的内存驻留程序

基本的驻留程序

4.1 一个基本的COM程序

 DOS之下有两种形式的可执行文件,这两种文件分别是COM文件和EXE文件.其中,COM文件可以迅速地加载和执行,但是其大小不能超过64K字节,只能有一个段,代码段.而且起始地址为100H指令必须为程序的启动指令.EXE文件可以加载到许多个段中,因此程序的大小没有限制,但是程序加载的过程就比较慢,而且对于内存驻留程序来说还会造成更大的麻烦.

 以下是一个可以正确执行的COM文件,但其内容是空的;只是一个COM文件的框架,可以把你写的任何应用部分加在这个文件中,形成一个COM格式的内存驻留程序:
  ;Section 1
  c...
阅读全文 |   作者:mywiil | 评论次数(0) | 浏览次数(1094)

[2009-02-16 15:35] 关于“函数malloc的实现”的深入探讨

  过完年了,又开始新的学习和生活了。去年用了不少时间把《汇编语言》学习了一下,获益匪浅!十分感谢汇编网各位老师和网友对我的帮助。现在,俺开始跟着学习C语言了。吼吼~~

  不过,在学习“函数malloc的实现”这一章的过程中,俺发现教程中提供的参考代码中,某些细节之处存在小小的纰漏,在此我就大胆一下,对本章中的学习过程进行一下探索和探讨,望各位老师和同学不吝指教。

  首先,根据对教程的理解,我先将整个malloc申请内存引发的流程简单说一下。
  1.用户通过malloc申请内存,开始遍历空间链表,查找合适大小的结点。
  2.如果找到合适大小的结点,就将该结点返回给用户。...
阅读全文 |   作者:lwbfq | 评论次数(6) | 浏览次数(2932)

[2009-07-27 21:38] 第十三章(实验十三)中断例程对loop功能实现的简单变通

本章在用int 7ch实现loop指令功能时候,所用的参数为cx:循环次数,bx:loop指令的转移位移值。实际应用里, cx的值可以在应用程序里较为方便的给出,而bx的值却需要用表达式表示,而且为了可以表达,也需要在循环指令段后加一个无实际含义的"s1:nop"之类的指令,以使得可以将bx表达为"offset s-offset s1"。其实,稍微想一下,便可以知道,通过int 7ch实现loop的实际点在于在循环未结束时候将cs:ip指向循环指令段首地址,即s处。
因此,设置入口参数为bx=offset s.

安装程序:
------------------------------...
阅读全文 |   作者:tsembrace | 评论次数(4) | 浏览次数(1653)

[2007-10-20 19:09] 一个感染 com  的病毒

日久见人心,才没几天。。。偶手又痒了。。。。。在看完一个感染com文件的病毒激动万分的时候,偶决定要为这个“病毒”写点东西,也算对得起它吧,估计又该有某某大叫头疼了,但思路却是相同的,每个人,每件事,对么? 好了开始。。。。

        介绍下这个病毒的结构,这个病毒是感染com文件的(古老的一种文件格式,但是很简单),由于是实模式下的,所以我们就可以添删com而不用担心别的事情,程序有感染的代码,有破坏的代码,因为没有自动查找的代码程序暂时只能感染test.com这个co并删除del.txt这个文件,但有点不爽的是这个程序没有判断是否已经感染,结果就造成重复感染,有兴趣的可以加上这...
阅读全文 |   作者:mnzn2530 | 评论次数(6) | 浏览次数(2465)

[2008-07-23 15:11] Turbo C 2.0 认识

Turbo C 2.0 认识

文章作者:零
一、C语言 

   C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。 它由早期的编程语言 BCPL( Basic CombindProgramming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 KenThompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。 
随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。为了改变这...
阅读全文 |   作者:dpjf | 评论次数(1) | 浏览次数(1660)

[2008-10-14 18:34] 如何产生随机数

怎样产生随机数

问:怎样产生随机数?

答: 在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。
有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅。不管用什么方法实现随机数发生器,都必须给它提供一个名为“种子”的初始值。而且这个值最好是随机的,或者至少这个值是伪随机的。“种子”的值通常是用快速计数寄存器或移位寄存器来生成的。
下面讲一讲在C语言里所提供的随机数发生器的用法。现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是ran...
阅读全文 |   作者:abob | 评论次数(1) | 浏览次数(1098)

[2008-03-04 09:12] 一个非常震撼人心的故事

这是发生在二战期间的真实故事,真实到让人揪心。

故事是这样的,二战期间,一支部队在森林中与纳粹军队相遇发生激战,其中两名战士最终与自己的伍队失去了联系,没有人知道他们在哪里,都以为他们牺牲了。

他们来自同一个淳朴的小镇,镇上的人彼此都认识,所以大家都像一家人。他们原来就是很要好的朋友。此次在生死未卜的战斗中,互相照顾、彼此不分。

与队伍失散后,两人在森林中艰难跋涉,互相鼓励、安慰。十多天过去了,他们没有看到一个人影,回到部队的希望越来越渺茫,更严重的是,因为战争的缘故,动物四散奔逃或被杀光,生存都发生了危机。

就在他们奄奄一息之际,他们幸运的打死了一头鹿,看来天无绝人之...
阅读全文 |   作者:mess | 评论次数(2) | 浏览次数(602)
页码数(3):  1  2  3