Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: offset on bytes ? (in hex)

5 views
Skip to first unread message

Herbert Kleebauer

unread,
Dec 30, 2006, 1:46:15 PM12/30/06
to
lisz...@aliceadsl.fr wrote:
> Herbert Kleebauer a écrit :


> Ok, maybe i have not the suitable system ? win ME. yes, on other laptop
> with XP it's fine. Also tiny hexer can do it, with appropriate scripts.

Download win95cmd.exe to execute the batch also in win9x-me or
implement it as a program in your preferred programming language.
Here an assembler version:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>hexadd.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>hexadd.com
echo ?@}IKuNWoy~JwHoSCIMGNgEltq?sGUGmnjA~gOH}H?f_agD1Dr?C?MgFGu>>hexadd.com
echo jnUgC1Gq?C?PgBgg@{E?`_wgCNCE?w?rgBkZjNArVD?fC_rVkVC?Bw_?f{>>hexadd.com
echo g@C{oBCK_@c~g?C{H{C?CAu@oCf?H{?M?Bu`?fCbBoCr?sOXxaHmz?@_L?>>hexadd.com
echo @oBW`s~sOHxaHmp?@?`LZNxHq@Dt@FDgWLBB?kBCCrqo{Ox{O?KIu@`{_O>>hexadd.com
echo {Eq@AveDxBw~xBB~0x>>hexadd.com

echo 31 d6 cf e0 d1 6a>infile
hexadd d4 <infile

:: or

echo 31 d6 cf e0 d1 6a | hexadd d4

del hexadd.com
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


The source code:

@=$100

move.w #$81,r5
movu.bw -1.b(r5.w),r2
move.w #'00',r1

_10: dec.w r2
bmi.b _20
move.b (r5.w),r0
inc.w r5
bsr.w hextst
bcs.b _10
move.b r1,m1
move.b r0,r1
br.b _10
_20: move.w r1,r0
bsr.w hex2bin
move.w r0,r4

_30: bsr.w getc
bcc.b _50
bsr.w putc
br.b _30
_50: move.b r0,m0
bsr.w getc
bcs.b _60
bsr.w hex2bin
add.w r4,r0
bsr.w bin2hex
_60: exg.b r0,m0
bsr.w putc
exg.b r0,m0
bsr.w putc
br.b _30

hex2bin:sub.b #'a'-10,r0
bcc.b _10
add.b #'a'-10-'0',r0
_10: sub.b #'a'-10,m0
bcc.b _20
add.b #'a'-10-'0',m0
_20: lsl.b #4,r0
lsr.w #4,r0
rts.w

bin2hex:eor.b m0,m0
lsl.w #4,r0
lsr.b #4,r0
cmp.b #9,r0
bls.b _10
add.b #'a'-10-'0',r0
_10: add.b #'0',r0
cmp.b #9,m0
bls.b _20
add.b #'a'-10-'0',m0
_20: add.b #'0',m0
rts.w

putc: move.w r0,-(sp)
move.b #$40,m0
move.w r7,r1
move.w #1,r2
move.w #1,r3
trap #$21
move.w (sp)+,r0
rts.w

getc: move.w r0,-(sp)
move.b #$3f,m0
move.w r7,r1
move.w #1,r2
eor.w r3,r3
trap #$21
bcs.b _100
cmp.w r0,r2
bne.b _100
move.w (sp)+,r0
bsr.w hextst
rts.w
_100: addq.w #4,r7
rts.w

hextst: cmp.b #'0',r0
blo.b _10
cmp.b #'9',r0
bls.b _20
or.b #'a'-'A',r0
cmp.b #'a',r0
blo.b _10
cmp.b #'f',r0
bhi.b _10
_20: bclr.w #0,sr
rts.w
_10: bset.w #0,sr
rts.w

0 new messages