.NLIST ; .INCLUDE /ASCII.MAC/ ; .INCLUDE /HWDF.MAC/ ; .INCLUDE /DSMAC.MAC/ ; .INCLUDE /MYMAC.MAC/ .LIST .TITLE VAX-RO .IDENT /01/ .ASECT .=^X<2080> ShowHex: BISB2 I^#^X<0x30>, R0 ;'0 CMPB R0, I^#^X<0x39> ;'9 BLEQ ShowChar ADDB2 I^#^X<0x7>, R0 ;'A-'9 ShowChar: MFPR I^#^X<0x22>, R8 BITB I^#^X<0x80>, R8 BEQL ShowChar MTPR R0, I^#^X<0x23> RSB .BYTE ^X<1> ; ??? .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> ShowByte: MOVL R2, R0 BICL2 I^#^X<0xFFFFFF0F>, R0 ; First digit ASHL I^#^D<-4>, R0, R0 BSBB ShowHex MOVL R2, R0 BICL2 I^#^X<0xFFFFFFF0>, R0 ; Second digit BSBB ShowHex RSB .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> ShowLong: BSBB ShowByte ; First byte MOVB I^#^X<0x20>, R0 ; space BSBB ShowChar ASHL I^#^D<-8>, R2, R2 ; Second Byte BSBB ShowByte MOVB I^#^X<0x20>, R0 ; space BSBB ShowChar ASHL I^#^D<-8>, R2, R2 ; Third byte BSBB ShowByte MOVB I^#^X<0x20>, R0 ; space BSBB ShowChar ASHL I^#^D<-8>, R2, R2 ; Fourth byte BSBB ShowByte MOVB I^#^X<0x7C>, R0 ; | BSBW ShowChar RSB .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> ShowAddress: MOVL R1, R2 ASHL I^#^D<-24>, R2, R2 ; Fourth byte BSBW ShowByte MOVL R1, R2 ASHL I^#^D<-16>, R2, R2 ; Third byte BSBW ShowByte MOVL R1, R2 ASHL I^#^D<-8>, R2, R2 ; Second byte BSBW ShowByte MOVL R1, R2 ; First byte BSBW ShowByte MOVB I^#^X<0x3A>, R0 ; : BSBW ShowChar MOVB I^#^X<0x20>, R0 ; space BSBW ShowChar RSB .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> START: MOVL I^#^X<0x20040000>, R1 RomLoop: BSBW ShowAddress MOVL (R1)+, R2 BSBW ShowLong MOVL (R1)+, R2 BSBW ShowLong MOVL (R1)+, R2 BSBW ShowLong MOVL (R1)+, R2 BSBW ShowLong MOVB I^#^X<0xA>, R0 BSBW ShowChar CMPL R1, I^#^X<0x20050000> BLSSU RomLoop HALT .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .BYTE ^X<0> .END