Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
35
Lang/SSEM/00DESCRIPTION
Normal file
35
Lang/SSEM/00DESCRIPTION
Normal 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
1
Lang/SSEM/A+B
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/A+B/SSEM
|
||||
1
Lang/SSEM/Arithmetic-Integer
Symbolic link
1
Lang/SSEM/Arithmetic-Integer
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Arithmetic-Integer/SSEM
|
||||
1
Lang/SSEM/Arrays
Symbolic link
1
Lang/SSEM/Arrays
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Arrays/SSEM
|
||||
1
Lang/SSEM/Caesar-cipher
Symbolic link
1
Lang/SSEM/Caesar-cipher
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Caesar-cipher/SSEM
|
||||
1
Lang/SSEM/Call-a-function
Symbolic link
1
Lang/SSEM/Call-a-function
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Call-a-function/SSEM
|
||||
1
Lang/SSEM/Comments
Symbolic link
1
Lang/SSEM/Comments
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Comments/SSEM
|
||||
1
Lang/SSEM/Conditional-structures
Symbolic link
1
Lang/SSEM/Conditional-structures
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Conditional-structures/SSEM
|
||||
1
Lang/SSEM/Empty-program
Symbolic link
1
Lang/SSEM/Empty-program
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Empty-program/SSEM
|
||||
1
Lang/SSEM/Even-or-odd
Symbolic link
1
Lang/SSEM/Even-or-odd
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Even-or-odd/SSEM
|
||||
1
Lang/SSEM/Factorial
Symbolic link
1
Lang/SSEM/Factorial
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Factorial/SSEM
|
||||
1
Lang/SSEM/Fibonacci-sequence
Symbolic link
1
Lang/SSEM/Fibonacci-sequence
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Fibonacci-sequence/SSEM
|
||||
1
Lang/SSEM/Flow-control-structures
Symbolic link
1
Lang/SSEM/Flow-control-structures
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Flow-control-structures/SSEM
|
||||
1
Lang/SSEM/Function-definition
Symbolic link
1
Lang/SSEM/Function-definition
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Function-definition/SSEM
|
||||
1
Lang/SSEM/Hello-world-Graphical
Symbolic link
1
Lang/SSEM/Hello-world-Graphical
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Hello-world-Graphical/SSEM
|
||||
1
Lang/SSEM/Integer-comparison
Symbolic link
1
Lang/SSEM/Integer-comparison
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Integer-comparison/SSEM
|
||||
1
Lang/SSEM/Integer-sequence
Symbolic link
1
Lang/SSEM/Integer-sequence
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Integer-sequence/SSEM
|
||||
1
Lang/SSEM/Jump-anywhere
Symbolic link
1
Lang/SSEM/Jump-anywhere
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Jump-anywhere/SSEM
|
||||
1
Lang/SSEM/Loops-Downward-for
Symbolic link
1
Lang/SSEM/Loops-Downward-for
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Loops-Downward-for/SSEM
|
||||
1
Lang/SSEM/Loops-For-with-a-specified-step
Symbolic link
1
Lang/SSEM/Loops-For-with-a-specified-step
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Loops-For-with-a-specified-step/SSEM
|
||||
1
Lang/SSEM/Program-termination
Symbolic link
1
Lang/SSEM/Program-termination
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Program-termination/SSEM
|
||||
1
Lang/SSEM/README
Normal file
1
Lang/SSEM/README
Normal file
|
|
@ -0,0 +1 @@
|
|||
Data source: http://rosettacode.org/wiki/Category:SSEM
|
||||
1
Lang/SSEM/Singly-linked-list-Element-definition
Symbolic link
1
Lang/SSEM/Singly-linked-list-Element-definition
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Singly-linked-list-Element-definition/SSEM
|
||||
1
Lang/SSEM/Singly-linked-list-Traversal
Symbolic link
1
Lang/SSEM/Singly-linked-list-Traversal
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../Task/Singly-linked-list-Traversal/SSEM
|
||||
Loading…
Add table
Add a link
Reference in a new issue