Knowledge

CARDboard Illustrative Aid to Computation

Source 📝

31: 81: 326:
Programs are run by first sliding three slides so that the number in the instruction register equals the number in the memory cell the bug is sitting in. Once that is done the bug is moved to the next memory cell. The user then follows an arrow which will then tell them what to do next. This
385:– hosted on Macintosh, Windows (untested), and Linux (untested); provides editor, simple assembler, and examples; opcodes 0 and 9 are interchanged as described on the page; source code appears to be proprietary; free downloads 300:
jump to a specified memory cell. The current cell number is written in cell 99. This allows for one level of subroutines by having the return be the instruction at cell 99 (which had '8' hardcoded as the first digit.
121:
numbers from 0 to ±999 and are written with a pencil. Cells are erased with an eraser. A “bug” is provided to act as a program counter, and is placed in a hole beside the current memory cell.
148:
High level languages have never been developed for CARDIAC as they would defeat one of the purposes of the device: to introduce concepts of assembly language programming.
72:
which can hold signed numbers from 0 to ±999. It has an instruction set of 10 instructions which allows CARDIAC to add, subtract, test, shift, input, output and jump.
64:
The computer "operates" by means of pencil and sliding cards. Any arithmetic is done in the head of the person operating the computer. The computer operates in
46: 50: 145:). Addressing is one of accumulator to memory absolute, absolute memory to accumulator, input to absolute memory and absolute memory to output. 432: 427: 92:” of the computer consists of 4 slides that move various numbers and arrows to have the flow of the real CPU (the user's 244:
shifts the accumulator x places left, then y places right, where x is the upper address digit and y is the lower.
403:– Al Williams' FPGA implementation of CARDIAC on an FPGA board (final article of a series on Dr. Dobb's web site) 422: 394: 38:
program running in a CARDIAC emulator. The program outputs 1, 2, 4, 8, …, 512 and halts after 277 steps.
230:
performs a sign test on the contents of the accumulator; if minus, jump to a specified memory cell.
400: 89: 69: 17: 30: 96:) move the right way. They have one flag (+/-), affected by the result in the accumulator. 8: 336: 342: 151:
Programs are hand assembled and then are penciled into the appropriate memory cells.
102:
consists of the other half of the cardboard cutout. There are 100 cells. Cell 0 is “
61:
work. The kit consists of an instruction manual and a die-cut cardboard "computer".
130: 103: 354: 99: 406: 202:
clear the accumulator and add the contents of a memory cell to the accumulator.
80: 388: 258:
take a number from the specified memory cell and write it on the output card.
110:”; available for instructions and data; and cell 99 can best be described as “ 416: 373: 382: 369: 133:. An instruction is three decimal digits (the sign is ignored) in the form 35: 377: 188:
take a number from the input card and put it in a specified memory cell.
358: 286:
subtract the contents of a specified memory cell from the accumulator.
363: 58: 54: 397:– Al Williams' spreadsheet version of CARDIAC on the Dr. Dobb's site 272:
copy the contents of the accumulator into a specified memory cell.
118: 65: 111: 409:- This is a RUST implementation of an emulator for the CARDIAC 315:
move bug to the specified cell, then stop program execution.
93: 364:
an interpreter and interactive debugger on the .NET platform
107: 106:”, always containing a numeric "1"; cells 1 to 98 are “ 216:
add the contents of a memory cell to the accumulator.
43:
CARDIAC (CARDboard Illustrative Aid to Computation)
414: 141:); the second and third digits are an address ( 376:with both command-line and GUI interfaces on 57:in 1968 to teach high school students how 389:Quick Tour of the Built CARDIAC computer 327:continues for all of program execution. 79: 29: 14: 415: 24: 154: 137:. The first digit is the op code ( 25: 444: 433:Educational programming languages 383:Software Emulator for the CARDIAC 357:with examples and a simulator in 348: 45:is a learning aid developed by 124: 13: 1: 428:Educational abstract machines 339:(another instructional model) 129:CARDIAC has a 10 instruction 321: 7: 355:a discussion of the CARDIAC 330: 75: 55:Bell Telephone Laboratories 10: 449: 227:Test accumulator contents 117:Memory cells hold signed 407:Emulator written in RUST 160:CARDIAC Instruction Set 84:Front of CARDIAC device 372:– a simulator for the 85: 39: 423:Models of computation 83: 33: 395:CPU Design on Paper 337:Little man computer 161: 343:WDR paper computer 159: 86: 40: 319: 318: 47:David Hagelbarger 16:(Redirected from 440: 162: 158: 144: 140: 136: 131:machine language 21: 448: 447: 443: 442: 441: 439: 438: 437: 413: 412: 351: 333: 324: 312:Halt and reset 157: 155:Instruction Set 142: 138: 134: 127: 78: 28: 23: 22: 15: 12: 11: 5: 446: 436: 435: 430: 425: 411: 410: 404: 398: 392: 386: 380: 367: 361: 350: 349:External links 347: 346: 345: 340: 332: 329: 323: 320: 317: 316: 313: 310: 307: 303: 302: 298: 295: 292: 288: 287: 284: 281: 278: 274: 273: 270: 267: 264: 260: 259: 256: 253: 250: 246: 245: 242: 239: 236: 232: 231: 228: 225: 222: 218: 217: 214: 211: 208: 204: 203: 200: 199:Clear and add 197: 194: 190: 189: 186: 183: 180: 176: 175: 172: 169: 166: 156: 153: 126: 123: 77: 74: 51:Saul Fingerman 26: 9: 6: 4: 3: 2: 445: 434: 431: 429: 426: 424: 421: 420: 418: 408: 405: 402: 401:Paper to FPGA 399: 396: 393: 390: 387: 384: 381: 379: 375: 374:Java platform 371: 368: 365: 362: 360: 356: 353: 352: 344: 341: 338: 335: 334: 328: 314: 311: 308: 305: 304: 299: 296: 293: 290: 289: 285: 282: 279: 276: 275: 271: 268: 265: 262: 261: 257: 254: 251: 248: 247: 243: 240: 237: 234: 233: 229: 226: 223: 220: 219: 215: 212: 209: 206: 205: 201: 198: 195: 192: 191: 187: 184: 181: 178: 177: 173: 170: 167: 164: 163: 152: 149: 146: 132: 122: 120: 115: 113: 109: 105: 101: 97: 95: 91: 82: 73: 71: 67: 62: 60: 56: 52: 48: 44: 37: 32: 19: 325: 174:Description 150: 147: 128: 116: 98: 87: 70:memory cells 68:and has 100 63: 42: 41: 36:power of two 27:Learning aid 378:SourceForge 171:Instruction 125:Programming 417:Categories 391:on YouTube 370:cinc/jcinc 359:JavaScript 366:on GitHub 322:Operation 283:Subtract 59:computers 331:See also 168:Mnemonic 76:Hardware 255:Output 119:decimal 66:base 10 18:CARDIAC 269:Store 241:Shift 185:Input 165:Opcode 112:EEPROM 100:Memory 297:Jump 94:brain 88:The “ 53:for 213:Add 49:and 309:HRS 294:JMP 280:SUB 266:STO 252:OUT 238:SFT 224:TAC 210:ADD 196:CLA 182:INP 135:OAA 114:”. 108:RAM 104:ROM 90:CPU 419:: 143:AA 34:A 306:9 291:8 277:7 263:6 249:5 235:4 221:3 207:2 193:1 179:0 139:O 20:)

Index

CARDIAC

power of two
David Hagelbarger
Saul Fingerman
Bell Telephone Laboratories
computers
base 10
memory cells

CPU
brain
Memory
ROM
RAM
EEPROM
decimal
machine language
Little man computer
WDR paper computer
a discussion of the CARDIAC
JavaScript
an interpreter and interactive debugger on the .NET platform
cinc/jcinc
Java platform
SourceForge
Software Emulator for the CARDIAC
Quick Tour of the Built CARDIAC computer
CPU Design on Paper
Paper to FPGA

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.