用单片机实现SRAM工艺FPGA的加密应用
MOV PNMA,C ;将Q0输出到PNMA引脚,作为PN码
MOV C,Q0
MOV WORD6.0,C ;用WORD6单元的0位来存Q0的状态
MOV C,Q2
MOV WORD7.0,C ;用WORD7单元的0位来存Q2的状态
MOV C,Q21
MOV WORD8.0,C ;用WORD8单元的0位来存Q21的状态
MOV C,Q23
MOV WORD9.0,C ;用WORD9单元的0位来存Q23的状态
MOV ACC,WORD6
XRL A,WORD7
XRL A,WORD8
XRL A,WORD9 ;通过异或指令,计算反馈逻辑
MOV C,ACC.0 ;反馈逻辑为Qin=Q0
;XOR Q2 XOR Q21 XOR Q23
MOV MID_VARY,C ;将运算后的状态存到MID_VARY中右移运算
MOV ACC,WORD1
RRC A ;移位Q7~Q0
MOV WORD1,A ;移位后,保存到WORD1单元中
MOV ACC,WORD2
RRC A ;移位Q15~Q8
MOV WORD2,A ;移位后,保存到WORD2单元中
MOV Q7,C ;将Q8的值赋到Q7
MOV ACC,WORD3
RRC A ;移位Q23~Q16
MOV WORD3,A ;移位后,保存到WORD3单元中
MOV Q15,C ;将Q16的值赋到Q15
MOV ACC,WORD4
RRC A ;移位Q31~Q24
MOV WORD4,A ;移位后,保存到WORD4单元中
MOV Q23,C ;将Q24的值赋到Q23
MOV ACC,WORD5
RRC A ;移位Q39~Q32
MOV WORD5,A ;移位后,保存到WORD5单元中
MOV Q31,C ;将Q32的值赋到Q31
MOV C,MID_VARY ;将前面反馈计算的值赋给Q39
MOV Q39,C
LJMP XMALOOP ;继续产生下一代PN码元