CAREY SCHUG wrote: > I'm going to suggest that the 1620 had the most HCF instructions of any > commercially > produced computer, ever. And the most intentionally used on a daily basis. <snip>
> 1. you could press "insert" on the typewriter and enter a program starting at > location zero which was executed when you hit return. If you wanted to clear > memory, you > typed in 12 digits "310000900010" (transmit record) which meant copy the > character at location 9 to location 10, then 10 to 11, etc until it found the > special > character "record mark", which it would never find as you typed in a zero at > the > starting address. watch the address lights till it looped and hit reset. Note that, as written, your instruction doesn't clear memory, it shifts memory to the left by one digit every complete cycle through memory, because the destination address is lower than the source address. What you need to do a "forward smear," where the source address is lower than the destination address, so that the destination digits become source digits as the addresses increase, e.g., 310000300002. That would only work on a 1620 Model 1, however. It wouldn't work on a Model 2. Both models fetched two digits from memory at a time, but for many instructions (including TR and TF) the Model 2 would stash the digit at the odd address and use it during the odd-address fetch cycle, saving a redundant fetch from the same digit pair in memory. Therefore, the source and destination addresses had to differ by at least 2 -- this will work on the Model 2: 310000400002. But nobody bothered with that on the Model 2, because it had a hardware memory clear mechanism. Simultaneously pressing MODIFY (which wasn't present on the Model 1) and CHECK RESET on the console would turn on the CLR MEM control gate. Then pressing START would clear all of memory once and halt. <snip> > 2. remember that record mark? if you ever executed an instruction with a > record mark in > the address, you got a MAR check red light, a hard reset was required to > escape. probably > if in the op code also. And some hard stop for any invalid op code, but > these may have > been in the category below. Shouldn't these be considered good error-trapping features and not in the same league as HCF? An RM had the 8 and 2 bits set, so it wasn't a valid decimal digit, and couldn't be used in an address. An RM in the Q field of an immediate instruction was okay, though. > 3. there were other errors, but you could press start to continue and there > was a toggle > switch to ignore at least some of them, like a parity error in memory. You could press START to continue after a memory parity error or an I/O parity error, but not after a MAR CHECK. The PROGRAM/STOP toggle switches (there were four of them, for DISK, MEMORY, I/O, and arithmetic OVERFLOW) did not cause the errors to be ignored, they just controlled whether the CPU halted when exceptions occurred. In all cases, internal flags (termed "indicators") were set, which could be interrogated by the BI and BNI instructions. The MEMORY switch had no effect on a MAR CHECK -- the CPU always did a hard stop on those and required a RESET. <snip> Paul