第二章、寻址方式
汇编核心:汇编指令可以拆分为操作码和操作数,操作码是确定机器要做什么动作,而操作数是这个动作的对象,因此当操作码确定后,主要问题就是要找到操作数这个对象,对操作数进行处理,然而操作数可以放在不同的地方,对操作数进行处理时,需要找到操作数所存放的位置即地址,从而有了一系列的寻址方式
寻址方式:寻找操作数存放地址的方式。(通俗来说就是,寻找一个地址的方式或者说是怎样寻找到地址的)
注:找到了地址也就找到了操作数
操作数可以存放在三种不同的部件中:
1.CPU内的寄存器中
2. 主存储器中
3. I/O设备的端口中
分别对应下面三类寻址方式
寻址方式一共分为三大类:
1:寄存器方式(寄存器寻址)
2:存储器方式(寄存器间接寻址,变址寻址,基址加变址寻址,直接寻址)
3:立即方式(立即寻址)
一、寄存器寻址方式:
这种方式就是操作数存放在了一个已经指明了得寄存器中,找到这个操作数可以直接通过寄存器找到。
使用格式 R
功能:寄存器R的内容即为操作数
示例:INC BX
该条指令就是将操作数加一,操作码为INC,操作数为BX寄存器里所装的数,找到这个操作数可以直接用BX这个寄存器
二、寄存器间接寻址:
操作数的地址放在了指令指明的寄存器中,即要找到操作数的话,首先要找到寄存器,然后再根据寄存器中所存放的地址去主存储器去找操作数。
使用格式 [R]
功能:寄存器R的内容为操作数的偏移地址EA
注:在80X86中,R可以是:
32位:EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP
16位:BX,DI,SI,BP
如果R选用BP,EBP,ESP
【以后日常更新,会从第一章开始更新到最后一章,会慢慢的补起来的,参考教材为《80X86汇编语言程序设计》王元珍 曹忠升 韩宗芬 编著 华中科技大学出版社 】