encode.asm
来自「5509的代码程序」· 汇编 代码 · 共 58 行
ASM
58 行
;Function:Encode
; .def Encode
.text
.def Encode
.ref Bw0_data,Encoded_data
Encode:
amov #Bw0_data+25,xar0
amov #Encoded_data,xar1
mov #0,ac0 ;ac0用于存放编码器目前的状态
mov #5,t1
mov #5,brc0
rptb IniAc0-1
mov *ar0-,ac1
sfts ac1,t1
or ac1,ac0
sub #1,t1
IniAc0:
; mov #Bw0_data,ar0
amov #Bw0_data,xar0
;mov #0,ac0
mov #(26-1),brc0
rptb Loop1-1
mov *ar0+,ac1
mov ac1,ac2
sfts ac2,#6 ;data(i)
xor ac0<<#2,ac2 ;mod(data(i)+g(2),2)
xor ac0<<#3,ac2 ;mod(data(i)+g(2)+g(3),2)
xor ac0<<#5,ac2 ;mod(data(i)+g(2)+g(3)+g(5),2)
xor ac0<<#6,ac2 ;mod(data(i)+g(2)+g(3)+g(5)+g(6),2)
sfts ac2,#-6
and #0001,ac2
mov ac2,*ar1+ ;get g0
mov ac1,ac2
sfts ac2,#6
xor ac0<<#1,ac2
xor ac0<<#2,ac2
xor ac0<<#3,ac2
xor ac0<<#6,ac2
sfts ac2,#-6
and #0001,ac2
mov ac2,*ar1+ ;get g1
sfts ac0,#-1 ;把g(6)移出去
sfts ac1,#5
or ac1,ac0
Loop1:
ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?