1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-01-13 15:27:49 +00:00

32 lines
602 B
Python
Executable File

#!/usr/bin/env python
"""
Convert an 0407 binary into an 0405 binary, under the assumption
that the code starts at 040014 (by ".. = 40014").
See tools/as.
"""
import struct
def words(bs) :
l = len(bs) / 2
return list(struct.unpack('<%dH' % l, bs))
def unwords(ws) :
l = len(ws)
return struct.pack('<%dH' % l, *ws)
def read(fn) :
f = file(fn, 'rb')
d = f.read()
f.close()
return d
def write(fn, d) :
f = file(fn, 'wb')
f.write(d)
f.close()
d1 = words(read('a.out'))
hdr = d1[:8]
d = [0405, 12+hdr[1], 0, 0, hdr[4], 0] + d1[8:]
write("a.out", unwords(d))