home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
ftp.vapor.com
/
microdot-1
/
md1_src_02.lzx
/
iso_old.a
< prev
next >
Wrap
Text File
|
1989-06-24
|
4KB
|
189 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,20,21,22,23
dc.b 24,25,26,27,28,29,30,31
dc.b ' ','!',34,'#','$',37,'&',39
dc.b '(',')','*','+',',','-','.','/'
dc.b '0','1','2','3','4','5','6','7'
dc.b '8','9',':',';','<','=','>','?'
dc.b '@','A','B','C','D','E','F','G'
dc.b 'H','I','J','K','L','M','N','O'
dc.b 'P','Q','R','S','T','U','V','W'
dc.b 'X','Y','Z','[',92,']','^','_'
dc.b 96,'a','b','c','d','e','f','g'
dc.b 'h','i','j','k','l','m','n','o'
dc.b 'p','q','r','s','t','u','v','w'
dc.b 'x','y','z','{','|','}',126,127
dc.b BAD,BAD,BAD,BAD,BAD,BAD,BAD,BAD
dc.b BAD,BAD,BAD,BAD,BAD,BAD,BAD,BAD
dc.b BAD,BAD,BAD,BAD,BAD,BAD,BAD,BAD
dc.b BAD,BAD,BAD,155,BAD,BAD,BAD,BAD
dc.b ' ',173,155,156,'o',157,'|',21
dc.b 34,'C',166,174,170,196,'R','-'
dc.b 248,241,253,'3',39,230,20,250
dc.b ',','1',167,175,172,171,BAD,168
dc.b 'A','A','A','A',142,143,146,128
dc.b 'E',144,'E','E','I','I','I','I'
dc.b 'D',165,'O','O','O','O',153,'x'
dc.b 'O','U','U','U',154,'Y','P',225
dc.b 133,160,131,'a',132,134,145,135
dc.b 138,130,136,137,141,161,140,139
dc.b 'd',164,149,162,147,'o',148,246
dc.b 237,151,163,150,129,'y','p',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,20,21,22,23
dc.b 24,25,26,27,28,29,30,31
dc.b ' ','!',34,'#','$',37,'&',39
dc.b '(',')','*','+',',','-','.','/'
dc.b '0','1','2','3','4','5','6','7'
dc.b '8','9',':',';','<','=','>','?'
dc.b '@','A','B','C','D','E','F','G'
dc.b 'H','I','J','K','L','M','N','O'
dc.b 'P','Q','R','S','T','U','V','W'
dc.b 'X','Y','Z','[',92,']','^','_'
dc.b 96,'a','b','c','d','e','f','g'
dc.b 'h','i','j','k','l','m','n','o'
dc.b 'p','q','r','s','t','u','v','w'
dc.b 'x','y','z','{','|','}',126,127
dc.b 199,252,233,226,228,224,229,231 ; 128
dc.b 234,235,232,239,238,236,196,197 ; 136
dc.b 201,230,198,244,246,242,251,249 ; 144
dc.b 255,214,220,162,163,165,'P','f' ; 152
dc.b 225,237,243,250,241,209,170,186 ; 160
dc.b 191,'-',172,189,188,161,171,187 ; 168
dc.b '#','#','#','|','|','|','|','+' ; 176
dc.b '+','|','|','+','+','+','+','+' ; 184
dc.b '+','-','-','|',173,'+','|','|' ; 192
dc.b '+','+','-','-','|','-','+','-' ; 200
dc.b '-','-','-','+','+','+','+','+' ; 208
dc.b '+','+','+','#','#','#','#','#' ; 216
dc.b 'a',223,'G','n','S','s',181,'t' ; 224
dc.b 'O','O','O','d',BAD,'O','e',BAD ; 232
dc.b '=',177,BAD,BAD,BAD,BAD,247,'=' ; 240
dc.b 176,183,183,'V','n',178,183,' ' ; 248
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