home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
ftp.vapor.com
/
microdot-1
/
md1_src_02.lzx
/
iso.a
< prev
next >
Wrap
Text File
|
1989-06-24
|
4KB
|
183 lines
section "_MERGED",data
BAD equ 32
xdef ___is2ibtab
___is2ibtab:
iso2ibm:
dc.b 0,1,2,3,4,5,6,7
dc.b 8,9,10,11,12,13,14,15
dc.b 16,17,18,19,182,186,22,23
dc.b 24,25,26,27,28,29,30,31
dc.b 32,33,34,35,36,37,38,39
dc.b 40,41,42,43,44,45,46,47
dc.b 48,49,50,51,52,53,54,55
dc.b 56,57,58,59,60,61,62,63
dc.b 64,65,66,67,68,69,70,71
dc.b 72,73,74,75,76,77,78,79
dc.b 80,81,82,83,84,85,86,87
dc.b 88,89,90,91,92,93,94,95
dc.b 96,97,98,99,100,101,102,103
dc.b 104,105,106,107,108,109,110,111
dc.b 112,113,114,115,116,117,118,119
dc.b 120,121,122,123,124,125,126,127
dc.b 199,252,233,226,228,224,229,231
dc.b 234,235,232,239,238,236,196,197
dc.b 201,181,198,244,247,242,251,249
dc.b 223,214,220,243,183,209,158,159
dc.b 255,173,155,156,177,157,188,21
dc.b 191,169,166,174,170,237,189,187
dc.b 248,241,253,179,180,230,20,250
dc.b 184,185,167,175,172,171,190,168
dc.b 192,193,194,195,142,143,146,128
dc.b 200,144,202,203,204,205,206,207
dc.b 208,165,210,211,212,213,153,215
dc.b 216,217,218,219,154,221,222,225
dc.b 133,160,131,227,132,134,145,135
dc.b 138,130,136,137,141,161,140,139
dc.b 240,164,149,162,147,245,148,246
dc.b 176,151,163,150,129,178,254,152
xdef ___ib2istab
___ib2istab:
ibm2iso:
dc.b 0,1,2,3,4,5,6,7
dc.b 8,9,10,11,12,13,14,15
dc.b 16,17,18,19,182,167,22,23
dc.b 24,25,26,27,28,29,30,31
dc.b 32,33,34,35,36,37,38,39
dc.b 40,41,42,43,44,45,46,47
dc.b 48,49,50,51,52,53,54,55
dc.b 56,57,58,59,60,61,62,63
dc.b 64,65,66,67,68,69,70,71
dc.b 72,73,74,75,76,77,78,79
dc.b 80,81,82,83,84,85,86,87
dc.b 88,89,90,91,92,93,94,95
dc.b 96,97,98,99,100,101,102,103
dc.b 104,105,106,107,108,109,110,111
dc.b 112,113,114,115,116,117,118,119
dc.b 120,121,122,123,124,125,126,127
dc.b 199,252,233,226,228,224,229,231
dc.b 234,235,232,239,238,236,196,197
dc.b 201,230,198,244,246,242,251,249
dc.b 255,214,220,162,163,165,158,159
dc.b 225,237,243,250,241,209,170,186
dc.b 191,169,172,189,188,161,171,187
dc.b 248,164,253,179,180,145,20,156
dc.b 184,185,21,175,166,174,190,168
dc.b 192,193,194,195,142,143,146,128
dc.b 200,144,202,203,204,205,206,207
dc.b 208,157,210,211,212,213,153,215
dc.b 216,217,218,219,154,221,222,152
dc.b 133,223,131,227,132,134,181,135
dc.b 138,130,136,137,141,173,140,139
dc.b 240,177,149,155,147,245,247,148
dc.b 176,151,183,150,129,178,254,160
section "text",code
xdef _siso2ibm
_siso2ibm:
lea iso2ibm(a4),a1
bra.s l3
xdef _sibm2iso ; a0 = string
_sibm2iso:
lea ibm2iso(a4),a1
l3:
moveq #0,d0
l1:
move.b (a0),d0
; beq.s l2
move.b 0(a1,d0.w),(a0)+
bne.s l1
l2:
rts
xdef _bibm2iso ; a0 = block,d0 = count
_bibm2iso:
lea ibm2iso(a4),a1
moveq #0,d1
bra.s bl1
bl2:
move.b (a0),d1
move.b 0(a1,d1.w),(a0)+
bl1:
dbf d0,bl2
rts
xdef _sibmclnl ; a0 = string
_sibmclnl:
lea ibm2iso(a4),a1
moveq #0,d0
scl1:
move.b (a0),d0
beq.s scl3
cmp.b #10,d0
beq.s scl2
cmp.b #13,d0
beq.s scl2
move.b 0(a1,d0.w),(a0)+
bra.s scl1
scl2:
clr.b (a0)
scl3:
rts
xdef _biso2ibmnl ; a0 = from,a1 = to,d0 = inlen
_biso2ibmnl:
movem.l d2-d5/a2,-(sp)
lea iso2ibm(a4),a2
moveq #10,d3
moveq #13,d4
moveq #0,d2
move.l a1,d5
bra.s xbl2
xbl1:
move.b (a0)+,d2
cmp.b d4,d2
beq.s xbl2 ; CR ⁿberspringen
move.b 0(a2,d2.w),(a1)+
cmp.b d3,d2 ; LF?
bne.s xbl2
move.b d4,(a1)+
xbl2:
dbf d0,xbl1
move.l a1,d0
sub.l d5,d0 ; outbytes
movem.l (sp)+,d2-d5/a2
rts
xdef _scpy_iso2ibm ; a0 = from,a1 = to
_scpy_iso2ibm:
move.l a2,d1
lea iso2ibm(a4),a2
moveq #0,d0
yy1:
move.b (a0)+,d0
move.b 0(a2,d0.w),(a1)+
bne.s yy1
move.l d1,a2
rts
xdef _scpy_ibm2iso ; a0 = from,a1 = to
_scpy_ibm2iso:
move.l a2,d1
lea ibm2iso(a4),a2
moveq #0,d0
yy3:
move.b (a0)+,d0
move.b 0(a2,d0.w),(a1)+
bne.s yy3
move.l d1,a2
rts
end