; 4.7.01
; ech.com writes the commandline after the first " till the
; penultimate character to stdout (without an trailing CRLF)
; example: ech "line with <>|^&">tmp.txt
@=$100
move.w (sp)+,r0
move.w r0,-(sp)
sub.b #-$c5,r0 ; r0=$00c5
move.w r0,-(sp)
move.w (sp)+,r6 ; r6=$00c5
sub.b #$45,r0 ; r0=$0080
move.w r0,-(sp) ;
eor.b r0,(_10-$c5).b(r6.w)
eor.b r0,(_20-$c5).b(r6.w)
eor.b r0,(_30+1-$c5).b(r6.w)
eor.w (_30+1-$c5).b(r6.w),r0 ; r0=$4378
sub.w #$425a,r0 ; r0=_50 (= $011e)
move.w r0,-(sp)
sub.b r0,(_40+1-$c5).b(r6.w)
bne.b _20
_50: move.w (sp)+,r3 ; r3=$0080
moveq.w #$40,-(sp)
move.w (sp)+,r6 ; r6=$0040
move.w (sp)+,r2
move.w r2,-(sp) ; r2=$0000
eor.b $40.b(r6.w),r2 ; num. of char
eor.w #$2333,r0 ; m0=$22
inc.w r0 ; nop
_60: inc.w r3
dec.w r2
_40: dc.b $7e,(_20-@-1)+(_50&$ff) ; ble.b _20
cmp.b m0,(r3.w)
_30: dc.b $75,(_60-@-1)^$80 ; bne.b _60
inc.w r3
dec.w r2
move.w r3,-(sp)
move.w (sp)+,r1
move.w (sp)+,r3
move.w r3,-(sp)
inc.w r3 ; r3=1
eor.w #$622e,r0 ; r0=$4000
_10: dc.b $cd^$80,$21 ; trap #$21
_20: dc.b $c3^$80 ; rts.w
file: /Techref/DOS/ech_mac.htm, 1KB, , updated: 2004/5/20 15:48, local time: 2024/12/26 09:25,
|
| ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/techref/DOS/ech_mac.htm"> ech.mac</A> |
Did you find what you needed?
|