Archive.org now has a page with "the raw analog waveform and the reconstructed digital tape image (analog.tap), read at the Computer History Museum's Shustek Research Archives on 19 December 2025 by Al Kossow using a modified tape reader and analyzed with Len Shustek's readtape tool." A Berlin-based...
I think it’s actually quite elegant. No matter what it has to skip over argument 0 which will be the executable name echo.
If the subtraction was removed and the loop changed to <, it would then need to do an addition or subtraction inside the loop to check if it’s the last argument.
The real question might be whether the compiler was smart enough to change var++ and var-- into ++var and --var when the initial values aren’t needed.
As compiler optimisations go, it’s a fairly obvious one, but it was 1974 and putting checks like that in the compiler would increase its size and slow it down when both space and time were at a premium.
Bloat, they wasted an extra integer operation with
argc--.I think it’s actually quite elegant. No matter what it has to skip over argument 0 which will be the executable name
echo.If the subtraction was removed and the loop changed to
<, it would then need to do an addition or subtraction inside the loop to check if it’s the last argument.The real question might be whether the compiler was smart enough to change
var++andvar--into++varand--varwhen the initial values aren’t needed.As compiler optimisations go, it’s a fairly obvious one, but it was 1974 and putting checks like that in the compiler would increase its size and slow it down when both space and time were at a premium.
Well, good news, the source code is right there. Someone can go check (it probably won’t be me)
I was going to guess the same regarding the time period.
Or they just drop the =