function db(func) { let lines = []; for (let i = 0; i < 256; i += 16) { let items = []; for (let j = 0; j < 16; j++) { let x = i + j; items.push(func(x)); } lines.push(' .byte ' + items.join(', ')); } return lines.join('\n'); } console.log( `.segment "TABLES" .export mul_lobyte .export mul_hibyte ; (i * i) / 2 for the multiplier .align 256 mul_lobyte: ${db((i) => ((i * i) >> 1) & 0xff)} .align 256 mul_hibyte: ${db((i) => ((i * i) >> 9) & 0xff)} `);