version 1.25, 2012/07/23 14:46:31
|
version 1.26, 2012/09/17 20:10:23
|
Line 73 s" address-unit-bits" environment? drop
|
Line 73 s" address-unit-bits" environment? drop
|
else |
else |
coffset 0<> cell1 coffset + cell2 = and |
coffset 0<> cell1 coffset + cell2 = and |
if |
if |
cell1 cbase - cell / { tag } |
cell1 cbase - cell/ { tag } |
tag >tag $4000 xor file-id write-cell throw |
tag >tag $4000 xor file-id write-cell throw |
i reloc-bits set-bit |
i reloc-bits set-bit |
else |
else |
xoffset 0<> cell1 xoffset + cell2 = and |
xoffset 0<> cell1 xoffset + cell2 = and |
if |
if |
cell1 xbase - cell / { tag } |
cell1 xbase - cell/ { tag } |
tag >tag file-id write-cell throw |
tag >tag file-id write-cell throw |
i reloc-bits set-bit |
i reloc-bits set-bit |
else |
else |
Line 102 s" address-unit-bits" environment? drop
|
Line 102 s" address-unit-bits" environment? drop
|
name slurp-file { image2 size2 } |
name slurp-file { image2 size2 } |
size1 size2 <> abort" image sizes differ" |
size1 size2 <> abort" image sizes differ" |
name ( "new-image" ) w/o bin create-file throw { outfile } |
name ( "new-image" ) w/o bin create-file throw { outfile } |
size1 header-offset - 1- cell / bits/au / 1+ { reloc-size } |
size1 header-offset - 1- cell/ bits/au / 1+ { reloc-size } |
reloc-size allocate throw { reloc-bits } |
reloc-size allocate throw { reloc-bits } |
reloc-bits reloc-size erase |
reloc-bits reloc-size erase |
image1 header-offset outfile write-file throw |
image1 header-offset outfile write-file throw |
base @ hex |
base @ hex |
image1 header-offset + image2 header-offset + reloc-bits |
image1 header-offset + image2 header-offset + reloc-bits |
size1 header-offset - aligned cell / outfile compare-images |
size1 header-offset - aligned cell/ outfile compare-images |
base ! |
base ! |
reloc-bits reloc-size outfile write-file throw |
reloc-bits reloc-size outfile write-file throw |
outfile close-file throw ; |
outfile close-file throw ; |