Jump to content

CESIL: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
WyrmUK (talk | contribs)
The DATA section in a CESIL program was preceeded by a % symbol (see talk for Reference Card).
Line 36: Line 36:
HALT
HALT
%
[Output of above program running...]
1
1
2
2
3
3
-1
-1
[Output of above program running...]
The total is: 6
The total is: 6



Revision as of 13:40, 24 November 2018

Cesil, or Computer Education in Schools Instruction Language, was a programming language designed to introduce pupils in British schools to Assembly language. It is a low level language containing a total of fourteen instructions:

  • Load value - place the immediate value or the contents of the variable named in the accumulator.
  • Store variable - place the contents of the accumulator in the variable.
  • Jump label - transfer control to location labelled.
  • Jineg label - transfer control to location labelled if the accumulator contains a negative value.
  • Jizero label - transfer control to location labelled if the accumulator contains zero.
  • Print literal - output the following string, delimited by single quotes.
  • Line - output a carriage return
  • In - allow user to input a numerical value from the console.
  • Out - Output the contents of the accumulator as a decimal integer, signed if negative.
  • Add value - add the variable or immediate integer value to the accumulator.
  • Subtract value - subtract the variable or immediate integer from the accumulator.
  • Multiply value - place the product of the accumulator and the variable or immediate integer in the accumulator.
  • Divide value - place the contents of the accumulator divided by the value in the accumulator.
  • Halt - return control to console.

Examples

The following totals the integers in runtime data section until it encounters a negative value and prints the total.

        LOAD    0
LOOP    STORE   TOTAL
        IN
        JINEG   DONE
        ADD     TOTAL
        JUMP    LOOP

DONE    PRINT   "The total is: "
        LOAD    TOTAL
        OUT
        LINE
        HALT

        %
        1
        2
        3
        -1

[Output of above program running...] 
        The total is:  6