📄 bm31-4.asm
字号:
; 4进制RS变换编码,该码为非本元RS码.其最小距离d=2,纠错能力t=1的(3,1)码.
ORG 0000H
AJMP START
;信息码元
M0 EQU 40H
;编码码元
W0 EQU 41H
W1 EQU 42H
W2 EQU 43H
; n-1
;fi = Fj * a^-i*j
; j=0
ORG 002FH
START: MOV R5, #03H ;i,共循环n次
MOV R2, #00H ;BTAB的首地址
MOV R0, #W0 ;R0指向编好码元的首地址
MOV R1, #M0 ;R1指向信息码元的首地址
BM: MOV @R0, #00H ;(R0)<=00H
MOV A, R2
MOV DPTR, #BTAB
MOVC A, @A+DPTR ;读表BTAB
MOV B, A
MOV DPTR, #ATAB
MOV A, @R1
MOVC A, @A+DPTR ;求Mi的指数
ADD A, B
MOV DPTR, #ETAB
MOVC A, @A+DPTR ;求Fj * a^-i * j
MOV @R0, A
INC R2 ;指向表的下一个值
INC R0 ;指向下一个编好码元单元
DJNZ R5, BM
;(指数相乘表)
ETAB: DB 01H,02H,03H,00H
DB 02H,03H,01H,00H
DB 03H,02H,01H,00H
DB 00H,00H,00H,00H
;(数值找指数表)
ATAB: DB 03H,00H,01H,02H
;(编码指数表)
BTAB: DB 00H,04H,08H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -