Hatena::ブログ(Diary)

shotaro_tsuji のメモ このページをアンテナに追加 RSSフィード Twitter

2006-12-19

494bytesのHello, world!

main.S:

.text
.org 0
.align 2

.long 0xfeedface
.long 18
.long 0
.long 2
.long 5
.long 436
.long 0x1

.long 1
.long 56
.ascii "__PAGEZERO\0\0\0\0\0\0"
.long 0
.long 0x1000
.long 0
.long 0
.long 0
.long 0
.long 0
.long 4

.long 1
.long 124
.ascii "__TEXT\0\0\0\0\0\0\0\0\0\0"
.long 0x1000; vmaddr
.long 0x1000; vmsize
.long 0 ; fileoff
.long 494 ; 
.long 7
.long 5
.long 1
.long 0

.ascii "__text\0\0\0\0\0\0\0\0\0\0"
.ascii "__TEXT\0\0\0\0\0\0\0\0\0\0"
.long 0x1000+436
.long 0x3a
.long 436
.long 2
.long 0
.long 0
.long 0x80000436
.long 0
.long 0

.long 1
.long 56
.ascii "__LINKEDIT\0\0\0\0\0\0"
.long 0x2000
.long 0
.long 494
.long 0
.long 7
.long 1
.long 0
.long 4

;SYMTAB
.long 2
.long 24
.long 0
.long 0
.long 0
.long 0

;UNIXTHREAD
.long 5
.long 176
.long 1
.long 0x28
.long 0x1000+436

.org 436
        stwu r1, -64(r1)
        li r3, 1
        lis r4, ha16(0x1000+436+44)
        la r4, lo16(0x1000+436+44)(r4)
        li r5, 14
        li r0, 4
        sc
        stwu r1, 64(r1)

        li r0, 1
        li r3, 0
        sc

.ascii "Hello, world!\n"

Makefile:

all: a.out
a.out: main.S
        as main.S -o main.o
        textEx/textex ./main.o ./a.out
        chmod +x a.out

clean:

ちなみにtextExは__textセクションをぶっこ抜く奴ね。

これで494bytes。Mach-O on Mac OS X 10.3.9 on PowerPCのHello, world!

もとのサイズの約6%。かなり縮んだ。まだ削れるかも知んない。

ELF on Linux on X86にはかないやしない。

詳細は明日書く。遅いし明日学校だし。

ググったらこんなのあった。記念に貼っとく。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20061114#t

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/shotaro_tsuji/20061219/1166458799