本帖最后由 杨为民 于 2023-12-10 23:14 编辑
STC8H MDU32+功能设计 1. STC MDU32+简介(1)STC MDU32+是一款32位多功能数字运算单元。 (2)STC MDU32+使用一组扩展的32位/16位/8位通用寄存器来实现扩展运算的功能。 (3)由于STC8H的DATA空间很小,并且Keil的C51编译器缺省只使用8051的BANK0寄存器地址(DATA地址范围为00H~7H),因此STC MDU32+的扩展通用寄存器映射到地址00H~0FH的DATA空间,可以用传统的8051指令对其内容进行存取,实现了对8051的兼容。 (4)除了扩展通用寄存器,STCMDU32+还包含了一个扩展操作寄存器EOP(SFR)和一个扩展状态寄存器ESR以及一个扩展操作出错(比如除以0,操作溢出)专用中断INT_MDU32。
2. STC MDU32+寄存器8位、16位、32位地址映射表
STC8H单片机系列 在同一地址的不同名寄存器存取的内容是一样的。寄存器的高位在低地址。
3. STC MDU32+基本操作
(1)寄存器操作
(2)双操作数算术运算 操作助记符 | | | | | | | | | | | | | | | | | | | | | | | | | | 32位无符号除法,结果32位商在EAX,32位余数在EBX | | | 32位有符号除法,结果32位商在EAX,32位余数在EBX | | | 16位无符号除法,结果16位商在AX,16位余数在AX2 | | | KEIL编译器的16位无符号除法,结果16位商在AX,16位余数在AX2 | | | 16位有符号除法,结果16位商在AX,16位余数在AX2 | | | KEIL编译器的16位有符号除法,结果16位商在AX,16位余数在AX2 |
(3)单操作数算术运算
(4)二进制按位运算
(5)位移运算
(6)高精度/快速运算 操作助记符 | | | | | 32位混合乘除,先乘为64位中间结果,再除为32位结果在EAX | | | 16位混合乘除,先乘为32位中间结果,再除为16位结果在AX | | | 32位线性定标,中间结果为64位(不损失精度)。EAX为测量值,EBX为零点值,ECX为满刻度信号值,EDX为AD变换级数 | | | 16位线性定标,中间结果为32位(不损失精度)。AX为测量值,BX为零点值,CX为满刻度信号值,DX为AD变换级数 | | | |
以上是根据个人编程经验的总结出来的,提出给大家分享和讨论。希望通过对STC8H系列单片机增加MDU32+硬件处理器的方法,将STC8H系列8位单片机的核心性能提高到32位的水平,为用户提供一款低价位高性能的8051单片机。
如果MDU32+实现了上述功能,本质上是为8位的CISC的8051内核增加一颗32位的RISC的APU,这将使STC8H成为第一颗双核的8051单片机
|