HT48R05A-1数据存储器RAM容量为49x8位。它可分为两个功能组,特殊功能寄存器和通用数据存储(32x8)。这两个功能组的大部分单元可以读写,而某些单元只能读出,而不能写入。
所有的RAM区单元都能直接执行算术、逻辑、递增、递减和移位等运算,除了某些特殊的位以外,RAM中的每一位都可以由SET[m].i和CLR[m].i指令来置位和清除,它们都可通过存储器指针寄存器(MP:01H)间接寻址来存取。
· 间接寻址寄存器
地址00H是作为间接寻址寄存器。它没有实际的物理空间,任何对[00H]的读写 *** 作,都会访问由MP(01H)所指向的RAM单元,间接地读取[00H],将会返回00H,而间接地写入00H单元,则不会产生任何结果。
存储器指针寄存器MP的宽度是7位,MP的第7位是没有定义的,若读取它,将返回“1”,而任何对MP的写 *** 作只能将低7位数据传送到MP。
· 累加器(ACC)
累加器(ACC)与算术逻辑单元(ALU)紧密联系,它对应于RAM的地址05H,并能与立即数进行 *** 作,在存储器间的数据传送都必须经过累加器。
· 算术逻辑单元
算术逻辑单元是执行8位算术逻辑运算的电路,它提供如下功能:
·算术运算:(ADD、ADC、SUB、SBC、DAA)
·逻辑运算:(AND、OR、XOR、CPL)
·移位运算:(RL、RR、RLC、RRC)
·递增和递减运算:(INC、DEC)
·分支跳转:(SZ、SNZ、SIZ、SDZ)
算术逻辑单元ALU不仅会保存运算的结果而且会改变状态寄存器。
· 状态寄存器
8位的状态寄存器(0AH)由零标志位(Z)、进位标志位(C)、辅助进位标志位(AC)、溢出标志位(OV)、掉电标志位(PD)和看门狗定时器溢出标志位(TO)组成。该寄存器不仅记录状态信息,而且还控制运算顺序。
除了TO和PD以外,状态寄存器中的位都可用指令来改变,这种情况与其它寄存器一样,任何写到状态寄存器的数据不会改变TO和PD标志位。但是状态寄存器有关的运算会导致状态寄存器的改变,系统上电,看门狗定时器溢出或执行“CLR WDT”或“HALT”指令,能改变看门狗定时器溢出标志位(TO),系统上电,或执行“CLR WDT”或“HALT”指令,也能改变掉电标志位(PD)。
Z、OV、AC和C标志位都能反映当前的运算状态。
此外,在进入中断子程序或执行子程序调用时,状态寄存器的内容不会自动压入堆栈,如果状态寄存器的内容是重要的,而且子程序会改变状态寄存器的内容,那么程序员必须事先将其备份好,以免被破坏。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)