第3章_指令系统及汇 3.22立即寻址 操作数直接出现在指令中,它紧跟在操作码的后面, 作为指令的一部分与操作码一起存放在程序存储器内 可以立即得到并执行,不需要另去寄存器或存储器等处 寻找和取数,故称为立即寻址。该操作数称为立即数, 并在其前冠以“#”号作前缀,以表示并非地址。立即 数可以是8位或16位,用十六进制数表示
第3章 指令系统及汇编 3.2.2 立即寻址 操作数直接出现在指令中, 它紧跟在操作码的后面, 作为指令的一部分与操作码一起存放在程序存储器内, 可以立即得到并执行, 不需要另去寄存器或存储器等处 寻找和取数, 故称为立即寻址。 该操作数称为立即数, 并在其前冠以“#”号作前缀, 以表示并非地址。 立即 数可以是8位或16位, 用十六进制数表示
第3章_指令系统及汇 例如:MOVA,#OFH;(A)←OFH 该指令的功能是将立即数OFH传送到累加器A中, 对应的机器码为74H。它隐含了寄存器寻址累加器A方 式,长一个字节,占用一个存储单元;立即数OFH紧跟在 操作码之后,成为指令代码的一部分,长也是一个字节, 占用紧跟在后面的另一个存储单元。故该指令为双字 节指令,其机器码为74HOFH
第3章 指令系统及汇编 例如: MOV A, #0FH ; (A)←0FH 该指令的功能是将立即数0FH传送到累加器A中, 对应的机器码为74H。 它隐含了寄存器寻址累加器A方 式, 长一个字节, 占用一个存储单元; 立即数0FH紧跟在 操作码之后, 成为指令代码的一部分, 长也是一个字节, 占用紧跟在后面的另一个存储单元。 故该指令为双字 节指令, 其机器码为74H 0FH
第3章_指令系统及汇 3.2.3寄存器间接寻址 由指令指出某一个寄存器的内容作为操作数地址的 寻址方法,称为寄存器间接寻址方法,简称寄存器间址 这里要强调的是:寄存器的内容不是操作数本身,而是操 作数地址。 寄存器间接寻址使用所选定寄存器区中的RO和R1作 为地址指针(对堆栈操作时,使用堆栈指针SP),来寻址 片内数据存储器RAM(00~FFH)的256个单元,但它不 能访问特殊功能寄存器SFR。寄存器间接寻址也适用于 访问外部数据存储器,此时,用RO、R1或DPTR作为地址 指针。寄存器间接寻址用符号“@″指明
第3章 指令系统及汇编 3.2.3寄存器间接寻址 由指令指出某一个寄存器的内容作为操作数地址的 寻址方法, 称为寄存器间接寻址方法, 简称寄存器间址。 这里要强调的是: 寄存器的内容不是操作数本身, 而是操 作数地址。 寄存器间接寻址使用所选定寄存器区中的R0和R1作 为地址指针(对堆栈操作时, 使用堆栈指针SP), 来寻址 片内数据存储器RAM(00~FFH)的256个单元, 但它不 能访问特殊功能寄存器SFR。 寄存器间接寻址也适用于 访问外部数据存储器, 此时, 用R0、 R1或DPTR作为地址 指针。 寄存器间接寻址用符号“@”指明
第3章_指令系统及汇纟 片内RAM 寄存器R180H 80H 2FH 累加器A2FH 图3—1寄存器间接寻址示意图
第3章 指令系统及汇编 图3―1 寄存器间接寻址示意图
第3章_指令系统及汇 3.24直接寻址 指令中直接给出操作数所在的存储器地址,以供寻 址取数或存数的寻址方式称为直接寻址。 例如:MOVA,40H;(A)←(40H 该指令的功能是把内部数据存储器RAM40H单元 内的内容送到累加器A。指令直接给出了源操作数的 地址40H。该指令的机器码为E5H40H
第3章 指令系统及汇编 3.2.4 直接寻址 指令中直接给出操作数所在的存储器地址, 以供寻 址取数或存数的寻址方式称为直接寻址。 例如: MOV A, 40H ; (A)←(40H) 该指令的功能是把内部数据存储器RAM 40H单元 内的内容送到累加器A。 指令直接给出了源操作数的 地址40H。 该指令的机器码为E5H 40H