1. 立即寻址
例: MOV A , #10H ;将立即数 10H 送给 A 累加器,即 (A) ← 10H 注意:立即数的前面必有 “#” 标志。 2.直接寻址 例: MOV A , 36H ;将内部 RAM 中 36H 单元内的数据 送到累加器 A 中,即 A ← (36H) 在上面这条指令中,带下划线的操作数是所在存储单元的地址,这种寻址方式称为直接寻址。直接寻址方式中操作数所在存储器的空间有板有 3 种 : (1) 内部数据存储器的 128 个字节单元 ( 内部数据存储器地址 00H~7FH) (2) 位地址空间 . (3) 特殊功能寄存器 , 特殊功能寄存器只能用直接寻址方式进行访问 . 3.寄存器寻址 (Rn) 例: MOV A, R3 ;将通用寄存器 R3 中的数据送给 A ,即 A ← (R3) 在上面这条指令中,带下划线的操作数 ( 源操作数 ) 是当前工作寄存器区 的某个寄存器,这种寻址方式称为寄存器寻址。 比如: XCH A, R1 ;累加器 A 和寄存器 R1 中的数互换 ADD A, R2 ; 累加器 A 和寄存器 R2 中的数相加 4.间接寻址 例: MOV R0, #30H MOV A , @R0 ;以 R0 中的内容作为操作数的地址 .A ← ((R0)). 在上面的指令中,带下划线的不是 R0 ,而是以( R0 )为地址,间接找到内部 RAM 中的 30H 单元,将 (30H) 送给 A ,这种寻址方式称为寄存器间接寻址。 可用 R0、R1 和 DPTR 作间址寄存器,访问片内 RAM 或片外 64KB 的 RAM 地址空间。 比如: MOV DPTR, #0CFA0H ;将十六位地址 CFA0H 赋给数据指针 DPTR MOVX A, @DPTR ;将片外 RAM ( CFA0H )单元内的数送给 A 5.基址加变址寻址 6.相对寻址 7.特定寄存器寻址 |
电工学习网 ( )
GMT+8, 2023-4-4 12:03