WORM Solution

CALLING CARD

WORM row 8

In-game screenshot of CALLING CARD
In-game view
FamilyWORM Graph0.723 Difficulty0.723 Ring04 IDw37

Prerequisites

License Server

Unlocks

CLOCKED LATCH

Reference rack program w37 solved
Active cores1, 2, 4, 7 Program lines30 DetailWORM row 8

Walkthrough

CALLING CARD: 6-digit frames; OUT = 1 if Luhn-valid else 0.

Luhn: double d0,d2,d4 (adjust >9 by -9), keep d1,d3,d5, sum 6, valid iff sum%10==0.

core0 reads a frame, doubles d0/d2/d4 via doubler core1, sums in ACC, sends sum DOWN.

core4 = ACC-buffered relay (link->link MOV drops a value if its write blocks, so we

stage through ACC). core8 = mod10==0 -> 1/0, then emit DOWN.

Rack Solution
# CALLING CARD: 6-digit frames; OUT = 1 if Luhn-valid else 0.
# Luhn: double d0,d2,d4 (adjust >9 by -9), keep d1,d3,d5, sum 6, valid iff sum%10==0.
# core0 reads a frame, doubles d0/d2/d4 via doubler core1, sums in ACC, sends sum DOWN.
# core4 = ACC-buffered relay (link->link MOV drops a value if its write blocks, so we
# stage through ACC). core8 = mod10==0 -> 1/0, then emit DOWN.
@1
MOV RIGHT, UP
MOV ACC, UP
ADD RIGHT
MOV RIGHT, UP
ADD UP
ADD RIGHT
MOV RIGHT, UP
ADD UP
ADD RIGHT
MOV DOWN, ACC
@2
MOV ACC, LEFT
ADD ACC
SUB 9
JG P
ADD 9
P: MOV LEFT, ACC
@4
MOV ACC, UP
MOV DOWN, ACC
@7
S: MOV ACC, UP
JZ Y
M: SUB 10
JZ Y
JG M
MOV DOWN, 0
JMP S
Y: MOV DOWN, 1