62 lines
1.3 KiB
Plaintext
62 lines
1.3 KiB
Plaintext
[ Hello world
|
|
===========
|
|
|
|
A program for the EDSAC
|
|
|
|
Can be used to print any character string:
|
|
the string (including necessary *F and #F
|
|
characters) should be stored in sequential
|
|
memory addresses beginning at @+17.
|
|
|
|
The last character of the string should be
|
|
marked with a 1 in the least significant
|
|
bit. This can be coded by using D in place
|
|
of F, e.g. AD would be an 'A' as the last
|
|
character
|
|
|
|
Works with Initial Orders 2 ]
|
|
|
|
T56K
|
|
GK
|
|
|
|
[ 0 ] O17@ [ Print character ]
|
|
|
|
[ 1 ] H17@ [ AND character with 1: ]
|
|
C15@ [ if the result is 1, we ]
|
|
S15@ [ have reached the end ]
|
|
E13@ [ of the string ]
|
|
|
|
T14@ [ Modify the orders in ]
|
|
A@ [ addresses @+0 and @+1 ]
|
|
A16@ [ to point to the next ]
|
|
T@ [ character ]
|
|
A1@
|
|
A16@
|
|
T1@
|
|
E@
|
|
|
|
[ 13 ] ZF
|
|
|
|
[ 14 ] PF
|
|
[ 15 ] PD
|
|
[ 16 ] P1F [ NB Least significant bit
|
|
is not part of address,
|
|
so add 2 not 1 ]
|
|
|
|
[ 17 ] *F [ Letter shift ]
|
|
HF
|
|
EF
|
|
LF
|
|
LF
|
|
OF
|
|
!F [ Blank ]
|
|
WF
|
|
OF
|
|
RF
|
|
LF
|
|
DF
|
|
@F [ Carriage return ]
|
|
&D [ Line feed + 1 ]
|
|
|
|
EZPF
|