Mercurial > hg > Members > kono > os9 > sbc09
diff CoCoOS9/level2v3/CMDS/exbin.asm @ 31:bd2b07db8917 cocoos9lv2v3
CoCoOS9 version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Jul 2018 15:16:13 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CoCoOS9/level2v3/CMDS/exbin.asm Sat Jul 14 15:16:13 2018 +0900 @@ -0,0 +1,187 @@ +******************************************************************** +* Exbin - Motorola S-Record utility +* +* $Id: exbin.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 67 Original Tandy distribution version + + nam Exbin + ttl Motorola S-Record utility + +* Disassembled 98/09/15 00:16:49 by Disasm v1.6 (C) 1988 by RML + + ifp1 + use defsfile + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $01 + + mod eom,name,tylg,atrv,start,size + +u0000 rmb 1 +u0001 rmb 1 +u0002 rmb 2 +u0004 rmb 1 +u0005 rmb 1 +u0006 rmb 2 +u0008 rmb 1 +u0009 rmb 2 +u000B rmb 1 +u000C rmb 1 +u000D rmb 1 +u000E rmb 1 +u000F rmb 1 +u0010 rmb 2 +u0012 rmb 2 +u0014 rmb 2 +u0016 rmb 656 +size equ . + +name fcs /Exbin/ + fcc "Copyright 1982 Motorola, Inc." + fcb $01 + +start stx <u0002 + lda #$01 + os9 I$Open + bcc L003C +L0039 os9 F$Exit +L003C sta <u0000 + stx <u0002 + lda #$02 + ldb #$7F + os9 I$Create + bcs L0039 + sta <u0001 + stx <u0002 + ldd #$0000 + std <u0009 + std <u000B + sta <u000F + ldx #$4E61 + stx <u0010 + ldx #$6D65 + stx <u0012 + ldx #$3D20 + stx <u0014 +L0065 lda <u0000 + leax <u0016,u + ldy #$0100 + os9 I$ReadLn + lbcs L0114 + leax <u0016,u + tfr x,y + tfr x,d + addd #$0100 + std <u0006 +L0081 lda ,x+ + cmpa #$53 + beq L008D + cmpx <u0006 + bne L0081 + bra L0065 +L008D lda ,x+ + suba #$30 + sta <u000E + beq L009E + cmpa #$09 + bne L009B + bra L0065 +L009B deca + bne L0065 +L009E bsr L011F + sta <u0008 + suba #$03 + sta <u000C + sta <u000D + bsr L011B + tst <u000E + beq L00CD + pshs x + ldx <u0009 + lda <u000F + beq L00C0 + cmpx <u0004 + beq L00C6 + leax >L018D,pcr + bra L00DE +L00C0 ldx <u0004 + lda #$01 + sta <u000F +L00C6 ldb <u000C + abx + stx <u0009 + puls x +L00CD bsr L011F + sta ,y+ + dec <u000D + bpl L00CD + lda <u0008 + inca + beq L00EB + leax >L0171,pcr +L00DE lda #$02 + ldy #$00FF + os9 I$WritLn +L00E7 clrb + lbra L0039 +L00EB lda <u000E + bne L0102 + lda #$0D + sta ,-y + lda #$01 + ldy #$00FF + leax <u0010,u + os9 I$WritLn + lbra L0065 +L0102 lda <u0001 + ldy <u000B + leax <u0016,u + os9 I$Write + lbcc L0065 + lbra L0039 +L0114 cmpb #$D3 + beq L00E7 + lbra L0039 +L011B bsr L011F + sta <u0004 +L011F lda ,x+ + bsr L013A + lsla + lsla + lsla + lsla + anda #$F0 + pshs a + lda ,x+ + bsr L013A + adda ,s+ + sta <u0005 + adda <u0008 + sta <u0008 + lda <u0005 + rts +L013A suba #$30 + bmi L0149 + cmpa #$09 + ble L0148 + suba #$07 + cmpa #$0F + bhi L0149 +L0148 rts +L0149 leax >L014F,pcr + bra L00DE +L014F fcc "** NON-HEX CHARACTER ENCOUNTERED" + fcb $07,C$CR +L0171 fcc "** CHECKSUM ERROR DETECTED" + fcb $07,C$CR +L018D fcc "** NON-CONTIGUOUS ADDRESS SPACE DETECTED" + fcb $07,C$CR + + emod +eom equ * + end