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

我的博客

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

[2007-11-23 20:09] 推荐博文 方便代码重定位的数据定位方式

在《汇编语言》的P237页,书中提供了一种子程序保存数据的方式:
  do0: jmp short do0start
       db "over flow!"
do0start: mov ax,cs
          mov ds,ax
          mov si,202h
        ............
        ............
其中si是指向字符串起始地址的,它的值是这样确定的:
do0这段代码将被拷贝到0:200处,而jmp这一条指令占2个byte,所以字符串的起始地址为200h+2=202h。
这种方式存在一个问题:
如果我事...
阅读全文 | 评论次数(1) | 浏览次数(1117) | 所属类型(默认类型)

[2007-11-21 16:34] 学汇编

转载
为什么要学习汇编呢?现在不是大多数用C编写的了吗?是的,目前嵌入式软件大多数都是用C开发的。其实学习汇编,是为了更好了解CPU的处理,这个只是为了了解,为了更深入的了解,而不是用它来开发大部份的应用。当然它也是有用的地方,比如BOOTLOADER这样的程序,没有汇编,是不可能完成的。还有那些有特殊的指令,没有汇编也是不可能写得出来的。目前,我学习汇编,就是为了写BOOTLOADER。我也没有为了全部去学习它,而去学习,而是拿BOOTLOADER的源程序出来,从上面了解汇编,看懂别人的BOOTLOADER,或者能修改它的汇编,就算学习完成,而不必要每条指令都去死记它,去了解它。只要BOO...
阅读全文 | 评论次数(0) | 浏览次数(686) | 所属类型(默认类型)

[2007-10-12 16:11] [转载]《汇编语言》勘误建议

勘误人:  xiaochun_ahut 时间:  2007-09-14 17:05:35 
页码:  33 行:  2 
错误:  zenqing提出的关于的33页的错误不对 更正:  原文是对的 
附言:  mov ax,123 才对应机器码 B8 23 01 


勘误人:  wangxianggen 时间:  2007-04-28 08:52:44 
页码:  222 行:  -2 
错误:  ;设置df=0,正向传送 更正:  ;设置df=1,逆向传送 
附言:  std指令 


勘误人:  wangxianggen 时间:  2007-04-28 08:48...
阅读全文 | 评论次数(1) | 浏览次数(450) | 所属类型(默认类型)

[2007-10-10 20:08] 推荐博文 汇编编程心得---容易出错的几点

1.时刻注意你要操作的目标数据(内存中的数据)的大小和你使用的操作容器(寄存器)的大小是否一致,比如要操作的数据都是一个字节的,就注意应该用dx,还是dl。如果习惯上喜欢一概用dx,可能会导致内存附近位置的数据被覆盖。

2.另外,对于处理数据的ds:[bx]方式,如
s:  mov ds:[bx],dx
    add bx,2
    ........
    loop s
在循环中应注意bx的递增或递减大小,如果处理字节,比如用dl,循环中就加或减1;如果处理字,比如用dx,就加或减2。留意这个一致性。

3.在8086上,ss和sp都是16位的,栈所处理数据的最小单位...
阅读全文 | 评论次数(2) | 浏览次数(882) | 所属类型(默认类型)
页码数(1):  1