~ubuntu-branches/debian/lenny/corewars/lenny

« back to all changes in this revision

Viewing changes to doc/DIFFERENCES

  • Committer: Bazaar Package Importer
  • Author(s): Michael Vogt
  • Date: 2002-11-01 00:29:55 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20021101002955-d37fhgce7agioojj
Tags: 0.9.13-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This file describes the differences in the Redcode implementation
 
2
between this program and pMARS 0.8.0. Differences not mentioned here are
 
3
bugs. Please report them.
 
4
 
 
5
Walter Hofmann, March 2000
 
6
 
 
7
________________________________________
 
8
Opcodes:
 
9
 
 
10
LDP and STP are not recognised.
 
11
 
 
12
________________________________________
 
13
Pseudo opcodes:
 
14
 
 
15
Multi line EQU is not recognised. PIN is not recognised.
 
16
 
 
17
________________________________________
 
18
Modifiers:
 
19
 
 
20
All modifiers are recognised.
 
21
 
 
22
________________________________________
 
23
Addressing modes:
 
24
 
 
25
All addressing modes are recognised.
 
26
 
 
27
________________________________________
 
28
Directives:
 
29
 
 
30
Only ";name" and ";author" are recognised. All other directives are
 
31
ignored. Text before the redcode directive is not ignored.
 
32
 
 
33
________________________________________
 
34
Predefined variables:
 
35
 
 
36
Only CORESIZE, MAXPROCESSES, MAXCYCLES, MAXLENGTH, MINDISTANCE and
 
37
CURLINE are defined.
 
38
 
 
39
MINDISTANCE is minimum number of emty cells between the end of one 
 
40
program and the start of the next program. In pMARS it is the
 
41
minimum distance between the start of two programs.
 
42
 
 
43
________________________________________
 
44
Expression operators:
 
45
 
 
46
The following operators are NOT supported:
 
47
 
 
48
    Comparison:
 
49
        !=  inequality
 
50
        <   less than
 
51
        >   greater than
 
52
        <=  less than or equal
 
53
        >=  greater than or equal
 
54
 
 
55
    Logical:
 
56
        &&  and
 
57
        ||  or
 
58
        !   unary negation
 
59
 
 
60
    Assignment:
 
61
    =   (to register variables a..z)
 
62
 
 
63
Please note that two operators must not come directly after each other,
 
64
ie. 7*-5 is not allowed, use 7*(-5) or -7*5 instead.
 
65
 
 
66
________________________________________
 
67
Redcode grammar:
 
68
 
 
69
Stringisation is not supported. The right side of an EQU statement is
 
70
evaluated every time the label is used. It must evaluate to an
 
71
integer; no string substitution is done. EQU may be referenced before
 
72
they are defined. Multi line EQUs are not recognised. The last line in
 
73
a program (or the line with the END statement if there is one) must be
 
74
terminated with a newline. END and EQU statements are not allowed
 
75
within FOR blocks.