Updated the page on the MACRO-10 macro recursion test
This commit is contained in:
parent
5d2a1ed16b
commit
0c88f362e2
4 changed files with 49 additions and 8 deletions
|
|
@ -7,13 +7,20 @@ machines:
|
||||||
type: pdp10
|
type: pdp10
|
||||||
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
|
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
|
||||||
debugger: true
|
debugger: true
|
||||||
commands: a 100 /apps/pdp10/tests/MACTEST1.MAC
|
|
||||||
---
|
---
|
||||||
|
|
||||||
DEC PDP-10 Opcode Tests
|
DEC PDP-10 Tests
|
||||||
-----------------------
|
----------------
|
||||||
|
|
||||||
The PDP-10 machine below loads the following test:
|
This page describes a collection of tests used to perform *very* simple exercises of PDPjs components:
|
||||||
|
|
||||||
|
- [Simple Opcode Tests](#simple-opcode-tests)
|
||||||
|
- [MACRO-10 Mini-Assembler Tests](#macro-10-mini-assembler-tests)
|
||||||
|
|
||||||
|
Simple Opcode Tests
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The PDP-10 machine below loads the following hand-written test:
|
||||||
|
|
||||||
- [PDP-10 Half-Word Opcode Test](OPTEST01.json)
|
- [PDP-10 Half-Word Opcode Test](OPTEST01.json)
|
||||||
|
|
||||||
|
|
@ -122,3 +129,36 @@ To assemble and test the same instructions in [SIMH](https://github.com/simh/sim
|
||||||
1: 111111444444
|
1: 111111444444
|
||||||
2: 444444111111
|
2: 444444111111
|
||||||
3: 000000000000
|
3: 000000000000
|
||||||
|
|
||||||
|
MACRO-10 Mini-Assembler Tests
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
The following command loads an early test of the built-in PDPjs MACRO-10 Mini-Assembler:
|
||||||
|
|
||||||
|
a 100 /apps/pdp10/tests/TEXT.MAC
|
||||||
|
|
||||||
|
[TEXT.MAC](TEXT.MAC.txt) is a copy of the file listed on p. 7-9 of the
|
||||||
|
[MACRO-10 Assembler Programmer's Reference Manual (June 1972)](/pubs/dec/pdp10/). It's a simple test
|
||||||
|
of nested macro definitions, recursion, expressions using shift operators and character constants,
|
||||||
|
and pseudo-ops **IRPC**, **IFE**, **IFN**, and **EXP**. It generates 4 words of data.
|
||||||
|
|
||||||
|
If successful, the following results should appear:
|
||||||
|
|
||||||
|
>> a 100 /apps/pdp10/tests/TEXT.MAC
|
||||||
|
starting PCjs MACRO-10 Mini-Assembler...
|
||||||
|
loading TEXT.MAC
|
||||||
|
4 words loaded at 000100-000103
|
||||||
|
00=000000000000 01=000000000000 02=000000000000 03=000000000000
|
||||||
|
04=000000000000 05=000000000000 06=000000000000 07=000000000000
|
||||||
|
10=000000000000 11=000000000000 12=000000000000 13=000000000000
|
||||||
|
14=000000000000 15=000000000000 16=000000000000 17=000000000000
|
||||||
|
PC=000100 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0
|
||||||
|
000100: 014101 102103 UUO 2,102103(1)
|
||||||
|
|
||||||
|
and if you dump the first 4 words with the command `db 100 l4`:
|
||||||
|
|
||||||
|
>> db 100 l4
|
||||||
|
000100: 014101 102103 003 004 011 004 041 ....!
|
||||||
|
000101: 104105 106107 021 004 051 014 043 ..).#
|
||||||
|
000102: 110111 112113 022 004 111 024 045 ..I.%
|
||||||
|
000103: 114000 000000 023 000 000 000 000 .....
|
||||||
|
|
|
||||||
|
|
@ -2867,7 +2867,7 @@ class DebuggerPDP10 extends Debugger {
|
||||||
while (n-- > 0 && nWords-- > 0) {
|
while (n-- > 0 && nWords-- > 0) {
|
||||||
var w = this.getWord(dbgAddr, 1);
|
var w = this.getWord(dbgAddr, 1);
|
||||||
if (fJSON) {
|
if (fJSON) {
|
||||||
if (sData) sData += ",";
|
if (sData) sData += ',';
|
||||||
sData += w;
|
sData += w;
|
||||||
} else {
|
} else {
|
||||||
sData += this.toStrWord(w);
|
sData += this.toStrWord(w);
|
||||||
|
|
@ -2880,7 +2880,7 @@ class DebuggerPDP10 extends Debugger {
|
||||||
var shift = 36 - nBits;
|
var shift = 36 - nBits;
|
||||||
for (var i = 0; size == 1 && shift >= 0; i++) {
|
for (var i = 0; size == 1 && shift >= 0; i++) {
|
||||||
var c = ((w / Math.pow(2, shift)) % Math.pow(2, nBits));
|
var c = ((w / Math.pow(2, shift)) % Math.pow(2, nBits));
|
||||||
sData += this.toStrBase(c, nBits);
|
sData += this.toStrBase(c, nBits) + ' ';
|
||||||
c += (nBits == 6? 0x20 : 0);
|
c += (nBits == 6? 0x20 : 0);
|
||||||
sChars += (c < 0x20? '.' : String.fromCharCode(c));
|
sChars += (c < 0x20? '.' : String.fromCharCode(c));
|
||||||
shift -= nBits;
|
shift -= nBits;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ PDP-10 Publications
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
This page summarizes PDP-10 documentation that was useful in creating [PDPjs](/docs/pdpjs/). In most cases,
|
This page summarizes PDP-10 documentation that was useful in creating [PDPjs](/docs/pdpjs/). In most cases,
|
||||||
these documents came from the PDF Document Archive at [bitsavers.org](http://bitsavers.org), in the [/pdf/dec/pdp10/](http://bitsavers.org/pdf/dec/pdp10/)
|
these documents came from the PDF Document Archive at [bitsavers.org](http://bitsavers.org), in the [/pdf/dec/pdp10/](http://bitsavers.org/pdf/dec/pdp10/)
|
||||||
directory. If a PDF was not searchable, it was "OCR'ed" before being archived below.
|
directory. If a PDF was not searchable, it was "OCR'ed" before being archived below.
|
||||||
|
|
||||||
PDP-10 Hardware Publications
|
PDP-10 Hardware Publications
|
||||||
|
|
@ -19,4 +19,5 @@ PDP-10 Hardware Publications
|
||||||
PDP-10 Software Publications
|
PDP-10 Software Publications
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
- [MACRO-10 Assembler Programmer's Reference Manual (April 1972)](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) [[Original PDF](http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/TOPS10/1973_Assembly_Language_Handbook/02_1973AsmRef_macro.pdf)]
|
- [MACRO-10 Assembler Programmer's Reference Manual (June 1972)](http://archive.pcjs.org/pubs/dec/pdp10/tops10/Macro_Assembler_Reference_Manual-Jun72.pdf) [[Original PDF](http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/TOPS10/1973_Assembly_Language_Handbook/02_1973AsmRef_macro.pdf)]
|
||||||
|
- [MACRO-10 Assembler Programmer's Reference Manual (April 1978)](http://archive.pcjs.org/pubs/dec/pdp10/tops10/Macro_Assembler_Reference_Manual-Apr78.pdf) [[Original PDF](http://www.livingcomputers.org/Discover/Online-Systems/User-Documentation/Tops-10-v7-04/4_Macro_Assembler_Reference_Manual.aspx)]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue