@not
@mov acc dat
@not
tgt acc dat
-mov acc p0
-add x0
slp x0
Outputs 0-100 as simple output, one per time unit. Makes use of the DX300 (XBus <-> Simple Input chip) and LC70G04 (NOT gate), which cost 1¥ each but do not use any power or count as lines of code (the game's measure of code length). These are used to generate a value of 1, which it adds and outputs until it hits 100. The value for 100 is generated using the "not" command, which makes the accumulator 100 if it is value 0, otherwise it sets the acc to 0.
(Not pictured: conversion from simple output to the screen's XBus input, for the visualization.)
SHENZHEN I/O (MCxxxx ASM only), 129 bytes, 8¥, 16 Lines
@not | not
@mov acc p0 | mul acc
@mov acc dat | dgt 0
@not | sub p0
add p0 | dgt 0
tgt acc dat | mul acc
-mov acc x0 | mov acc p0
slp p0 | slx x0
Outputs 0-100 as one XBus output each. Uses only programmable MCxxxx chips, no logic gates or other components. Generates value 1 in a pretty interesting way:
not # acc = 100
mul acc # 100 * 100 = 999 (max value)
dgt 0 # digit 0 of 999 = 9
sub p0 # 9 - 100 = -91
dgt 0 # digit 0 of -91 = -1
mul acc # -1 * -1 = 1
0
. Which is what makes this challenge interesting, IMO. \$\endgroup\$