
系统编程/ C165 / C163
17
系统编程
为了帮助软件开发,多项功能已被纳入指令集
的C165 / C163 ,包括构造为模块化,循环和上下文切换。在许多情况下
同时提供了更大的灵活性常用指令序列已被简化。该
下面的编程功能利于充分利用这一指令集。
说明中提供的指令子集
在许多情况下,在其他微处理器中的指令被提供作为多亚
在C165 / C163功能强大的指令。这使得可以同时提供相同的功能
减少所需的硬件和降低解码复杂度。为了有助于装配
编程,这些指令,从其他熟悉的微控制器,可内置于宏,从而
提供相同的名称。
直接可替代性说明
是从其它微控制器,可以是公知的指令
取而代之的是C165 / C163的以下说明:
替补指令
CLR
CPLB
DEC
INC。
SWAPB
Rn
位
Rn
Rn
Rn
C165 / C163指令
和
BMOVN
子
添加
ROR
RN , # 0
H
位,位
RN , # 1
H
RN , # 1
H
RN , # 8
H
功能
清除寄存器
补位
递减寄存器
增量寄存器
交换字节字以内
修改系统的标志
通过置位或位清零指令( BSET , BCLR )执行。
所有的位和字节的指令可以访问寄存器PSW ,所以像清零进没有说明或
允许中断是必需的。
外部存储器数据访问
不需要特殊的指令来加载数据的指针或
显式地加载和保存外部数据。在C165 / C163提供了冯·诺依曼存储器
建筑和它的片上硬件自动检测访问到内部RAM ,GPRS和
特殊功能寄存器。
乘法和除法
乘,字和双字的划分是通过多周期指令提供
实施布斯算法。每个指令隐含使用32位寄存器MD ( MDL =
低16位, MDH =高16位) 。该MDRIU标志(乘法或除法注册使用)寄存器
MDC设置每当这个寄存器的一半被写入时或乘法/除法指令
开始。它被清除每当MDL寄存器被读取。由于中断可以被确认
寄存器MD的内容被保存之前,该标志需要提醒的中断例程,
需要使用乘法/除法的硬件,这样他们就可以保持寄存器MD 。这个寄存器,
然而,只需要当一个中断程序需要使用的MD寄存器和一个将要保存
半导体集团
17-1