哎!清明节,真不好过,呆在寝室,可以说处于无奈,三天的假,下了两天的大雨,这叫人怎么不难受!没有办法的办法,只有继续的宅呗。 记得胡哥那天的告诉的我的windows操作系统中的debug,瞬间发现有时事情做了。打开debug,我的天这是什么东东,看不懂!感觉十是天书,不过看起真叫人一个字 爽!哈哈!陌生的东西对于我来,也许是吸引力很大。经过一个下午的查资料,不断的看,原来debug 是个用来调试程序的,对于程序的每一步的追踪,查看整个程序的流程!不过悲剧的是,这竟是什么
AX,BX,CX,DX,CS,IP,SI,BP,Di,SP,SS,ES,DS 还有NV UP EI PL NZ NA PO NC 看不懂,对于这一些我只能说我无语。但是这真的让人值得我去了解。键入-u命令,我只能说出现了我有点看的懂的东西,因为这个胡哥跟我说过时反汇编。呵呵!
机会来了,这就是汇编吧!听说汇编是最难的计算语言,而且学起来超级恐怖,几乎是没有什么对此感兴趣,至少在我周围的人中!这不得不让我高兴!先前一直想写个病毒,发现用java写是个很没有技术含量(自己的技术的问题吧!可能),听说病毒大部分是用C与汇编写的,哈哈!这刚符合我口味,对上我写病毒的号。下面就开始吧!&lt;/p&gt;<br>&lt;p&gt; 首先,我肯定的说学习汇编真的很头疼,特别是对于我这样一个大二的学生来说,计算机课开的少,学的都还是基础知识,cpu不就电脑的一个处理器吗?内存不就是我们天天所说的程序的运行的调用,数据的访问于存储!我不得不汗的是:我想问,CPU里面有什么东东?内存的地址是怎么回事?数据时怎么存储?栈有是什么?堆又是什么?键盘?显示器?种种的一切是怎么工作的,瞬时间,真的好像去了解,主要是怎么可以有利于我写病毒?哈哈!!! 经过本人的不断努力,终于有了一点眉目。 对于AX,Bx,CX..........哒哒的这英文字母,原来就是寄存器
寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC);
在我们的计算机中,对于8086的寄存器有14个16位的寄存器,而8088这个我就没有具体的去了解,寄存器是8位的里面,至于有几个,应该比8086的少。在8086的的这14个寄存器(就是上面说的AX,BX,CX....)
中它们各有所用,其中按用途分类分为1.通用寄存器,2.指令寄存器,3.标志寄存器,4.段寄存器
通用寄存器(AX,BX,CX,DX)
1.AX(累加寄存器):用于运算,在乘除等指令中存放操作数,还有非常重要的就是所有的IO指令都使用这一寄存器与外界设备传送数据。
在这里,你能会问:什么是指令?什么是操作数?,又什么是IO?指令就是叫他做什么,操作数就是我们要调用的数据,IO吗就是端口,就是连接的通道。
2.BX(基址寄存器):用于地址的索引,不过存数据也可以。
3.CX(计数寄存器):常用于计数,保存计算值,如循环(loop指令),移位指令,串处理指令。
4.DX(数据寄存器):常用于数据的传递。
这4个寄存器,我最常用的,也应该是我们最应该了解的。这16位寄存器有高低位之分,AH为高,AL为低,这是AX。BX分(BH,BL)后面的CX,DX同理呗。在这里我想讲讲16位?比如说1011,1110,0000,1010; 就是16个二进制码,而AH占8位1011,1110,而Al占8位0000,1010。我们都知道8位的二进制码为一个byte(也就是我们所说的字节),因而一个通用寄存器器中可以存储2个byte,也就是一个字 。这点非常重要。因为只有这样我们才能更好的利用。