
HT95AXXX
HT95A400/40P
指令(S )
TABRDC [M]。
TABRDL [M]。
HT95A300/30P
指令(S )
TABRDC [M]。
TABRDL [M]。
表中的位置
*12
P12
1
*11
P11
1
*10
P10
1
*9
P9
1
*8
P8
1
*7
@7
@7
*6
@6
@6
*5
@5
@5
*4
@4
@4
*3
@3
@3
*2
@2
@2
*1
@1
@1
*0
@0
@0
表中的位置
*13
#5
1
*12
#4
1
*11
#3
1
*10
#2
1
*9
#1
1
*8
#0
1
*7
@7
@7
*6
@6
@6
*5
@5
@5
*4
@4
@4
*3
@3
@3
*2
@2
@2
*1
@1
@1
*0
@0
@0
HT95A200 / 20P , HT95A100 / 10P
指令(S )
TABRDC [M]。
TABRDL [M]。
表中的位置
*11
P11
1
*10
P10
1
*9
P9
1
*8
P8
1
*7
@7
@7
*6
@6
@6
*5
@5
@5
*4
@4
@4
*3
@3
@3
*2
@2
@2
*1
@1
@1
*0
@0
@0
注: * 13 * 0 :表格地址位
@ 7 @ 0: TBLP寄存器位7 位0
ISR (中断服务程序)都用到表
读指令时, TBLH的内容在主
例程是有可能改变由表格读取指令
梁支用于ISR。那么错误就会发生。因此,
同时使用查表指令的
应避免主程序和中断服务程序。但是,如果
该表中读出的指令,无论在所述被应用
主程序和中断服务程序,中断应该显示
表前体健读取指令。这不会是烯
体健,直到TBLH已经备份。所有的表
相关指令需要两个周期才能完成
操作。这些区域可以作为正常的亲
克存储器取决于需求。
堆栈寄存器
这是存储器的哪个被用于特殊的一部分
只保存程序计数器的内容。该
堆栈分为12个级别( HT95A400 / 40P ) , 8列弗
ELS ( HT95A300 / 30P , HT95A200 / 20P )或4级
( HT95A100 / 10P ),是数据,也没有部分无分
程序空间中,并且是不可读
可写。该层由堆栈索引
指针( SP ),并且是不可读写。在一
子程序调用或中断响应信号,犯人
程序计数器的内容被压入堆栈。
当子程序或中断服务程序结束时,显
返回指令二溴磷( RET或RETI ) ,程序
计数器恢复到其从堆栈中前一个值。
在系统复位后, SP将指向堆栈的顶部。
如果堆栈已满,且有中断发生,该间
中断请求标志会被记录下来,而确认
即使此中断使能信号将被禁止。
当堆栈指针(执行RET或
修订版1.20
8
# 7 # 0 : TBHP寄存器位7 位0
P12 P8 :当前程序计数器位
RETI ) ,中断将被响应。此功能前
通风口堆栈溢出,使得程序员使用
更容易构建。如果堆栈已满,且有
CALL子程序
is
随后执行,发生堆栈溢出和
第一项将被丢失(只有最近的12,8或4 ,去
待处理各种MCU类型,返回的地址是
存储) 。
数据存储器
数据存储器被划分成三个官能团:
特殊功能寄存器,嵌入式控制寄存器
和通用存储器。大多数是可读/写的,但
有些是只读的。
特殊功能寄存器位于从00H到
1FH 。嵌入式控制寄存器位于所述
存储区从20H到3FH 。剩余的空间
前的下表中的这些未指定
40H保留供未来扩展使用,读
荷兰国际集团这些地址的
00H.
通用
数据存储器被分成15家银行( HT95A400 / 40P )
11家银行( HT95A300 / 30P ) , 6家银行( HT95A200 / 20P )或
2银行( HT95A100 / 10P ) 。在RAM银行都
从40H到0FFH寻址并且它们由选
设置存储区指针( BP )的值。
所有的数据存储器单元可以处理运算,
逻辑,递增,递减和循环操作
正确。除了一些特殊位,在每个位
数据存储器可以设置和复位
Set
[M ] .i或
CLR
[M ] .i指令。而且都可以通过间接访问
内存指针寄存器( MP0或MP1 ) 。该
BANK1 bank14只能间接地通过访问
内存指针寄存器1 ( MP1 ) 。
2004年5月26日