CN103246509A - 一种微处理器数据操作定义方法及装置 - Google Patents
一种微处理器数据操作定义方法及装置 Download PDFInfo
- Publication number
- CN103246509A CN103246509A CN2013101156915A CN201310115691A CN103246509A CN 103246509 A CN103246509 A CN 103246509A CN 2013101156915 A CN2013101156915 A CN 2013101156915A CN 201310115691 A CN201310115691 A CN 201310115691A CN 103246509 A CN103246509 A CN 103246509A
- Authority
- CN
- China
- Prior art keywords
- module
- load module
- connects
- character
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及一种微处理器数据操作定义方法及装置,包括用于计算线性方程中某一点的坐标值的解整数线性方程单元;用于进行循环冗余校验等的校验计算单元;用于计算时间间隔的时间计算单元;用于获取与MODBUS数据帧匹配的数据帧的协议处理单元;用于进行多种数据格式间的相互转换的字符转换单元;用于从外部设备传送数据给接收存储器或者从发送存储器向外部设备发送数据的串口操作单元;用于将录入最多的字符存储在寄存器中的读取输入法内容单元;用于将无符号整数加上增加量后存储于动态曲线缓冲区中的写指定通道动态曲线缓冲区单元;用于到汉字库中搜索待搜索字符串的汉字库操作单元。本发明实现一条指令完成多条指令功能,使指令运用更加简单、方便。
Description
技术领域
本发明涉及一种微处理器数据操作定义方法及装置。
背景技术
目前工业自动化行业的通讯处理软件,由于行业、产品功能、协议的区别,差异较大,各个企业开发部门使用的开发环境也不尽同,每个基本的功能(通讯、数据处理等)都需要自己从底层填写代码,工作量大,重复劳动多。
发明内容
本发明所要解决的技术问题是提供一种利用一条指令实现多条汇编指令实现功能的微处理器数据操作定义方法及装置。
本发明解决上述技术问题的技术方案如下:一种微处理器数据操作定义方法,以下步骤:
步骤1:线性连接输入模块建立与所述解整数线性方程模块的连接,获取输入的包括有点坐标信息的运算参数信息;
步骤2:在解整数线性方程模块与线性连接输入模块建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
采用上述进一步方案的有益效果是用户只需提供待处理的数据参数及选择处理功能,即可得到对应结果,无需再自行编程处理数据。
进一步,一种微处理器数据操作定义装置,包括解整数线性方程单元,所述解整数线性方程单元包括线性连接输入模块和解整数线性方程模块;
所述线性连接输入模块,用于建立与所述解整数线性方程模块的连接,获取输入的包括有点坐标信息的运算参数信息;
所述解整数线性方程模块,用于在线性连接输入模块建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
采用上述进一步方案的有益效果是直接得到由16bit整数(X0,Y0)、(X1,Y1)两点确定的直线上的X,对应的Y值。
进一步,所述数据操作定义装置还包括校验计算单元,所述校验计算单元包括校验连接输入模块和校验计算模块;
所述校验连接输入模块,用于与所述校验计算模块建立连接,获取输入的包含有输入参数的存储位置、输出参数的存储位置及移位次数的校验参数信息;
所述校验计算模块,用于在与所述校验连接输入模块建立连接之后,将校验连接输入模块获取的校验参数信息中的输入参数按照移位次数进行移位,并将移位结果存入输出参数的存储位置。
采用上述进一步方案的有益效果是通过一条指令直接得到对序列数据计算CRC、字节累加和校验、字节异或校验值。
进一步,所述数据操作定义装置还包括时间计算单元,所述时间计算单元包括时间连接输入模块和时间计算模块;
所述时间连接输入模块,用于与所述时间计算模块建立连接,获取输入的含有两个时间参数、及模式选择参数的时间计算参数信息;
所述时间计算模块,用于在与所述时间连接输入模块建立连接之后,将时间连接输入模块获取的时间计算参数信息中的两个时间参数按照模式选择参数计算相对值。
采用上述进一步方案的有益效果是通过一条指令直接得到指定两点时间间隔。
进一步,所述数据操作定义装置还包括MODBUS协议单元和DL/T645协议单元;
所述MODBUS协议单元包括MODBUS连接输入模块和MODBUS检测模块;
所述MODBUS连接输入模块,用于与所述MODBUS检测模块建立连接,获取输入的MODBUS数据帧前三个字节的存储位置、MODBUS数据帧与FIFO寄存器数据帧的匹配结果的存储位置和匹配后MODBUS数据帧的存储位置;
所述MODBUS匹配模块,用于在与所述MODBUS连接输入模块建立连接之后,将FIFO寄存器数据帧与MODBUS数据帧进行对比,并在FIFO寄存器数据帧与MODBUS数据帧匹配时,将MODBUS数据帧存储在MODBUS连接输入模块获取的匹配后MODBUS数据帧的存储位置中;
所述DL/T645协议单元包括DL/T645连接输入模块和DL/T645检测模块;
所述DL/T645连接输入模块,用于与所述DL/T645检测模块建立连接,获取DL/T645数据帧前三个字节的存储位置、DL/T645数据帧与DL/T645寄存器数据帧的匹配结果的存储位置和匹配后DL/T645数据帧的存储位置;
所述DL/T645匹配模块,用于在于所述DL/T645连接输入模块建立连接之后,将DL/T645寄存器数据帧与DL/T645数据帧进行对比,并在FIFO寄存器数据帧与DL/T645数据帧匹配时,将DL/T645数据帧存储在所述DL/T645连接输入模块获取的匹配后DL/T645数据帧的存储位置中。
采用上述进一步方案的有益效果是运用一条指令检查COM0接收FIFO是否有满足要求的MODBUS或DL/T645的数据帧,如果有则读取数据到寄存器并清空接收FIFO,兼容不同的通讯协议。
进一步,所述数据操作定义装置还包括字符转换单元,所述字符转换单元包括字符连接输入模块和字符转换模块;
所述字符连接输入模块,用于与所述字符转换模块建立连接,并获取待转换字符的存储位置,转换后字符的存储位置及转换模式;
所述字符转换模块,用于在与所述字符连接输入模块建立连接之后,对待转换字符按照转换模式的设置进行字符转换,并将转换后的字符存入字符连接输入模块获取的转换后字符的存储位置中。
采用上述进一步方案的有益效果是运用一条指令直接进行数据格式(HEX/ASC/BCD)的相互转换。
进一步,所述数据操作定义装置还包括串口操作单元,所述串口操作单元包括串口连接输入模块和串口操作模块;
所述串口连接输入模块,用于与所述串口操作模块建立连接,获取串口选择信息,接收存储器或者发送存储器信息,串口传送的字节数信息;
所述串口操作模块,用于在与所述串口连接输入模块建立连接之后,按照所述串口连接输入模块获取的串口选择信息,在选择的串口中传送设定串口传送字节数的数据给接收存储器,或者从发送存储器向外部设备发送设定的串口传送字节数的数据。
采用上述进一步方案的有益效果是用一条指令直接实现用户程序与通讯串口之间的数据交换。
进一步,所述数据操作定义装置还包括读取输入法内容单元,所述读取输入法内容单元包括输入法连接输入模块和输入法读取模块;
所述输入法连接输入模块,用于与所述输入法读取模块建立连接,获取在当前输入法下,向寄存器中存储的录入最多的字符数量,录入最多的字符的存储位置及字符长度;
所述输入法读取模块,用于在于所述输入法连接输入模块建立连接之后,根据所述输入法连接输入模块获取的录入最多的符合字符长度要求的字符数量,将录入最多的字符存储在设置的寄存器中。
采用上述进一步方案的有益效果是用一条指令实现读取当前输入法内容到寄存器,提供了输入法接口。
进一步,所述数据操作定义装置还包括写指定通道动态曲线缓冲区单元,所述写指定通道动态曲线缓冲区单元包括通道连接输入模块和通道写入模块;
所述通道连接输入模块,用于与所述通道写入模块建立连接,获取待写入的无符号整数的存储位置,待写入的无符号整数的增加量以及待写入的无符号整数与增加量相加之后的动态曲线缓冲区;
所述通道写入模块,用于在与所述通道连接输入模块建立连接之后,将通道连接输入模块获取的待写入的无符号整数与增加量相加后存储于指定的动态曲线缓冲区中。
采用上述进一步方案的有益效果是把复杂的曲线数据处理转化为把曲线数据写入指定通道的动态曲线缓冲区,不需要用户程序干预。
进一步,所述数据操作定义装置还包括汉字库操作单元,所述汉字库操作单元包括汉字库连接输入模块和汉字库操作模块;
所述汉字库连接输入模块,用于与所述汉字库操作模块建立连接,获取待搜索字符串的长度、待搜索字符串数据,数据库格式和搜索格式以及匹配与否的返回值、返回变量值和存储位置;
所述汉字库操作模块,用于在与所述汉字库连接输入模块建立连接之后,到汉字库中搜索汉字库连接输入模块获取的待搜索字符串,并返回搜索到的字符串及搜索到的字符串的存储位置。
采用上述进一步方案的有益效果是运用一条指令实现到指定汉字库搜索匹配字符串的数据,并回传至指定位置;或擦除指定字库位置,提供了字库操作接口。
附图说明
图1为本发明方法步骤流程图;
图2为本发明装置整体结构图。
附图中,各标号所代表的部件列表如下:
1、解整数线性方程单元,2、校验计算单元,3、时间计算单元,4、MODBUS协议单元4,5、DL/T645协议单元5,6、字符转换单元,7、串口操作单元,8、读取输入法内容单元,9、写指定通道动态曲线缓冲区单元,10、汉字库操作单元。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明方法步骤流程图;图2为本发明装置整体结构图。
实施例1
一种微处理器数据操作定义方法,以下步骤:
步骤1:线性连接输入模块1-1建立与所述解整数线性方程模块1-2的连接,获取输入的包括有点坐标信息的运算参数信息;
步骤2:在解整数线性方程模块1-2与线性连接输入模块1-1建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
一种微处理器数据操作定义装置,包括解整数线性方程单元1,所述解整数线性方程单元1包括线性连接输入模块1-1和解整数线性方程模块1-2;
所述线性连接输入模块1-1,用于建立与所述解整数线性方程模块的连接,获取输入的包括有点坐标信息的运算参数信息;
所述解整数线性方程模块1-2,用于在线性连接输入模块1-1建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
所述数据操作定义装置还包括校验计算单元2,所述校验计算单元2包括校验连接输入模块2-1和校验计算模块2-2;
所述校验连接输入模块2-1,用于与所述校验计算模块建立连接,获取输入的包含有输入参数的存储位置、输出参数的存储位置及移位次数的校验参数信息;
所述校验计算模块2-2,用于在与所述校验连接输入模块2-1建立连接之后,将校验连接输入模块2-1获取的校验参数信息中的输入参数按照移位次数进行移位,并将移位结果存入输出参数的存储位置。
所述数据操作定义装置还包括时间计算单元3,所述时间计算单元3包括时间连接输入模块3-1和时间计算模块3-2;
所述时间连接输入模块3-1,用于与所述时间计算模块3-2建立连接,获取输入的含有两个时间参数、及模式选择参数的时间计算参数信息;
所述时间计算模块3-2,用于在与所述时间连接输入模块3-1建立连接之后,将时间连接输入模块3-1获取的时间计算参数信息中的两个时间参数按照模式选择参数计算相对值。
所述数据操作定义装置还包括MODBUS协议单元4和DL/T645协议单元5;
所述MODBUS协议单元4包括MODBUS连接输入模块4-1和MODBUS检测模块4-2;
所述MODBUS连接输入模块4-1,用于与所述MODBUS检测模块4-2建立连接,获取输入的MODBUS数据帧前三个字节的存储位置、MODBUS数据帧与FIFO寄存器数据帧的匹配结果的存储位置和匹配后MODBUS数据帧的存储位置;
所述MODBUS匹配模块4-2,用于在与所述MODBUS连接输入模块4-1建立连接之后,将FIFO寄存器数据帧与MODBUS数据帧进行对比,并在FIFO寄存器数据帧与MODBUS数据帧匹配时,将MODBUS数据帧存储在MODBUS连接输入模块4-1获取的匹配后MODBUS数据帧的存储位置中;
所述DL/T645协议单元5包括DL/T645连接输入模块5-1和DL/T645检测模块5-2;
所述DL/T645连接输入模块5-1,用于与所述DL/T645检测模块5-2建立连接,获取DL/T645数据帧前三个字节的存储位置、DL/T645数据帧与DL/T645寄存器数据帧的匹配结果的存储位置和匹配后DL/T645数据帧的存储位置;
所述DL/T645匹配模块5-2,用于在于所述DL/T645连接输入模块5-1建立连接之后,将DL/T645寄存器数据帧与DL/T645数据帧进行对比,并在FIFO寄存器数据帧与DL/T645数据帧匹配时,将DL/T645数据帧存储在所述DL/T645连接输入模块5-1获取的匹配后DL/T645数据帧的存储位置中。
所述数据操作定义装置还包括字符转换单元6,所述字符转换单元6包括字符连接输入模块6-1和字符转换模块6-2;
所述字符连接输入模块6-1,用于与所述字符转换模块6-2建立连接,并获取待转换字符的存储位置,转换后字符的存储位置及转换模式;
所述字符转换模块6-2,用于在与所述字符连接输入模块6-1建立连接之后,对待转换字符按照转换模式的设置进行字符转换,并将转换后的字符存入字符连接输入模块6-1获取的转换后字符的存储位置中。
所述数据操作定义装置还包括串口操作单元7,所述串口操作单元7包括串口连接输入模块7-1和串口操作模块7-2;
所述串口连接输入模块7-1,用于与所述串口操作模块7-2建立连接,获取串口选择信息,接收存储器或者发送存储器信息,串口传送的字节数信息;
所述串口操作模块7-2,用于在与所述串口连接输入模块7-1建立连接之后,按照所述串口连接输入模块7-1获取的串口选择信息,在选择的串口中传送设定串口传送字节数的数据给接收存储器,或者从发送存储器向外部设备发送设定的串口传送字节数的数据。
所述数据操作定义装置还包括读取输入法内容单元8,所述读取输入法内容单元8包括输入法连接输入模块8-1和输入法读取模块8-2;
所述输入法连接输入模块8-1,用于与所述输入法读取模块8-2建立连接,获取在当前输入法下,向寄存器中存储的录入最多的字符数量,录入最多的字符的存储位置及字符长度;
所述输入法读取模块8-2,用于在于所述输入法连接输入模块8-1建立连接之后,根据所述输入法连接输入模块8-1获取的录入最多的符合字符长度要求的字符数量,将录入最多的字符存储在设置的寄存器中。
所述数据操作定义装置还包括写指定通道动态曲线缓冲区单元9,所述写指定通道动态曲线缓冲区单元9包括通道连接输入模块9-1和通道写入模块9-2;
所述通道连接输入模块9-1,用于与所述通道写入模块9-2建立连接,获取待写入的无符号整数的存储位置,待写入的无符号整数的增加量以及待写入的无符号整数与增加量相加之后的动态曲线缓冲区;
所述通道写入模块9-2,用于在与所述通道连接输入模块9-1建立连接之后,将通道连接输入模块9-1获取的待写入的无符号整数与增加量相加后存储于指定的动态曲线缓冲区中。
所述数据操作定义装置还包括汉字库操作单元10,所述汉字库操作单元10包括汉字库连接输入模块10-1和汉字库操作模块10-2;
所述汉字库连接输入模块10-1,用于与所述汉字库操作模块10-2建立连接,获取待搜索字符串的长度、待搜索字符串数据,数据库格式和搜索格式以及匹配与否的返回值、返回变量值和存储位置;
所述汉字库操作模块10-2,用于在与所述汉字库连接输入模块10-1建立连接之后,到汉字库中搜索汉字库连接输入模块10-1获取的待搜索字符串,并返回搜索到的字符串及搜索到的字符串的存储位置。
在具体实施中,解整数线性方程单元1具体为,
说明:由16bit整数(X0,Y0)、(X1,Y1)两点确定的直线上的X,求解对应的Y值。
输入:X=R10X0=R14Y0=R16X1=R18Y1=R1A;输出:Y=R12。
校验计算单元2具体为,
说明:对序列数据计算ANSI CRC-16(X16+X15+X2+1)。
R#S:输入的寄存器组;R#T:输出CRC结果,16bit,LSB模式保存;R#N:保存计算CRC数据字节长度寄存器,8bit。
如:CRCA R10,R80,R9。
说明:对序列数据计算CCITT CRC-16(X16+X12+X5+1)。
R#S:输入的寄存器组;R#T:输出CRC结果,16bit,MSB模式保存;R#N:保存计算CRC数据字节长度寄存器,8bit。
如:CRCC R10,R80,R9。
说明:对序列数据计算字节累加和校验
R#S:输入的寄存器组;R#T:输出1字节累加和结果,8bit;R#N:序列长度寄存器,8bit。
如:SUMADD R10,R80,R9。
说明:对序列数据计算带进位的字节累加和校验
R#S:输入的寄存器组;R#T:输出1字节累加和结果,8bit;R#N:序列长度寄存器,8bit。
如:SUMADDC R10,R80,R9。
说明:对序列数据计算字节异或校验
R#S:输入的寄存器组;R#T:输出1字节异或结果,8bit;R#N:序列长度寄存器,8bit。
如:SUMXOR R10,R80,R9。
时间计算单元3具体为,
说明:R#A、R#B:保存6bytes时间变量的寄存器,时间变量为BCD格式
MOD=0,计算A=A-B,计算两个时间的之间的相对值。A必须大于B,当A<B时,不计算并返回R#A第一个字节为0xFF。
MOD=1,计算A=B-RTC;
MOD=2,计算A=RTC-B。
如:TIME R0,R10,0。
MODBUS协议单元4具体为,
说明:检查COM0接收FIFO是否有满足要求的MODBUS数据帧,如果有则读取数据到寄存器并清空接收FIFO。
R#A:保存MODBUS接收数据包前3个字节(地址:指令:长度)的寄存器组;R#C:返回状态的寄存器,寄存器保存了返回数据;0x00表示未接收到匹配的MODBUS数据帧;0xFF表示接收到匹配的MODBUS数据帧并把数据读取到R#T寄存器组;R#T:匹配后,保存MODBUS数据的寄存器组。
如:RMODBUS R10,R20,R13。
DL/T645协议单元5具体为,
说明:检查COM0接收FIFO是否有满足要求的DL/T645的数据帧,如果有则读取数据到寄存器并清空接收FIFO。
R#A:保存6字节地址(LSB排列,压缩BCD码)寄存器组;R#C:返回状态的寄存器,寄存器保存了返回数据;0x00表示未接收到匹配的DL/T645数据帧;0xFF表示接收到匹配的DL/T645数据帧并把数据读取到R#T寄存器组;R#T:结果寄存器,匹配后,保存DL/T645数据的寄存器组,数据格式如下:控制码+数据长度+数据。
如:RD645R10,R20,R16
字符转换单元6具体为,
说明:R#S:需要转换的32bit整数;R#T:转换后的ASCII字符串寄存器组;<MOD>:转换模式控制,高4bit为整数位长度,低4bit为小数位数目;转换的ASCII串带符号,右对齐,空位用0x20填充。
如:对于数据0x12345678,
<MOD>=0x62转换结果为+054198.96
<MOD>=0xF2转换结果为+3054198.96
HEXASC R20,R30,0x62
说明:把HEX数据转换成压缩的BCD码,比如数据1000将转换成0x10,0x00
R#S:输入HEX数据的寄存器组首地址;R#T:输出压缩BCD码数据的寄存器首地址;<MOD>:高4bit表示输入HEX字节数,0x01-0x08;低4bit表示输出BCD码字节数,0x01-0x0A
如:HEXBCD R10,R80,0x23
说明:把压缩的BCD码转换成HEX数据,比如数据0x1000将转换成0x3E8(1000)
R#S:输入压缩BCD码的寄存器组首地址;R#T:输出HEX数据的寄存器首地址;<MOD>:高4bit表示输入BCD码字节数,0x01-0x0A,低4bit表示输出HEX字节数,0x01-0x08。
如:BCDHEX R10,R80,0x32
说明:把ASCII字符串转换成64bit带符号HEX数据。
R#S:输入ASCII字符串寄存器首地址;R#T:输出HEX数据,64bit寄存器;<LEN>:ASCII字符串数据长度,包括符号位和小数点,0x01-0x15。
如:ASCHEX R10,R80,0x05。
串口操作单元7具体为,
说明:把数据发送到指定的串口。
<COM>:选择串口,0=COM1(DGUS用户串口)1=COM2(DGUS保留串口);R#S:要发送的数据寄存器组;R#N:要发送的字节数寄存器,8bit,寄存器数据0x00表示发送256字节数据。
如:COMTXD0,R10,R9
说明:检查VP指向的DGUS变量地址有没有打印信息,有则打印到串口。VP为DGUS的0xFE07_05打印指令对应的变量VP值,打印后清除VP地址的打印标记。
<COM>:选择串口,0=COM1(DGUS用户串口)1=COM2(DGUS保留串口)。
如:CPRTS0,0x2000
说明:返回COM1接收缓冲区(FIFO)接收数据字节长度(0-253)到R#寄存器,0x00表示没有数据。
如:RDXLEN0,R10
说明:从COM1接收缓冲区(FIFO)中读取R#B个字节(01-253)到R#A寄存器组;读取后FIFO长度自动调整。
如:RDXDAT0,R11,R10
说明:把R#指向的<NUM>个寄存器内容发送到COM0。
如:COMTXI0,R20,16
读取输入法内容单元8具体为,
说明:把当前输入法下已经录入的最多<NUM>个字符加载到R#+1开始的寄存器,R#保存数据长度,字符个数从当前输入法光标位置往前计算。
如:SCAN R20,6
写指定通道动态曲线缓冲区单元9具体为,
说明:把R#S指向的N个16bit无符号整数,加上16bit无符号整数V_BIAS后写到<CH>(0x00-0x07)指定的动态曲线缓冲区,R#I寄存器指向一个3字节变量:N,V_BIAS。
如:WRLINE R80,R10,2
汉字库操作单元10具体为,
说明:到指定汉字库搜索匹配字符串的数据。
R#A:字符串长度(0x00-0x1F),0x00表示字符串由0x00或0xFF结尾;R#A+1:字符串数据,最多31个字符;R#B的11个寄存器规定了数据库(DATA[M][N]字数组)格式和搜索格式;R#B:字库ID(0x20-0x7F,0x00表示不用重新加载),每个DGUS周期调用一次后,只要没有对其它汉字库做过操作就不用重新加载。
R#B+1:二维数组的行维度M,0x0001-0x0FFFF;R#B+3:二维数组的列维度N,0x01-0x80,字数目;R#B+4:搜索匹配模式,0x00=左对齐,0x01=任意位置匹配;R#B+5:搜索开始行,0x0000-0xFFFF;R#B+7:每行中的搜索开始列,0x00-0xFF,一列中的字节位置;R#B+8:每行中的搜索终止列,0x00-0xFF,仅当搜索匹配模式是0x01(任意位置匹配)时有效;R#B+9:搜索匹配后,返回数据在搜索列的起始位置,0x00-0xFF;R#B+A:搜索匹配后,返回的数据字节长度,0x01-0xFF。
R#C的4个寄存器规定了返回变量:R#C:搜索标记,0x00=未匹配,0xFF=匹配;R#C+1:匹配时的(行维度+1)值;R#C+3:匹配时,回传数据保存的寄存器首地址。
如:LIBSCH R10,R12,R23
说明:<L_ID>:要擦除的汉字库ID,0x20-0x7F;
如果<L_ID>为0x00,表示字库位置由R9寄存器指定。
如:ERASE40。
数据库操作定义装置还包括以下与上述配合使用的模块:
3.1空操作
说明:不执行任何操作。
NOP
3.2传送指令
说明:R#:寄存器或寄存器组;<MOD>:0=寄存器到变量1=变量到寄存器;<NUM>:交换的数据字(Word)长度,0x00-0x80;当<NUM>为0x00时,数据长度由R9决定;DGUS变量指针由R0:R1寄存器定义。
MOVXR R20,0,2
说明:R#:寄存器或寄存器组;<DATA>:要装载的数据;<NUM>:要装载的寄存器个数,0x00表示256个。
如:LDBR R8,0x82,3
说明:R#:寄存器组;<DATAH>:要装载数据的高字节;<DATAL>:要装载数据的低字节。
如:LDWR R8,1000
LDWR R8,-300
说明:R#:寄存器或寄存器组;<NUM>:查表返回的字节数据长度;表地址指针由R5:R6:R7寄存器定义。
如:MOVC R20,10
说明:R#S:源寄存器或寄存器组;R#T:目标寄存器或寄存器组;<NUM>:交换的字节数据长度,0x00表示长度由R9寄存器定义。
如:MOV R8,R20,3
说明:R#:寄存器或寄存器组;D#:DGUS的寄存器或寄存器组;<NUM>:交换的字节数据长度。
如:MOVRD R10,3,2
说明:R#:寄存器或寄存器组;D#:DGUS的寄存器或寄存器组;<NUM>:交换的字节数据长度。
如:MOVDR3,R10,2
说明:<MOD>:0=字库数据读到DGUS变量;1=DGUS变量数据写到字库;<NUMH>:交换(字,Word)数据长度的高字节;<NUML>:交换(字,Word)数据长度的低字节;DGUS变量地址由R0:R1寄存器定义;字库由R4(0x20-0x7F)寄存器指定,R5:R6:R7为字库内的数据操作首地址,越界取消。
MOVXL0,300
说明:<NUMH>:交换(字,Word)数据长度的高字节;<NUML>:交换(字,Word)数据长度的低字节;<NUMH:NUML>为0x0000表示长度由R8:R9寄存器定义;DGUS源变量地址由R0:R1寄存器定义;DGUS目标变量地址由R2:R3寄存器定义。
如:MOVX100
说明:R2规定了源寄存器(组)地址;R3规定了目标寄存器(组)地址;R9规定了交换的数据长度,字节数。
如:MOVA
说明:把<ADRH:M:L>加载到R5:R6:R7;
如:LDADR TAB
LDADR0x123456
3.3算术运算指令
说明:C=A+B,A、B为32bit整数;C为64bit整数。
如:ADD R10,R20,R30
说明:C=A-B,A、B为32bit整数;C为64bit整数。
如:SUB R10,R20,R30
说明:C=(A*B+C),A、B是32bit整数,C是64Bit整数。
如:MAC R10,R20,R30
说明:A/B,商是A,余数是B;A和B都是64bit寄存器;<MOD>:0=商不进行四舍五入,1=商进行四舍五入。
如:DIV R10,R20,1
说明:把R#S指向的数据转成32bit整数保存到R#T;R#S:源寄存器或寄存器数;R#T:32bit目标寄存器;<MOD>:R#S数据类型,0=8bit无符号1=8bit带符号2=16bit无符号数3=16bit整数。
如:EXP R10,R20,2
说明:C=A*B+C
A、B是16bit无符号数,C是32bit无符号数。
如:SMAC R10,R20,R30
说明:R#=R#+NUM,无符号数自增计算。
<MOD>:R#数据类型,0=8bit1=16bit。
INC R10,1,5
说明:R#=R#-NUM,无符号数自减计算。
<MOD>:R#数据类型,0=8bit1=16bit。
DEC R10,0,1
说明:依次比较A、B两个寄存器序列的值:值不同时,返回A序列此时的地址到R0寄存器;如果A、B相同则返回0x00到R0寄存器。
R#A:A序列寄存器;R#B:B序列寄存器;<NUM>:最大比较数据字节长度。
TESTS R10,R20,16
3.4逻辑指令
说明:A=A AND B,序列与逻辑运算。
<NUM>:R#A、R#B变量字节数目。
AND R10,R20,1
说明:A=A OR B,序列或逻辑运算。
<NUM>:R#A、R#B变量字节数目。
OR R10,R20,1
说明:A=A XOR B,序列异或逻辑运算。
<NUM>:R#A、R#B变量字节数目。
XOR R10,R20,1
3.5控制指令
说明:测试R#寄存器的第<Bit>位,1跳转<NUM>,0继续执行下一条代码。
R#:位测试的寄存器,16bit;<Bit>:位测试位置,0x00-0x0F,MSB方式;<NUM>:跳转位置控制,NUM.7控制跳转方向,1=前跳,0=后跳;NUM&0x7F为跳转指令数。
JB R10,15,TEST1
NOP
TEST1:ADD R8,R12,R16
说明:比较A、B两个8bit寄存器的内容,相等则执行下一条指令,不等则跳转<NUM>。
TEST1:NOP
INC R10,0,1
CJNE R10,R11,TEST1
说明:比较A、B两个16bit整数的大小,A>=B则执行下一条指令,A<B则跳转<NUM>。
JS R10,R12,TEST1
NOP
TEST1:NOP
说明:比较8bit寄存器和立即数<INST>的内容,相等则执行下一条指令,不等则跳转<NUM>。
IJNE R10,100,TEST1
NOP
TEST1:NOP
说明:强制结束当前的输入法。
R#A:控制是否切换页面,0x00=不切换,0x01=切换;R#B:要切换回的页面ID(16bit)。
EXIT R10,R11
说明:CALL调用指令返回。
RET
说明:调用PC指针位置(0x0000-0x7FFB)的子程序,最多支持32级程序嵌套。
CALL TEST
说明:<MOD>=0x00:绝对跳转到<PCH:L>位置。
<MOD>=0x01:相对跳转(PC+1+<PCH:L>);<MOD>=0x02:相对跳转(PC+1-<PCH:L>);<PCH:L>=0xFFFF表示值在R0:R1中。
GOTO TEST1
NOP
TEST1:NOP
3.6位操作指令
说明:把R#的8个比特分解到VP指向的8个DGUS字变量,MSB方式,bit1分解为0x0001,bit0分解为0x0000。
R#:需要进行位分解的寄存器,8bit;<VPH>:DGUS变量地址高字节;<VPL>:DGUS变量地址低字节。
BITS R10,0x2000
说明:把VP指向的8个DGUS字变量组合成1个字节位变量,MSB方式,0x0000为bit0,非0x0000数据为bit1。
R#:存储位组合数据的寄存器,8bit;<VPH>:DGUS变量地址高字节;<VPL>:DGUS变量地址低字节。
BITI R10,0x2000
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种微处理器数据操作定义方法,其特征在于,以下步骤:
步骤1:线性连接输入模块(1-1)建立与所述解整数线性方程模块(1-2)的连接,获取输入的包括有点坐标信息的运算参数信息;
步骤2:在解整数线性方程模块(1-2)与线性连接输入模块(1-1)建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
2.一种微处理器数据操作定义装置,其特征在于:包括解整数线性方程单元(1),所述解整数线性方程单元(1)包括线性连接输入模块(1-1)和解整数线性方程模块(1-2);
所述线性连接输入模块(1-1),用于建立与所述解整数线性方程模块的连接,获取输入的包括有点坐标信息的运算参数信息;
所述解整数线性方程模块(1-2),用于在线性连接输入模块(1-1)建立连接之后,根据线性连接输入模块获取的运算参数信息,根据点坐标信息确定线性方程,并根据运算参数信息计算待计算点的坐标值。
3.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括校验计算单元(2),所述校验计算单元(2)包括校验连接输入模块(2-1)和校验计算模块(2-2);
所述校验连接输入模块(2-1),用于与所述校验计算模块建立连接,获取输入的包含有输入参数的存储位置、输出参数的存储位置及移位次数的校验参数信息;
所述校验计算模块(2-2),用于在与所述校验连接输入模块(2-1)建立连接之后,将校验连接输入模块(2-1)获取的校验参数信息中的输入参数按照移位次数进行移位,并将移位结果存入输出参数的存储位置。
4.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括时间计算单元(3),所述时间计算单元(3)包括时间连接输入模块(3-1)和时间计算模块(3-2);
所述时间连接输入模块(3-1),用于与所述时间计算模块(3-2)建立连接,获取输入的含有两个时间参数、及模式选择参数的时间计算参数信息;
所述时间计算模块(3-2),用于在与所述时间连接输入模块(3-1)建立连接之后,将时间连接输入模块(3-1)获取的时间计算参数信息中的两个时间参数按照模式选择参数计算相对值。
5.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括MODBUS协议单元(4)和DL/T645协议单元(5);
所述MODBUS协议单元(4)包括MODBUS连接输入模块(4-1)和MODBUS检测模块(4-2);
所述MODBUS连接输入模块(4-1),用于与所述MODBUS检测模块(4-2)建立连接,获取输入的MODBUS数据帧前三个字节的存储位置、MODBUS数据帧与FIFO寄存器数据帧的匹配结果的存储位置和匹配后MODBUS数据帧的存储位置;
所述MODBUS匹配模块(4-2),用于在与所述MODBUS连接输入模块(4-1)建立连接之后,将FIFO寄存器数据帧与MODBUS数据帧进行对比,并在FIFO寄存器数据帧与MODBUS数据帧匹配时,将MODBUS数据帧存储在MODBUS连接输入模块(4-1)获取的匹配后MODBUS数据帧的存储位置中;
所述DL/T645协议单元(5)包括DL/T645连接输入模块(5-1)和DL/T645检测模块(5-2);
所述DL/T645连接输入模块(5-1),用于与所述DL/T645检测模块(5-2)建立连接,获取DL/T645数据帧前三个字节的存储位置、DL/T645数据帧与DL/T645寄存器数据帧的匹配结果的存储位置和匹配后DL/T645数据帧的存储位置;
所述DL/T645匹配模块(5-2),用于在于所述DL/T645连接输入模块(5-1)建立连接之后,将DL/T645寄存器数据帧与DL/T645数据帧进行对比,并在FIFO寄存器数据帧与DL/T645数据帧匹配时,将DL/T645数据帧存储在所述DL/T645连接输入模块(5-1)获取的匹配后DL/T645数据帧的存储位置中。
6.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括字符转换单元(6),所述字符转换单元(6)包括字符连接输入模块(6-1)和字符转换模块(6-2);
所述字符连接输入模块(6-1),用于与所述字符转换模块(6-2)建立连接,并获取待转换字符的存储位置,转换后字符的存储位置及转换模式;
所述字符转换模块(6-2),用于在与所述字符连接输入模块(6-1)建立连接之后,对待转换字符按照转换模式的设置进行字符转换,并将转换后的字符存入字符连接输入模块(6-1)获取的转换后字符的存储位置中。
7.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括串口操作单元(7),所述串口操作单元(7)包括串口连接输入模块(7-1)和串口操作模块(7-2);
所述串口连接输入模块(7-1),用于与所述串口操作模块(7-2)建立连接,获取串口选择信息,接收存储器或者发送存储器信息,串口传送的字节数信息;
所述串口操作模块(7-2),用于在与所述串口连接输入模块(7-1)建立连接之后,按照所述串口连接输入模块(7-1)获取的串口选择信息,在选择的串口中传送设定串口传送字节数的数据给接收存储器,或者从发送存储器向外部设备发送设定的串口传送字节数的数据。
8.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括读取输入法内容单元(8),所述读取输入法内容单元(8)包括输入法连接输入模块(8-1)和输入法读取模块(8-2);
所述输入法连接输入模块(8-1),用于与所述输入法读取模块(8-2)建立连接,获取在当前输入法下,向寄存器中存储的录入最多的字符数量,录入最多的字符的存储位置及字符长度;
所述输入法读取模块(8-2),用于在于所述输入法连接输入模块(8-1)建立连接之后,根据所述输入法连接输入模块(8-1)获取的录入最多的符合字符长度要求的字符数量,将录入最多的字符存储在设置的寄存器中。
9.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括写指定通道动态曲线缓冲区单元(9),所述写指定通道动态曲线缓冲区单元(9)包括通道连接输入模块(9-1)和通道写入模块(9-2);
所述通道连接输入模块(9-1),用于与所述通道写入模块(9-2)建立连接,获取待写入的无符号整数的存储位置,待写入的无符号整数的增加量以及待写入的无符号整数与增加量相加之后的动态曲线缓冲区;
所述通道写入模块(9-2),用于在与所述通道连接输入模块(9-1)建立连接之后,将通道连接输入模块(9-1)获取的待写入的无符号整数与增加量相加后存储于指定的动态曲线缓冲区中。
10.根据权利要求1所述的微处理器数据操作定义装置,其特征在于:所述数据操作定义装置还包括汉字库操作单元(10),所述汉字库操作单元(10)包括汉字库连接输入模块(10-1)和汉字库操作模块(10-2);
所述汉字库连接输入模块(10-1),用于与所述汉字库操作模块(10-2)建立连接,获取待搜索字符串的长度、待搜索字符串数据,数据库格式和搜索格式以及匹配与否的返回值、返回变量值和存储位置;
所述汉字库操作模块(10-2),用于在与所述汉字库连接输入模块(10-1)建立连接之后,到汉字库中搜索汉字库连接输入模块(10-1)获取的待搜索字符串,并返回搜索到的字符串及搜索到的字符串的存储位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310115691.5A CN103246509B (zh) | 2013-04-03 | 2013-04-03 | 一种微处理器数据操作定义装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310115691.5A CN103246509B (zh) | 2013-04-03 | 2013-04-03 | 一种微处理器数据操作定义装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103246509A true CN103246509A (zh) | 2013-08-14 |
CN103246509B CN103246509B (zh) | 2016-12-28 |
Family
ID=48926043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310115691.5A Active CN103246509B (zh) | 2013-04-03 | 2013-04-03 | 一种微处理器数据操作定义装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103246509B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078095A1 (en) * | 2003-10-09 | 2005-04-14 | Ung Chi Man Charles | Apparatus for determining the location of a pointer within a region of interest |
CN101018179A (zh) * | 2007-03-07 | 2007-08-15 | 今创集团有限公司 | 数据总线桥接器及其工作方法 |
CN101566897A (zh) * | 2009-06-03 | 2009-10-28 | 广东威创视讯科技股份有限公司 | 触摸屏定位装置及触摸屏定位方法 |
CN101645136A (zh) * | 2009-08-26 | 2010-02-10 | 福州欣创摩尔电子科技有限公司 | 图像识别检测系统 |
CN102081490A (zh) * | 2009-11-27 | 2011-06-01 | 沈阳格微软件有限责任公司 | 面向触屏设备的点划式汉字声韵输入系统 |
-
2013
- 2013-04-03 CN CN201310115691.5A patent/CN103246509B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078095A1 (en) * | 2003-10-09 | 2005-04-14 | Ung Chi Man Charles | Apparatus for determining the location of a pointer within a region of interest |
CN101018179A (zh) * | 2007-03-07 | 2007-08-15 | 今创集团有限公司 | 数据总线桥接器及其工作方法 |
CN101566897A (zh) * | 2009-06-03 | 2009-10-28 | 广东威创视讯科技股份有限公司 | 触摸屏定位装置及触摸屏定位方法 |
CN101645136A (zh) * | 2009-08-26 | 2010-02-10 | 福州欣创摩尔电子科技有限公司 | 图像识别检测系统 |
CN102081490A (zh) * | 2009-11-27 | 2011-06-01 | 沈阳格微软件有限责任公司 | 面向触屏设备的点划式汉字声韵输入系统 |
Non-Patent Citations (1)
Title |
---|
张秋隼: "《曲线中点和边线点的坐标计算程序》", 《铁道勘察》 * |
Also Published As
Publication number | Publication date |
---|---|
CN103246509B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104169868B (zh) | 用于在中央处理单元中执行机器指令的方法和系统 | |
US20080272939A1 (en) | Method and apparatus for processing character streams | |
CN103443767A (zh) | 展开量化以控制自动机的入度和/或出度 | |
US4575816A (en) | Interactive transactions processor using sequence table pointers to access function table statements controlling execution of specific interactive functions | |
WO1992002877A1 (en) | Active storage means in a reduction processor | |
CN105573962A (zh) | 用于单指令多数据处理器的高效硬件指令 | |
CN102959538B (zh) | 给文档编索引 | |
CN104679453A (zh) | 一种信息录入、储存及排版打印的通用系统及方法 | |
CN104281601A (zh) | 构建超大字库的方法及装置、字符显示方法及装置 | |
CN104424128A (zh) | 变长指令字处理器系统和方法 | |
CN109144471A (zh) | 用于二进制向量分解的二进制乘法器 | |
CN101770367A (zh) | .net文件压缩方法和装置 | |
CN102799528B (zh) | 一种用于电路板级测试的脚本调试方法、装置及其系统 | |
CN107643906A (zh) | 数据处理方法及装置 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN110032562B (zh) | 一种存储业务记录的方法及装置 | |
CN103246509A (zh) | 一种微处理器数据操作定义方法及装置 | |
CN111143398B (zh) | 基于扩展sql函数的超大集合查询方法及装置 | |
CN116126304A (zh) | 基于XML的扩展Lustre代码生成方法 | |
CN101201829A (zh) | 一种汉字库系统及其字码显示方法 | |
CN111125147B (zh) | 基于扩展预计算模型和sql函数的超大集合分析方法及装置 | |
CN111125264B (zh) | 基于扩展olap模型的超大集合分析方法及装置 | |
CN117270968B (zh) | 字符串比较方法、装置、终端设备以及存储介质 | |
CN111461326B (zh) | 一种基于设备内存的指令寻址方法及计算机可读存储介质 | |
CN102398355B (zh) | 一种自定义命令控制方法、装置及注塑机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |