Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

35
Lang/SSEM/00DESCRIPTION Normal file
View file

@ -0,0 +1,35 @@
{{language|SSEM}}
The Manchester Small-Scale Experimental Machine (SSEM or "Manchester Baby"), constructed in 1948, was the world's first stored-program electronic computer. Although its storage space (32 words of 32 bits each) was too limited for it to be a really practical general-purpose machine, the SSEM is of considerable historical interest.
The machine could only be programmed in pure binary machine code from the front panel. No assembly language was ever specified for it, but there was a more or less standardized mnemonic notation used when drafting programs on a piece of paper before entering them into the machine.
Each storage address could hold either a signed 32-bit integer (using two's complement for negative values) or an instruction word. Unlike most later digital computers, the SSEM's binary notation has the least significant bit first: 1 is one, 01 is two, 001 is four, etc. In an instruction word, the leftmost five bits stored the address of the operand and bits 13-15 stored the instruction itself. The operand was always a storage address and never an immediate value, even in the case of jumps: the jump target needed to be stored in a separate word, to which the jump would refer. The instruction set consisted of:
<table border=1>
<tr>
<td><tt>000 <operand> to CI</tt></td><td>load the number stored at address <tt>operand</tt> into the Current Instruction register. CI would then be incremented, so this is equivalent to <tt>goto store[operand] + 1</tt></td>
</tr>
<tr>
<td><tt>100 Add <operand> to CI</tt></td><td>relative jump ahead by one more than the number stored at <tt>operand</tt> (because CI is incremented anyway after the instruction has been executed)</td>
</tr>
<tr>
<td><tt>010 -<operand> to c</tt></td><td>load <i>the negation of</i> the number stored at <tt>operand</tt> into the accumulator</td>
</tr>
<tr>
<td><tt>110 c to <operand></tt></td><td>store the number in the accumulator at address <tt>operand</tt></td>
</tr>
<tr>
<td><tt>001 Sub. <operand></tt></td><td>subtract the number stored at <tt>operand</tt> from the number stored in the accumulator, leaving the result in the accumulator</td>
</tr>
<tr>
<td><tt>101 Sub. <operand></tt></td><td>identical to <tt>001</tt></td>
</tr>
<tr>
<td><tt>011 Test</tt></td><td>skip the next instruction if the number in the accumulator is negative</td>
</tr>
<tr>
<td><tt>111 Stop</tt></td><td>halt</td>
</tr>
</table>
Several emulators exist allowing SSEM code to be run on modern computers, including two browser-based implementations: David Sharp's [http://www.davidsharp.com/baby/ Manchester Baby Simulator] in Java and Edmund Griffiths's [http://www.edmundgriffiths.com/jsssem.html JsSSEM] in JavaScript.

1
Lang/SSEM/A+B Symbolic link
View file

@ -0,0 +1 @@
../../Task/A+B/SSEM

View file

@ -0,0 +1 @@
../../Task/Arithmetic-Integer/SSEM

1
Lang/SSEM/Arrays Symbolic link
View file

@ -0,0 +1 @@
../../Task/Arrays/SSEM

1
Lang/SSEM/Caesar-cipher Symbolic link
View file

@ -0,0 +1 @@
../../Task/Caesar-cipher/SSEM

1
Lang/SSEM/Call-a-function Symbolic link
View file

@ -0,0 +1 @@
../../Task/Call-a-function/SSEM

1
Lang/SSEM/Comments Symbolic link
View file

@ -0,0 +1 @@
../../Task/Comments/SSEM

View file

@ -0,0 +1 @@
../../Task/Conditional-structures/SSEM

1
Lang/SSEM/Empty-program Symbolic link
View file

@ -0,0 +1 @@
../../Task/Empty-program/SSEM

1
Lang/SSEM/Even-or-odd Symbolic link
View file

@ -0,0 +1 @@
../../Task/Even-or-odd/SSEM

1
Lang/SSEM/Factorial Symbolic link
View file

@ -0,0 +1 @@
../../Task/Factorial/SSEM

View file

@ -0,0 +1 @@
../../Task/Fibonacci-sequence/SSEM

View file

@ -0,0 +1 @@
../../Task/Flow-control-structures/SSEM

View file

@ -0,0 +1 @@
../../Task/Function-definition/SSEM

View file

@ -0,0 +1 @@
../../Task/Hello-world-Graphical/SSEM

View file

@ -0,0 +1 @@
../../Task/Integer-comparison/SSEM

1
Lang/SSEM/Integer-sequence Symbolic link
View file

@ -0,0 +1 @@
../../Task/Integer-sequence/SSEM

1
Lang/SSEM/Jump-anywhere Symbolic link
View file

@ -0,0 +1 @@
../../Task/Jump-anywhere/SSEM

View file

@ -0,0 +1 @@
../../Task/Loops-Downward-for/SSEM

View file

@ -0,0 +1 @@
../../Task/Loops-For-with-a-specified-step/SSEM

View file

@ -0,0 +1 @@
../../Task/Program-termination/SSEM

1
Lang/SSEM/README Normal file
View file

@ -0,0 +1 @@
Data source: http://rosettacode.org/wiki/Category:SSEM

View file

@ -0,0 +1 @@
../../Task/Singly-linked-list-Element-definition/SSEM

View file

@ -0,0 +1 @@
../../Task/Singly-linked-list-Traversal/SSEM