原创 80X86汇编指令小结

2007-4-27 10:59 3797 3 4 分类: 软件与OS

          好久没有来了,今天来总结一下80X86的常用汇编指令,以及一些变成技巧。 首先了解一下,80X86CPU的物理结构对于学习汇编来说是个基础,80X86的结构通常由:通用寄存器,运算寄存器ALU,执行部件和执行部件缓冲器,以及外总线构成。对于80X86的寄存器组有16位寄存器组和32位寄存器组,16位寄存器的组由:4个数据寄存器(AX,BX,CX,DX);2个变址和指针寄存器(SI,DI);2个指针寄存器(BP,SP);4个段寄存器(DS,CS,SS,ES);1个指令指针寄存器(IP);和1个标志寄存器(FLAG);组成。32位寄存器在16位寄存器的基础上扩充到32位,同时多了两个状态寄存器(FS,GS);


          简单了解了80X86寄存器的结构后,我们来了解一下各个寄存器的作用寄存器组:AX(AL,AH)累加器,用来进行字节的乘,除运算,字的输出输入,中间结果的缓存等算术逻辑运算以及外设的信息传递等.BX(BL,BH)基址寄存器,用来存放存储器的指针和地址;CX(CL,CH)计数器用来进行循环活串操作种的隐含计数器;DX(DL,DH)数据寄存器,用来存放字节,双字节,活多字节的操作数;


变址和指针寄存器(SI,DI)存储器的指针,分别用作串指令种的源操作数指针和目标操作数的指针;指针寄存器(BP,SP)存储器指针,存储堆栈的指针;


         简单了解了一下存储器的组出和作用后,我们来学习80X86的汇编指令系统,首先了解一下指令的寻址方式,80X86汇编的指令寻址方式有,1.立即寻址,针对操作数的立即寻址即将寄存器设置出世值,如MOV AX 10H; 2.直接寻址,将DS的位首地址加上16位偏移量构成物理地址,如 MOV AX,DS:[2000] ;2.寄存器寻址,操作数存在指令指定的寄存器中,如:MOV SI,CX ;3.寄存器间接寻址,操作数的偏移地址包含在寄存器SI,DI,BP,BX之一中,当以SI,DI,BX间接寻址,操作数物理地址由数据段寄存器DS与SI或DI或BX中的偏移地址构成;当以BP间接寻址,操作数物理地址由堆栈段寄存器SS与BP中的偏移地址构成. 如 MOV AX,[BX];4.基址寻址,偏移地址是指令中给定的偏移量和寄存器BX或基数指针BP的内容之和.如 MOV DX,DELTA[BP];5,基址变址寻址操作数的偏移地址位基址寄存器BX或BP的内容加上变址寄存器SI或DI的内容,再加上指令中的8位或16位偏移量.


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1053025 2007-5-10 17:05

博主,文章真好,申请博客精华吧。从后台打开编辑一篇文章,选择申请就OK了。
相关推荐阅读
用户61720 2007-04-27 10:14
推荐一个很不错的汇编工具
这两天找到了一款很不错的汇编编译器推荐给大家,Masm for Windows集成实验环很不错,本身就是一本学习的教科书同事也是基于WINDOWS下进行汇编学习和联系的好工具,对汇编感兴趣的朋友可以下...
用户61720 2007-04-23 13:09
嵌入式linux的学习途径
       做为一个程序员,如果你是用DLEPHI,VB,C++,或者是其它语言从事基于windows平台上开发的程序员来说,可以说学习嵌入式开发来说,你的开发经验对你的嵌入式开发没有任何的帮助,这...
用户61720 2007-02-13 09:59
结果导向的时间管理
结果导向的时间管理结果导向的时间管理  一个人之所以成功,时间管理是非常重要的关键因素,如果我们想要成功,就必须让我们的时间管理做得更好,要把时间管理好,最重要的就是做好以结果为导向的目标管理。以下为...
用户61720 2007-02-13 09:51
那些测试的知识都曾在幼儿园里学过
那些测试的知识都曾在幼儿园里学过摘要:最近Lee Copeland出席了EuroSTAR测试研讨会。除了发表一个辅导和主题演讲外,lee还被邀请在哥本哈根的闭幕招待会做餐后演讲。他选择模仿Robert...
用户61720 2007-01-05 00:18
行业应用软件项目经理三步曲
行业应用软件项目经理三步曲相信任何一个成功的项目经理,都会经历失败的郁闷,成功的喜悦。经常在论坛上会出现某某项目经理的辛酸泪控。外行领导内行的事,时时发生,处处发生。项目的压力就象一座大山一样压在项目...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条