From b6f87dacd8c141940a0061c7c8af32ce1d9e2963 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 20 Jun 2017 21:04:43 +0200 Subject: Add docs --- doc/tutorial.txt | 473 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 473 insertions(+) create mode 100644 doc/tutorial.txt (limited to 'doc/tutorial.txt') diff --git a/doc/tutorial.txt b/doc/tutorial.txt new file mode 100644 index 0000000..e9198af --- /dev/null +++ b/doc/tutorial.txt @@ -0,0 +1,473 @@ +Newsgroups: rec.games.corewar +From: DURHAM@ricevm1.rice.edu (Mark A. Durham) +Subject: Intro to Redcode Part I +Organization: Rice University, Houston, TX +Date: Thu, 14 Nov 1991 09:41:37 GMT + +Introduction to Redcode +----------------------- + + I. Preface - Reader Beware! { Part I } + + II. Notation { Part I } + +III. MARS Peculiarities { Part I } + + IV. Address Modes { Part II } + + V. Instruction Set { Part II } + +---------------------------------------------------------------------- + +I. Preface - Reader Beware! + + The name "Core War" arguably can be claimed as public domain. +Thus, any program can pass itself off as an implementation of Core +War. Ideally, one would like to write a Redcode program on one system +and know that it will run in exactly the same manner on every other +system. Alas, this is not the case. + Basically, Core War systems fall under one of four catagories: +Non-ICWS, ICWS'86, ICWS'88, or Extended. Non-ICWS systems are usually +a variant of Core War as described by A. K. Dewdney in his "Computer +Recreations" articles appearing in Scientific American. ICWS'86 and +ICWS'88 systems conform to the standards set out by the International +Core War Society in their standards of 1986 and 1988, respectively. +Extended systems generally support ICWS'86, ICWS'88, and proprietary +extensions to those standards. I will discuss frequently common +extensions as if they were available on all Extended systems (which +they most certainly are not). + I will not describe Non-ICWS systems in this article. Most Non- +ICWS systems will be easily understood if you understand the systems +described in this article however. Although called "standards", +ICWS'86 and ICWS'88 (to a lesser extent) both suffer from ambiguities +and extra-standard issues which I will try to address. + This is where the reader should beware. Because almost any +interpretation of the standard(s) is as valid as any other, I +naturally prefer MY interpretation. I will try to point out other +common interpretations when ambiguities arise though, and I will +clearly indicate what is interpretation (mine or otherwise) as such. +You have been warned! + +---------------------------------------------------------------------- + +II. Notation + + "86:" will indicate an ICWS'86 feature. "88:" will indicate an +ICWS'88 feature. "X:" will indicate an Extended feature. "Durham:" +will indicate my biased interpretation. "Other:" will indicate +interpretations adhered to by others. "Commentary:" is me explaining +what I am doing and why. "Editorial:" is me railing for or against +certain usages. Items without colon-suffixed prefaces can be +considered universal. + + Redcode consists of assembly language instructions of the form + +