First Steps in using the DCJ11 SBC
Test Programs
Now you can start to write small test programs. As we lack an assembler the only thing you can do is entering the instruction via the ODT in octal.
The following program shows the byte write support of the glue logic
00140000/012700 ; MOV #0, R0
00140002/000000
00140004/012701 ; MOV #0, R1
00140006/000000
00140010/012702 ; MOV #400, R2
00140012/000400
00140014/110021 ; MOVB R0, (R1)+
00140016/005200 ; INC R0
00140020/077203 ; SOB R2, 140014
00140022/000000 ; HALT
00140024/000765 ; BR 140000 ; restart test using p(roceed)
This will fill the first 256 bytes with increasing values for the bytes
@0/000400
00000002/001402
00000004/002404
00000006/003406
00000010/004410
00000012/005412
You could also write something like this
00140000/012700 ; MOV #40000, R0
00140002/040000
00140004/012701 ; MOV #0, R1
00140006/000000
00140010/012702 ; MOV #0, R2
00140012/000000
00140014/010122 ; MOV R1, (R2)+
00140016/005201 ; INC R1
00140020/077003 ; SOB R0, PC-6
00140022/000000 ; HALT
This copies the values 0..37777 to the locations 0..77776.
Of course instead moving zero to a register you also could just clear it using instruction code 0055xx. But by using a MOV instruction you can change easily the start address and start value and run the program again, of course only if you do not accidentely overwrite your program.
00140000/005004 ; CLR R4
00140002/012700 ; MOV #0, R0
00140004/000000
00140006/012701 ; MOV #0, R1
00140010/000000
00140012/012702 ; MOV #20000, R2
00140014/020000
00140016/010021 ; MOV R0, (R1)+
00140020/005200 ; INC R0
00140022/005200 ; INC R0
00140024/077204 ; SOB R2, 140016
00140026/005204 ; INC R4
00140030/032737 ; BIT #200, 177560
00140032/000200
00140034/177560
00140036/001761 ; BREQ 140002
00140040/000000 ; HALT
The next program will write 128 times the character ‘C’ to the console and then HALT.
00140100/012700 ; MOV #200, R0
00140102/000200
00140104/032737 ; BIT #200, @#177564
00140106/000200
00140110/177564
00140112/001774 ; BEQ 140104
00140114/012737 ; MOV #103, @#177566
00140116/000103 ;
00140120/177566
00140122/077010 ; SOB R0, 140104
00140124/000000 ; HALT
00140126/000764 ; BR 140100
I included a BR to the start so you can repeat the test be just entering the ODT proceed (p) command.
Using PDP11GUI
Jörg Hoppe has written a very nice tool that connects to the console of a PDP-11 and of course also to the DCJ11 SBC