s(2) = s3(codes3(5) + codes3(0) * 2, codes3(4) + codes3(3) * 2 + codes3(2) * 4 + codes3(1) * 8)
s(3) = s4(codes4(5) + codes4(0) * 2, codes4(4) + codes4(3) * 2 + codes4(2) * 4 + codes4(1) * 8)
s(4) = s5(codes5(5) + codes5(0) * 2, codes5(4) + codes5(3) * 2 + codes5(2) * 4 + codes5(1) * 8)
s(5) = s6(codes6(5) + codes6(0) * 2, codes6(4) + codes6(3) * 2 + codes6(2) * 4 + codes6(1) * 8)
s(6) = s7(codes7(5) + codes7(0) * 2, codes7(4) + codes7(3) * 2 + codes7(2) * 4 + codes7(1) * 8)
s(7) = s8(codes8(5) + codes8(0) * 2, codes8(4) + codes8(3) * 2 + codes8(2) * 4 + codes8(1) * 8)
's盒运算32位结果
for i = 0 to 7
rets(i * 4 + 0) = (s(i) and &h8) \ &h8
rets(i * 4 + 1) = (s(i) and &h4) \ &h4
rets(i * 4 + 2) = (s(i) and &h2) \ &h2
rets(i * 4 + 3) = (s(i) and &h1) \ &h1
next
for i = 0 to 31
'p变换
codep(i) = rets(p(i))
'产生l11,r11
r16(i) = l15(i) xor codep(i)
l16(i) = r15(i)
next
for i = 0 to 31
bincode(i) = r16(i)
bincode(i + 32) = l16(i)
next
for i = 0 to 63
codeip(i) = bincode(ip_1(i))
next
for i = 0 to 7
tempreturn(i) = codeip(i * 8 + 0) * &h80
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 1) * &h40
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 2) * &h20
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 3) * &h10
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 4) * &h8
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 5) * &h4
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 6) * &h2
tempreturn(i) = tempreturn(i) + codeip(i * 8 + 7) * &h1
next
copymemory breturn(j), tempreturn(0), 8
next