Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
|
|
@ -0,0 +1,75 @@
|
|||
[Pythagorean quadruples - Rosetta Code
|
||||
EDSAC program, Initial Orders 2]
|
||||
|
||||
[Arrange the storage]
|
||||
T46K P56F [N parameter: modified library s/r P7 to print integer]
|
||||
T47K P106F [M parameter: main routine]
|
||||
|
||||
[Library subroutine M3, prints header at load time.
|
||||
Here, header leaves teleprinter in figures mode.]
|
||||
PFGKIFAFRDLFUFOFE@A6FG@E8FEZPF
|
||||
*NUMBERS!WHOSE!SQUARES!ARE!NOT!THE!SUM!
|
||||
OF!THREE!NONZERO!SQUARES@&MAXIMUM#!V!
|
||||
..PK [after header, blank tape and PK (WWG, 1951, page 91)]
|
||||
|
||||
[------------------------------------------------------------------------------]
|
||||
[Main routine]
|
||||
E25K TM GK [load at address specified by M parameter]
|
||||
[Constants]
|
||||
[0] P1100F [limit, right-justified, e.g. P1100F for 2200]
|
||||
[1] !F [teleprinter space]
|
||||
[2] @F [carriage return]
|
||||
[3] &F [line feed]
|
||||
[4] K4096F [teleprinter null]
|
||||
[5] PD [17-bit constant 1]
|
||||
[6] P2D [17-bit constant 5]
|
||||
[Variables]
|
||||
[7] PF [2^m, where m = 0, 1, 2, ...]
|
||||
[8] PF [5*2^n, where n = 0, 1, 2, ...]
|
||||
[Enter here, with acc = 0]
|
||||
[Complete header by printing limit]
|
||||
[9] A4@ T1F [print leading zeros as nulls]
|
||||
A@ TF [pass limit to print subroutine in 0F]
|
||||
[13] A13@ GN [call print subroutine; leaves acc clear]
|
||||
O2@ O3@ [print new line]
|
||||
[Initialize variables]
|
||||
A5@ T7@ [2^m := 1]
|
||||
A6@ T8@ [5*2^n := 5]
|
||||
[Loop back to here after printing number]
|
||||
[Print 2^m or 5*2^n, whichever is smaller]
|
||||
[21] A7@ S8@ [compare values]
|
||||
E28@ [jump if 5*2^n is smaller]
|
||||
A8@ [else restore 2^m in acc]
|
||||
LD U7@ [double value in memory]
|
||||
E32@ [jump to common code]
|
||||
[28] T4F [clear acc]
|
||||
A8@ [acc := 5*2^n]
|
||||
LD U8@ [double value in memory]
|
||||
[32] RD [common code: undo doubling in acc]
|
||||
TF [pass number to print subroutine in 0F]
|
||||
A@ SF [test for number > limit]
|
||||
G42@ [jump to exit if so]
|
||||
O1@ [print space before number]
|
||||
T4F [clear acc]
|
||||
[39] A39@ GN [call print subroutine; leaves acc clear]
|
||||
E21@ [loop back for next number]
|
||||
[Here when done]
|
||||
[42] O2@ O3@ [print new line]
|
||||
O4@ [print null to flush teleprinter buffer]
|
||||
ZF [halt the machine]
|
||||
|
||||
[------------------------------------------------------------]
|
||||
[Subroutine to print 17-bit non-negative integer
|
||||
Parameters: 0F = integer to be printed (not preserved)
|
||||
1F = character for leading zero
|
||||
(preserved; typically null, space or zero)
|
||||
Workspace: 4F, 5F
|
||||
Even address; 39 locations]
|
||||
E25K TN [load at address specified by N parameter]
|
||||
GKA3FT34@A1FT35@S37@T36@T4DAFT4FH38@V4FRDA4D
|
||||
R1024FH30@E23@O35@A2FT36@T5FV4DYFL8FT4DA5F
|
||||
L1024FUFA36@G16@OFTFT35@A36@G17@ZFPFPFP4FZ219D
|
||||
|
||||
E25K TM GK [M parameter again]
|
||||
E9Z [define entry point]
|
||||
PF [acc = 0 on entry]
|
||||
Loading…
Add table
Add a link
Reference in a new issue