mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-01 09:21:15 +00:00
73 lines
2.9 KiB
Plaintext
73 lines
2.9 KiB
Plaintext
CARDAC.HLP
|
|
|
|
|
|
CARDAC.BAS SIMULATES THE ACTION OF A PRIMITIVE COMPUTER
|
|
NAMED CARDIAC. YOUR PROGRAM SHOULD BE ENTERED AS DATA
|
|
STARTING AT STATEMENT 10 AND ENDING BEFORE STATEMENT 50. ADDRESS
|
|
AND INSTRUCTION INFORMATION MUST BE SEPARATED BY COMMAS. AS
|
|
MANY PROGRAM ELEMENTS AS YOU WISH MAY BE ENTERED IN EACH
|
|
DATA STATEMENT. FOR EXAMPLE, '10 DATA 20,006,21,106,ETC.'
|
|
AFTER YOU HAVE COMPLETED ENTERING YOUR CARDIAC
|
|
PROGRAM, CARDIAC DATA MAY BE ENTERED USING AN ENTRY OF
|
|
'99,800' AS A SEPARATOR BETWEEN THE PROGRAM AND THE DATA.
|
|
END YOUR CARDIAC 'DECK' WITH A '0'. C PROGRAM MAY BE BOOTSTRAPED BY
|
|
ENTERING IT AS CARDIAC DATA FOLLOWING THE DATA SIGNAL '99,800'.
|
|
|
|
THESE ARE THE CARDIAC OP CODES:
|
|
|
|
0--READ
|
|
1--CLEAR AND ADD
|
|
2--ADD
|
|
3--IF ACCUMULATOR NEGATIVE TRANSFER TO ADDRESS
|
|
4--SHIFT
|
|
5--PRINT
|
|
6--STORE
|
|
7--SUBTRACT
|
|
8--TRANSFER CONTROL
|
|
9--HALT
|
|
|
|
THE FOLLOWING IS A SAMPLE CARDIAC PROGRAM THAT DIVIDES ONE NUMBER
|
|
INTO ANOTHER AND PRINTS THE QUOTIENT AND REMAINDER. THE COMMENTS
|
|
ON THE RIGHT TELL WHAT EACH STEP IS DOING.
|
|
|
|
LOC INSTRUCTION COMMENT
|
|
=== =========== ======
|
|
01 090 READ THE FIRST NUMBER INTO LOCATION 90
|
|
02 091 READ THE SECOND NUMBER INTO LOCATION 91
|
|
03 590 PRINT THE FIRST NUMBER
|
|
04 591 PRINT THE SECOND NUMBER
|
|
05 190 CLEAR THE ACCUMULATOR AND MOVE THE NUMBER IN
|
|
LOCATION 90 (THE FIRST NUMBER) INTO THE ACCUMULATOR
|
|
06 791 SUBTRACT THE NUMBER IN LOCATION 91 (THE SECOND
|
|
NUMBER) FROM THE NUMBER IN THE ACCUMULATOR LEAVING
|
|
THE RESULTS IN THE ACCUMULATOR
|
|
07 313 TEST THE ACCUMULATOR AND IF IT IS NEGATIVE JUMP TO
|
|
LOCATION 13 AND CONTINUE EXECUTION FROM THERE
|
|
08 690 STORE THE RESULTS OF THE SUBTRACTION BACK IN
|
|
LOCATION 90
|
|
09 192 CLEAR THE ACCUMULATOR AND MOVE THE SUBTRACTION
|
|
COUNT STORED IN LOCATION 92 INTO THE ACCUMULATOR
|
|
10 200 ADD THE CONTENTS OF LOCATION 00 (LOC 00 CON-
|
|
TAINS A 1 ALL OF THE TIME) TO THE ACCUMULATOR
|
|
11 692 STORE THE CONTENTS OF THE ACCUMULATOR BACK IN LOC 92
|
|
12 805 JUMP BACK TO LOCATION 5
|
|
13 592 PRINT THE QUOTIENT
|
|
14 590 PRINT THE REMAINDER
|
|
15 900 HALT THE EXECUTION OF THE PROGRAM
|
|
|
|
TO ENTER THIS PROGRAM INTO THE COMPUTER USING 14 AND 3 AS THE DIVIDEND
|
|
AND DIVISOR THE FOLLOWING SEQENCE OF COMMANDS WOULD BE USED:
|
|
10 DATA 01,090,02,091,03,590,04,591,05,190,06,791,07,312,08,690,09,192
|
|
20 DATA 10,200,11,692,12,805,13,592,14,590,10,900
|
|
30 DATA 99,800,14,3,0
|
|
|
|
TO RUN THE PROGRAM YOU MUST TYPE 'R BASIC' IF THE COMPUTER
|
|
PRINTS A '.' WHEN YOU HIT RETURN. WHEN THE COMPUTER
|
|
PRINTS 'READY, FOR HELP TYPE HELP' OR 'READY' TYPE IN
|
|
'OLD D11:CARDAC'. THE COMPUTER WILL RESPOND WITH ANOTHER
|
|
'READY'. TYPE IN YOUR DATA STATEMENTS (IE. PROGRAM AND
|
|
DATA) AND THEN TYPE 'RUN 210' OR 'RUNNH 210' AND YOUR PROGRAM
|
|
WILL BE EXECUTED. FIRST YOU WILL BE ASKED IF YOU WANT A 'DUMP'. A DUMP IS
|
|
JUST A LISTING OF ALL 100 STORAGE LOCATIONS AND THEIR CONTENTS. NEXT,
|
|
YOUR PROGRAM WILL BE LISTED AND RUN.
|