CY7C63722C
CY7C63723C
CY7C63743C
编程模型
参阅
CYASM汇编器用户指南
有关更多细节
与CY7C637xxC微控制器固件的操作。
再递减,并且第一个字节是从存储器恢复
由PSP解决。之后,程序计数器和标志有
已经恢复从堆栈,中断使能。效果
是恢复程序计数器和标志从程序
栈,由两个递减程序堆栈指针和重新启用
中断。
调用子程序( CALL )指令存储方案
计数器和标志的程序栈,并增加了PSP
由两位。
从子程序返回( RET )指令恢复
程序计数器,而不是标志,从程序堆栈和
两个递减PSP 。
请注意,有在使用JMP ,CALL限制,并
在整个计划中的4 - K字节边界指标说明
内存。参阅
CYASM汇编器用户指南
一
详细说明。
程序计数器(PC)的
14位程序计数器( PC)允许访问多达8
使用CY7C637xxC架构EPROM的字节。该
复位期间,程序计数器被清零,使得第一
指令复位后执行的是在地址0x0000 。这
指令通常是一个跳转指令的复位处理程序
初始化应用程序。
低8位程序计数器的递增作为
指令被加载并执行。的高位6位
程序计数器是通过执行一个XPage递增
指令。其结果,最后一个指令内的一个执行
256字节的顺序代码“页”应该是一个XPage
指令。汇编指令“ XPAGEON ”将导致
汇编程序自动插入XPAGE说明。如
指令可以是一个或两个字节长,则汇编
有时可能需要插入一个NOP之后的XPAGE
为正确执行。
将要执行的下一条指令的程序计数器,携带
标志和零标志被保存为在程序栈两个字节
在中断期间确认或CALL指令。该
程序计数器,进位标志,零标志从恢复
仅在RETI指令程序堆栈。
请注意,程序计数器不能被直接访问
固件。程序堆栈可以通过阅读来检验
SRAM的地址0x00以上。
8 - bit数据堆栈指针( DSP )
数据堆栈指针( DSP)支持PUSH和POP指令
使用临时存储的数据堆栈系统蒸发散。一推
指令将预减的DSP ,然后写数据到
存储器位置寻址,由DSP 。会POP指令
从由DSP处理的存储器位置读取数据,然后
后递增的DSP 。
在复位时,数据堆栈指针将被设置为零。一推
指令时, DSP等于零将在的上方写入数据
数据RAM (地址为0xFF ) 。这将数据写入到存储器
预留一个FIFO USB端点0。在非USB应用程序领域
阳离子,这工作得很好,是没有问题的。
对于USB应用程序,固件应该将DSP到
适当的位置,以避免与RAM内存冲突
致力于USB的FIFO 。为USB存储器的要求
端点示于节。例如,装配指令
系统蒸发散来设置DSP以20H (给予32个字节用于程序和数据
叠合并)如下所示。
MOV A , 20H
;移动20进制到累加器(必须是D8H
以下,以避免USB的FIFO )
SWAP A, DSP ;交换累加器的值到DSP寄存器
8位累加器(A )
蓄能器是通用的,尽一切寄存器
中的体系结构,其中的结果通常是计算出来的。
8位变址寄存器( X)
变址寄存器中的“X”是可用的固件作为辅助
累加器。 X寄存器也使处理器执行
通过加载一个索引值X.索引操作
8位的程序堆栈指针( PSP )
在复位时,程序堆栈指针(PSP)被设置为零。
这意味着该计划“堆栈”开始于RAM地址为0x00和
“成长”上升到了。需要注意的是该程序的堆栈指针
在固件控制下直接寻址,采用MOV
PSP ,A指令。 PSP的支持下,中断服务
在硬件控制和CALL , RET和RETI指令
固件控制之下。
在中断期间承认,中断被禁用,
程序计数器,进位标志,零标志写为2
字节的数据存储器。第一个字节被存储在存储器
该方案堆栈指针指向,那么PSP是增量
mented 。第二字节被存储在存储器的寻址
程序的堆栈指针和PSP被再次递增。该
净效应是存储程序计数器和标志上的
程序“堆栈”和由两个递增程序栈指针。
中断返回( RETI )指令递减
程序的堆栈指针,然后恢复从第二字节
内存由PSP解决。程序堆栈指针
地址模式
该CY7C637xxC微控制器支持三种解决
模式适用于要求数据运算指令:数据,直接,
和索引。
数据
在“数据”地址模式指的是数据操作数,实际上是
一个恒定编码的指令。作为一个例子,考虑
加载一个与不变的0x30指令:
■
MOV A ,30H
该指令将需要2字节的代码,其中第一字节
识别与数据的操作数作为的“ MOV A ”指令
第二个字节。该指令的第二个字节将是
恒“ 0xE8h ” 。常量可如果提到的名字
前“ EQU ”语句分配常数的名称。
例如,下面的代码等同于例
如上所示。
■
DSPINIT : EQU 30H
文件编号: 38-08022牧师* E
53第4页