
SX48BD/SX52BD
5.0
5.1
存储器组织
程序存储器
有三种不同的寻址模式,称为
间接的,直接的和半直接模式。寻址
用于寄存器访问模式依赖于5位的“ fr”表示
在指令中使用的值:
间接模式: FR = 00H
直接模式(FR位4 = 0): FR = 01h至0Fh时
半直接模式(FR位4 = 1): FR = 10小时通过1Fh的
图5-1给出了数据存储器寻址
方案。
对于间接寻址( FR = 00 ) ,文件选择寄存器
(FSR)指定要访问的寄存器。 FSR是一个8
位,存储器映射寄存器(地址为04H ),这
作为一个8位的指针到数据存储器,用于间接
寻址。在这种模式下,全局寄存器组和
1银行通过银行F分别访问。银行0不
访问。
直接寻址(FR = 01-0F ) , “ fr”表示本身的值
指定要访问的寄存器,并且将FSR寄存器
器被忽略。对于这种寻址模式下,只有全局
寄存器组可以访问。获得的任何其它接入
银行,你必须使用间接或半直
寻址。
半直接寻址( FR = 10-1F ) ,银行数
选择由FSR的四个高阶比特,而
该银行办理注册手续,被选中的四个低位
的比特“ FR ”。换言之,寄存器地址是
结合FSR的高4位获得
以“ FR ”四个低位。在这种寻址
模式下, FSR的低阶位被忽略。银行0
通过组F都可以访问,但全球注册
银行是无法访问的。
图5-1显示了如何注册在解决工程
间接的,直接的和半直接模式。 16全球
寄存器总是用直接寻址访问,
不管包含在FSR寄存器。该
全局寄存器也间接寻址访问
荷兰国际集团,但它们不与半直接寻址访问
ING 。 16个全局寄存器中,九是特殊用途
寄存器( RTCC ,PC状态,等等) ,和6顷
通用寄存器。位置00是用于indi-
间接寻址( INDF ) 。所有的银行寄存器0
尽管央行F为通用寄存器。
改变FSR寄存器的内容时,程序
可以写一个8位的值在FSR寄存器或
使用“银行”的指令。该“银行”指令写入
位4,5 ,和6中的FSR寄存器。位的FSR的7用来
选择存储体的上部或下部“银行” 。因此,
从一个上层堤改变到另一种,只有一个单一的
“银行”指令是必需的。从一个上改变
银行以较低的银行, “银行”指令必须跟着
通过“ SETB FSR.7 ”钮。
程序存储器被组织成4K , 12位宽
话。程序存储器字寻址
依次用二进制程序计数器。在复位时,该
程序计数器与0FFFH初始化。如果不存在
分支操作,它会递增到最大值
可能的设备和翻转,重新开始。
在内部,该程序存储器具有半透明
页面结构。一个页面由512个连续
程序存储器字。低9位的亲
克计数器是零,在一个页面中的第一个地址,并
那些在一个页的最后一个地址。此页面结构
对程序计数器没有影响。该计划
计数器将通过页面随意增加bound-
白羊座。
5.1.1程序计数器
程序计数器中包含的12位地址
要被执行的指令。的低8位的亲
克计数器包含在PC寄存器( 02h中) ,并
三个高位由状态寄存器指定
( PA0 , PA1 , PA2 ) 。第8位是无法访问的。更改
状态位是必要的,使转移和子例程
电话
横过
程序存储器页边界。之前
分支操作的执行,用户程序
必须初始化状态寄存器的高位到
导致分支到所需的页面。另一种
一种方法是使用Page指令,该指令automati-
美云导致分支到所需页面,基于所述
在操作字段中指定的值。
5.1.2子程序堆栈
子程序堆栈由8个12位寄存器保存
字符。寄存器的内容从亲的物理传输
程序计数器堆栈,反之亦然,而内
栈,发生影响的叠加, prima-所有操作
rily调用和返回。堆栈是物理上和逻辑
从数据RAM分开。该程序无法读取或
写堆栈。
5.2
数据存储器
数据存储器是一种基于RAM的寄存器组由
262个通用寄存器和九个专项陈建
构成寄存器。所有这些寄存器是8位宽。
数据存储器被分成16家银行,指定
银行0到银行女,每个都包含16个寄存器,
加16 “全球性”的寄存器额外的银行。因为
寄存器被组织成银行或“文件”,这些
存储器映射寄存器被称为“文件寄存器”。
5.2.1寻址模式/ FSR
每SX的指令访问一个数据存储寄存器
器包含在指令操作码5比特字段,该字段
指定要访问的寄存器。缩写
“ fr”表示(文件寄存器)表示的5位寄存器地址
代号。例如,指令说明“ MOV
FR ,W “是指一个5位值或标签必须substi-
tuted在指令“ fr”表示,如“ MOV $ 0F , W”(以
移动工作寄存器W的内容到文件稳压
存器的0Fh ) 。
2002 Ubicom的, Inc.保留所有权利。
- 18 -
www.ubicom.com