UPD78F0411 CPU指令地址寻址
发布时间:2012-12-21 17:51
发布者:zbzb12345
关键词:
UPD78F0411 , CPU
UPD78F0411 CPU指令地址寻址 一条指令的地址是由程序计数器(PC)决定的。根据执行指令时所获取的下一条指令字节数,程序计数器(PC)的内容自动增加(每个字节加1)。在执行转移指令时,将程序计数器(PC)的内容设置为转移目的地址,并按以下寻址方式确定地址。(要了解每条指令的详细信息,请参阅78K/0 系列指令用户手册(U12326E))。 1.1 相对寻址 [功能] 将一条指令的8 位立即数(偏移量: jdisp8)与下一条指令的起始地址相加,结果赋给程序计数器(PC),然后转向相加结果指向的地址。这个偏移量是带符号数的补码(–128 ~ +127),其中第7 位是符号位。 换句话说,在相对寻址中,分支的范围是从下一条指令起始地址的-128 到+127 之间。 当执行“BR $addr16”指令或条件转移指令时,将执行相对寻址功能。 1.2 立即寻址 [功能] 将指令中的立即数赋给程序计数器(PC),然后转向该地址。 在执行“CALL !addr16”指令、“BR !addr16”指令或“CALLF !addr11”指令时,将执行立即寻址功能。 CALL !addr16 和BR !addr16 指令的转移地址范围是所有存储空间。 CALLF !addr11 指令的转移地址范围在0800H 与0FFFH 之间。 [图示] CALL !addr16 和BR !addr16 指令 1.3 表间接寻址 [功能] 通过指令码第1 位到第5 位的立即数,访问特定存储区中表的内容(转移目的地址),并将表的内容赋给程序计数器(PC),然后转向该地址执行程序。 在执行CALLT [addr5]指令时,进行表间接寻址。 该指令访问的地址范围是表40H~7FH 中所存储的地址,转移地址范围可以是整个存储器空间。 1.4 寄存器寻址 [功能] 将寄存器对(AX)的内容赋给程序计数器(PC),然后转向该地址。 “BR AX”指令将执行寄存器寻址功能。 文章来源:http://www.originic.hk/Item/Show.asp?m=1&d=1767 |
网友评论