【寻址方式】直接寻址、位寻址、立即数寻址、寄存器寻址等
概念:
寻址——找操作数
1,给出操作数;
2,直接按照给出数据为地址,寻址;
3,以给出数据为地址找到数据,再以找到的数据为地址,寻需要的操作数;
先读百度百科《寻址方式》:
立即数寻址:
例如:MOV AX,10H,采用的是立即数寻址方式,这条指令(包含操作数AX和10H)被汇编器编译成一条机器代码,此指令执行前被加载到指令缓冲队列里,执行时CPU在读取此机器代码时就读取了10H,10H立即就可以被送往AX(而不用到寄存器或者内存中去取操作数),因此叫做立即数寻址,指令执行效率最高。
立即数寻址中的数字是指令的一部份,存储在代码段,执行是不用去取数据段中的数据
其实立即数寻址也就是不需要寻址,指令需要的数据就再指令中!
例如mov ax,10h反汇编后你就能看到再指令中就包含了10h,而其他的指令如mov ax,bx你就会发现指令中不包含bx中的数值(也就是你要的数)
例如mov ax,10h反汇编后你就能看到再指令中就包含了10h,而其他的指令如mov ax,bx你就会发现指令中不包含bx中的数值(也就是你要的数)
其实不管怎么样,寻址方式就市三种
数据在指令中,
数据在寄存器中
数据再内存单元中
数据在指令中就是立即数寻址了,(常数和符号常量都是立即寻址)
数据在寄存器中,通过指定寄存器号就可以了
数据在内存中就需要偏移地址,偏移地址也是数据
根据偏移地址存在的位置不同又可以细分(偏移地址在指令中,偏移地址在寄存器中,偏移地址在内存中)
位寻址:
单片机中,字节寻址是一次寻址八个位(bit),位寻址方式是一次只能寻址一个位(bit)