SINGHUA 2.直接寻址 RSITY PRE 00100101011011010 直接寻址方式就是在指令中直接给出操作数所在存储单元 的地址。此时,指令中操作数部分是操作数所在地址 直接寻址方式的寻址范围是内部RAM,具体包括: 片内RAM的128个单元——在指令中以直接地址给出 特殊功能寄存器(SFR)——既可使用它们的地址,也可使用 它们的名字 清华大学出版社⑨
http://www.wenyuan.com.cn/webnew/ 2. 直接寻址 ◼ 直接寻址方式就是在指令中直接给出操作数所在存储单元 的地址。此时,指令中操作数部分是操作数所在地址。 ◼ 直接寻址方式的寻址范围是内部RAM,具体包括: ⚫ 片内RAM的128个单元——在指令中以直接地址给出。 ⚫ 特殊功能寄存器(SFR)——既可使用它们的地址,也可使用 它们的名字
SINGHUA 3.立即数寻址 RSITY PRES 00100101011011010 立即数寻址就是操作数在指令中直接给出,或者说指令操 作码后面立即给出一字节或两字节操作数。 指令中给出的操作数是立即数,立即数前加“#"号标志, 以区别直接寻址中的直接地址。 16位立即数传送指令“M0 V DPTR,# datal6″,其中 #data16是一个16位立即数 清华大学出版社⑨
http://www.wenyuan.com.cn/webnew/ 3. 立即数寻址 ◼ 立即数寻址就是操作数在指令中直接给出,或者说指令操 作码后面立即给出一字节或两字节操作数。 ◼ 指令中给出的操作数是立即数,立即数前加“#”号标志, 以区别直接寻址中的直接地址。 ◼ 16位立 即数传 送指 令“MOV DPTR ,#datal6” , 其中 #data16是一个16位立即数
SINGHUA 4.寄存器间接是址 SITY PRES 寄存器间接寻址是把指定寄存器的内容作为操作数地址, 该地址所指定的单元内容作为操作数。 为了区分寄存器寻址和寄存器间接寻址,在寄存器间接寻 址中,所用到的寄存器的前面要加间接寻址符“@"。 寄存器R0、R1和数据指针DPTR可以作为间接寻址寄存器。 清华大学, 出版社
http://www.wenyuan.com.cn/webnew/ 4. 寄存器间接寻址 ◼ 寄存器间接寻址是把指定寄存器的内容作为操作数地址, 该地址所指定的单元内容作为操作数。 ◼ 为了区分寄存器寻址和寄存器间接寻址,在寄存器间接寻 址中,所用到的寄存器的前面要加间接寻址符“@” 。 ◼ 寄存器R0、R1和数据指针DPTR可以作为间接寻址寄存器
4.寄存器接寻址 SITY PRES 00100101011011010 例如:寄存器R0内容为30H,片内RAM30H单元的内容为45H。 解:指令“M0VA,R0"的功能是将R0的内容30H传送给累加器A 指令执行结果是累加器A中的内容为30H。 指令“M0VA,@R0"的功能是将R0的内容30H作为操作数的 地址,根据这一地址找到内部RAM30H单元,将其内容45H 传送至累加器A,指令执行结果是累加器A中内容为45H。 RAM Ro 30H 地址 45H 30H 寄存器间接寻址示意图 45H 清华大学出版社⑨
http://www.wenyuan.com.cn/webnew/ 寄存器间接寻址示意图 例如:寄存器R0内容为30H,片内RAM 30H单元的内容为45H。 解:指令“MOV A,R0”的功能是将R0的内容30H传送给累加器A, 指令执行结果是累加器A中的内容为30H。 指令“MOV A,@R0”的功能是将R0的内容30H作为操作数的 地址,根据这一地址找到内部RAM 30H单元,将其内容45H 传送至累加器A,指令执行结果是累加器A中内容为45H。 RAM R0 地址 45H 30H 30H A 45H 4. 寄存器间接寻址
5.变址寻址(基址看存器变址寄存器间接寻址)m 变址寻址是以DPR或者P作为基址寄存器,其内容为基地 址,以累加器A作为变址寄存器,其内容为变址,并将两个 寄存器内容也就是基址和变址相加,形成16位操作数地址。 然后在程序存储器中找到该地址所对应的单元,其内容即 为操作数。 清华大学出版社⑨
http://www.wenyuan.com.cn/webnew/ 5. 变址寻址(基址寄存器+变址寄存器间接寻址) ◼ 变址寻址是以DPTR或者PC作为基址寄存器,其内容为基地 址,以累加器A作为变址寄存器,其内容为变址,并将两个 寄存器内容也就是基址和变址相加,形成16位操作数地址。 然后在程序存储器中找到该地址所对应的单元,其内容即 为操作数