Data update
This commit is contained in:
parent
61b93a2cd1
commit
5af6d93694
858 changed files with 20572 additions and 2082 deletions
|
|
@ -0,0 +1,39 @@
|
|||
[Alternative "Hello World" for Rosetta Code]
|
||||
|
||||
[Subroutine to print a string.]
|
||||
[Parameter: A order for first character follows subroutine call (G order).]
|
||||
[Modified 2022-07-13: A order for first character was formerly passed in 0F.]
|
||||
[String is terminated with EDSAC null, which is printed]
|
||||
T56K GK [load at 56; set relative addressing]
|
||||
A18@ U17@ [plant return link, increasing address by 3
|
||||
instead of 2 as usual]
|
||||
S19@ [make A order to load A order after subroutine call]
|
||||
T4@ [plant in code]
|
||||
[4] AF [(planted) load A order after subroutine call]
|
||||
[5] T6@ [loop: plant A order for next character]
|
||||
[6] AF [load next character]
|
||||
UF [to 0F for printing; keep it in acc]
|
||||
OF [output to teleprinter]
|
||||
E12@ [if char >= 0, not EDSAC null]
|
||||
A20@ [if char < 0, add 15 to test for EDSAC null]
|
||||
G16@ [jump to exit if null]
|
||||
[12] TF [clear acc]
|
||||
A6@ A2F [inc address in A order above]
|
||||
G5@ [loop back, because top 5 bits = A = 11100]
|
||||
[16] TF [clear acc on exit (EDSAC convention)]
|
||||
[17] ZF [(planted) jump back to caller]
|
||||
[18] U3F [constant for making return link]
|
||||
[19] U1F [constant for picking up parameter]
|
||||
[20] K2048F [constant for testing final null]
|
||||
|
||||
[Main routine]
|
||||
T96K GK [load at 96; set relative addressing
|
||||
[Enter with acc = 0]
|
||||
[0] A@ G56F [call print subroutine]
|
||||
A4@ [A order for first character of string]
|
||||
ZF [subroutine returns here; halt machine]
|
||||
[4] K2048F HF EF LF LF OF !F WF OF RF LF DF @F &F K4096F
|
||||
[The above string is: letter shift, 'HELLO WORLD', CR, LF, null]
|
||||
EZ [define entry point]
|
||||
PF [acc = 0 on entry]
|
||||
[end]
|
||||
Loading…
Add table
Add a link
Reference in a new issue