Mercurial > hg > Members > kono > nitros9-code
diff level1/cmds/dump.asm @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children | 6b140c61492c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/cmds/dump.asm Thu Apr 04 16:34:12 2002 +0000 @@ -0,0 +1,218 @@ +******************************************************************** +* Dump - Show file contents in hex +* +* $Id$ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 5 Original Tandy distribution version + + nam Dump + ttl Show file contents in hex + +* Disassembled 98/09/14 23:34:34 by Disasm v1.6 (C) 1988 by RML + + ifp1 + use defsfile + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $01 +edition set 5 + + mod eom,name,tylg,atrv,start,size + +u0000 rmb 1 +u0001 rmb 1 +u0002 rmb 1 +u0003 rmb 1 +u0004 rmb 1 +u0005 rmb 1 +u0006 rmb 2 +u0008 rmb 2 +u000A rmb 2 +u000C rmb 16 +u001C rmb 5 +u0021 rmb 1 +u0022 rmb 16 +u0032 rmb 8 +u003A rmb 17 +u004B rmb 16 +u005B rmb 201 +size equ . + +name fcs /Dump/ + fcb edition +L0012 fcc "Addr 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 2 4 6 8 A C E" + fcb C$CR +L0051 fcc "---- ---- ---- ---- ---- ---- ---- ---- ---- ----------------" +L0090 fcb C$CR +L0091 fcb C$LF + fcb C$LF + fcb C$LF + fcb C$LF + fcc " 0 1 2 3 4 5 6 7 0 2 4 6" + fcb C$LF + fcc "ADDR 8 9 A B C D E F 8 A C E"" + fcb C$CR +L00D1 fcc "==== +-+-+-+-+-+-+-+- + + + + " + fcb C$CR + +L00F0 lda ,x+ + cmpa #$20 + beq L00F0 + leax -$01,x + cmpa #$0D + rts + +start lda #63 + sta <u000A + clr <u0000 + pshs y,x,b,a + lda #1 + ldb #SS.ScSiz + os9 I$GetStt get size of window + bcc L0115 + cmpb #E$UnkSvc + beq L0120 + puls y,x,b,a + lbra L01FE +L0115 cmpx #80 + beq L0120 + ldb #31 + stb <u000A + inc <u0000 +L0120 puls y,x,b,a + ldd #$0001 + std <u0001 + bsr L00F0 + beq L0147 + lda #READ. + os9 I$Open + lbcs L01FE + sta <u0001 + bsr L00F0 + beq L0147 + lda #WRITE. + ldb #$0B + os9 I$Create + lbcs L01FE + sta <u0002 +L0147 ldd #$0000 +L014A std <u0003 + tst <u0000 + beq L0156 + bitb #$3F + bne L017D + bra L0159 +L0156 tstb + bne L017D +L0159 leax >L0090,pcr + lbsr L01EF + leax >L0012,pcr + tst <u0000 + beq L016C + leax >L0091,pcr +L016C lbsr L01EF + leax >L0051,pcr + tst <u0000 + beq L017B + leax >L00D1,pcr +L017B bsr L01EF +L017D leax <u001C,u + lda #$20 + ldb <u000A +L0184 sta ,x+ + decb + bne L0184 + leax <u001C,u + stx <u0006 + lda <u0003 + bsr L0201 + lda <u0004 + bsr L0201 + leax <u0022,u + stx <u0006 + leax <u004B,u + stx <u0008 + ldy #$0010 + tst <u0000 + beq L01B6 + leax <u0021,u + stx <u0006 + leax <u0032,u + stx <u0008 + ldy #$0008 +L01B6 leax u000C,u + lda <u0001 + os9 I$Read + bcs L01F9 + tfr y,d + stb <u0005 +L01C3 bsr L0223 + decb + beq L01D5 + bsr L0223 + tst <u0000 + bne L01D2 + lda #$20 + bsr L0219 +L01D2 decb + bne L01C3 +L01D5 lda #$0D + sta <u005B + tst <u0000 + beq L01DF + sta <u003A +L01DF leax <u001C,u + bsr L01EF + bcs L01FE + ldd <u0003 + addb <u0005 + adca #$00 + lbra L014A +L01EF ldy #$0050 + lda <u0002 + os9 I$WritLn + rts +L01F9 cmpb #E$EOF + bne L01FE + clrb +L01FE os9 F$Exit +L0201 pshs a + lsra + lsra + lsra + lsra + bsr L020F + lda ,s + bsr L020F + puls pc,a +L020F anda #$0F + cmpa #$09 + bls L0217 + adda #$07 +L0217 adda #$30 +L0219 pshs x + ldx <u0006 + sta ,x+ + stx <u0006 + puls pc,x +L0223 lda ,x+ + bsr L0201 + pshs x,a + anda #$7F + cmpa #$20 + bcs L0233 + cmpa #$7E + bcs L0235 +L0233 lda #$2E +L0235 ldx <u0008 + sta ,x+ + stx <u0008 + puls pc,x,a + + emod +eom equ * + end