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

我的博客

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

[2011-09-11 00:03] 汇编语言学习小结

经过了几个月断断续续的学习,终于将这本书学完了,在这里做个小结。
汇编语言:汇编语言是机器语言的另一中表达方式,它能很直接地控制你的计算机。我一直认为任何语言实现的功能,用汇编语言都能做到,因为任何语言在执行时都是机器指令。

寄存器:8086有21个寄存器:ax,bx,cx,dx,cs,ds,es,ss,sp,bp,si,di,ah,al,bh,bl,ch,cl,dh,dl ,PSW。

总线:8086有16根数据线,20根地址线,?根控制总线。

内存:8086最多能拥有1MB的内存空间,在使用内存时要指出要访问的内存单元有多长,在什么位置。

栈:栈是一种特殊的内存空间,它的地址编号是倒续的,在8086中栈只能进行字操作,它在程序中很重要,CALL,RET,INT,IRET,RETF等指令都需要栈的参与才能实现。

寻址方式:书上介绍了五种,直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址变址寻址。PS:据听说有16种。

地址加法器:地址加法器是将1个16位的段地址和一个16位的偏移地址合成一个20位的物理地址,方法是将段地址乘10h再和偏移地址相加。

数字加法器:在8086及后续cpu中,进行算术运算的只有它一个,功能是实现加,减,乘,除四则运算。加:这个就不用说了吧,1+1=2。减:5-3=5+(-3)=05H+0fdh= 02h。乘:5*3=5+5+5=0Fh,这个书上有提到。除:10/3=10-3-3-3+1=10+(-3)+(-3)+(-3)+1,减了几次的次数是商,当被除数小于除数时被除数就是余数。

ASCII码:美国信息互换标准代码,它为数字与字符之间提供了一种映射,我想ASCII码应该是固化在BIOS的ROM中,因为当计算机刚启动时屏幕就能显示各种字符,那时系统还没有启动。

标志寄存器:它是一种特殊的寄存器,它表示的是当前指令执行后的各种状态,给后续指令一种引导作用,能直接操作它的指令有:PUSHF,POPF,LAHF,SAHF等。

中断:中断是CPU在执行过程中遇到突发事件必须要暂停当前工作转去处理这个中断信息,有内中断和外中断之分,而外中断又可分为不可屏蔽中断和可屏蔽中断。它们的入口地址被集中在0~3FFH这段内存空间中,称为中断向量表。

中断与子程序的区别:中断是系统或BIOS提供的,而子程序是自己写的。中断当计算机启动后被加载在内存中,直到计算机关机之前,它一直存在,而子程序只有当程序运行时才会在内存中出现,程序结束后被操作系统释放。

端口:8086有65536个不同的端口,但是操作它们的指令只有两个:IN和OUT,参与的寄存器有3个:AL,AX和DX。

汇编语言是程序员的必修课,不懂它的程序员只能是一个三流的程序员,它是一门面向机器的语言,它渐渐的脱离了软件的开发,挤身与电子工业编程中,我们可以用它来直接控制硬件,比如王B8100H写入数据会被显示在屏幕上,往61H端口写数据会发出一些声音等。
评论次数(8)  |  浏览次数(1005)  |  类型(汇编作业) |  收藏此文  | 

[  landyking   发表于  2011-09-12 02:08  ]

呵呵,写的不错.我正在从三流向上迈进.

[  chinatree   发表于  2011-09-12 08:19  ]

呵呵,一起加油吧。

[  tily   发表于  2011-09-15 23:25  ]

呵呵 恭喜你啊

[  chinatree   发表于  2011-09-16 11:42  ]

谢谢,下面就看你的了,让我拭目以待吧。

[  paradisehere   发表于  2011-09-16 15:11  ]

争取做二流的

[  chinatree   发表于  2011-09-16 18:01  ]

呵呵,每个人对自己的定位都不一样。

[  rotapple   发表于  2011-09-16 18:43  ]

恭喜。

[  chinatree   发表于  2011-09-16 18:46  ]

谢谢你。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码