Assembly Language Tanka - SAKAI Hiroaki

158
Assembly Language Tanka SAKAI Hiroaki (KOZOS Project) TwitterID:kozossakai

description

http://ja.avtokyo.org/MediaArchives

Transcript of Assembly Language Tanka - SAKAI Hiroaki

Page 1: Assembly Language Tanka - SAKAI Hiroaki

AssemblyLanguage Tanka

SAKAI Hiroaki(KOZOS Project)TwitterID:kozossakai

Page 2: Assembly Language Tanka - SAKAI Hiroaki

AssemblyLanguageTanka?

Page 3: Assembly Language Tanka - SAKAI Hiroaki

What's assemblylanguage tanka?

Write program in 5+7+5+7+7 machine codes.

It's cool and exciting!

Page 4: Assembly Language Tanka - SAKAI Hiroaki

Example

Page 5: Assembly Language Tanka - SAKAI Hiroaki

68 72 6c 64 2168 6f 20 57 6f 90 9068 48 65 6c 6c89 e5 6a 0c 55 6a 0250 90 6a 04 58 cd 80

Page 6: Assembly Language Tanka - SAKAI Hiroaki

Write on Japanese

Tanka card.

Page 7: Assembly Language Tanka - SAKAI Hiroaki
Page 8: Assembly Language Tanka - SAKAI Hiroaki

Result

Page 9: Assembly Language Tanka - SAKAI Hiroaki

Hello World!

Page 10: Assembly Language Tanka - SAKAI Hiroaki

in otherlanguages,

Page 11: Assembly Language Tanka - SAKAI Hiroaki

Tanka is impossible in other programming

languages.

Page 12: Assembly Language Tanka - SAKAI Hiroaki

For example,Shell script

Page 13: Assembly Language Tanka - SAKAI Hiroaki

#!/bin/sh(9 letters!)

Page 14: Assembly Language Tanka - SAKAI Hiroaki

For example,Language C

Page 15: Assembly Language Tanka - SAKAI Hiroaki

#include <stdio.h>

(18 letters!)

Page 16: Assembly Language Tanka - SAKAI Hiroaki

XSS Tanka?

Page 17: Assembly Language Tanka - SAKAI Hiroaki

XSS tanka has no tankism

Page 18: Assembly Language Tanka - SAKAI Hiroaki

Assembly is most tankable

language

Page 19: Assembly Language Tanka - SAKAI Hiroaki

in SECCONNagano,

Page 20: Assembly Language Tanka - SAKAI Hiroaki

What's displayed?

Page 21: Assembly Language Tanka - SAKAI Hiroaki

Assemblylanguagetanka's

Page 22: Assembly Language Tanka - SAKAI Hiroaki

hangingscroll!

Page 23: Assembly Language Tanka - SAKAI Hiroaki
Page 24: Assembly Language Tanka - SAKAI Hiroaki

See well.

Page 25: Assembly Language Tanka - SAKAI Hiroaki

Title: Niigata

Page 26: Assembly Language Tanka - SAKAI Hiroaki

So,

Page 27: Assembly Language Tanka - SAKAI Hiroaki

Let's tanking!

Page 28: Assembly Language Tanka - SAKAI Hiroaki

Title: Summer vacationTankist: Me

Page 29: Assembly Language Tanka - SAKAI Hiroaki
Page 30: Assembly Language Tanka - SAKAI Hiroaki

Check points

Page 31: Assembly Language Tanka - SAKAI Hiroaki

See assemblypush $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Uppersection Lower

section

Page 32: Assembly Language Tanka - SAKAI Hiroaki

See assemblypush $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Uppersection Lower

section

Same instructionin last position.

Page 33: Assembly Language Tanka - SAKAI Hiroaki

That is,

Page 34: Assembly Language Tanka - SAKAI Hiroaki

Stepped onthe rhyme.

Page 35: Assembly Language Tanka - SAKAI Hiroaki
Page 36: Assembly Language Tanka - SAKAI Hiroaki

Stepped on the rhyme

by 0x40

Page 37: Assembly Language Tanka - SAKAI Hiroaki

Otherpoints

Page 38: Assembly Language Tanka - SAKAI Hiroaki

push $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Page 39: Assembly Language Tanka - SAKAI Hiroaki

push $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Set up registers by value of EAX.

Page 40: Assembly Language Tanka - SAKAI Hiroaki

That is,

Page 41: Assembly Language Tanka - SAKAI Hiroaki

Like a flowof a brook.

Page 42: Assembly Language Tanka - SAKAI Hiroaki

See instructions

Page 43: Assembly Language Tanka - SAKAI Hiroaki

push $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Page 44: Assembly Language Tanka - SAKAI Hiroaki

push $0pop %eaxpush %eaxinc %eax

push $0x616d6179push %eaxinc %eax

push $8pop %edxpop %ebxinc %eax

push $0x616b6157push %espinc %eax

pop %ecxint $0x80pop %eaxpop %eaxpop %eaxret

Mnemonic has a rhythm, "push-pop-inc".

Page 45: Assembly Language Tanka - SAKAI Hiroaki

Comments While EAX first set as zero increases every section

by the inc instruction, the value of EAX was divertedand other parameters are set. This seems to be the

flow of a brook. There is a rhythm which is skipped ina mnemonic like "push-pop-push-inc, push-push-inc"and "push-pop-pop-inc, push-push-inc". The sight ofthe children who play the side of a brook is made toconsider. The theme the "summer vacation" is often

expressed.

Page 46: Assembly Language Tanka - SAKAI Hiroaki

Muchtankassion!

Page 47: Assembly Language Tanka - SAKAI Hiroaki

Information

Page 48: Assembly Language Tanka - SAKAI Hiroaki

Book of assembly

language tanka!

Page 49: Assembly Language Tanka - SAKAI Hiroaki

Assembly programming in 31 bytes

World of assemblylanguage tanka

Page 50: Assembly Language Tanka - SAKAI Hiroaki
Page 51: Assembly Language Tanka - SAKAI Hiroaki

Tankists:Sakai Hiroaki

Aiko Kenji Matsuda Kazuki Sakai Takeyasu

Takesako Yoshinori

Page 52: Assembly Language Tanka - SAKAI Hiroaki

Now on sale!

Page 53: Assembly Language Tanka - SAKAI Hiroaki

Event for book! (January 20) "2014 Let's try assembly language tanka!"

at Mynavi Room

Page 54: Assembly Language Tanka - SAKAI Hiroaki

Today'smainsubject!

Page 55: Assembly Language Tanka - SAKAI Hiroaki

What is the most tankaful architecture?

Page 56: Assembly Language Tanka - SAKAI Hiroaki

RISC architecture: Instruction is fixed in 4 bytes.

If flexible instruction, most architecture has

machine code of even length.

Untankable!

Page 57: Assembly Language Tanka - SAKAI Hiroaki

Tankablearchitectures

x86(Intel) M32C(Mitsubishi) MN10300(Panasonic)

RL78(Renesas) RX(Renesas) Xtensa(Tensilica)

Page 58: Assembly Language Tanka - SAKAI Hiroaki

Results

Page 59: Assembly Language Tanka - SAKAI Hiroaki

RX(Renesas Electronics)

Page 60: Assembly Language Tanka - SAKAI Hiroaki

Assemblymov.l #1, r1mov.l #10, r3nop

mov.l #0x6c6c6548, [r0]nop

mov.l #0x6c72, 8[r0] mov.l #0x6f57206f, 4[r0]

mov.l r0, r2mov.l #5, r5int #255

Uppersection

Lowersection

Page 61: Assembly Language Tanka - SAKAI Hiroaki

Execution

Page 62: Assembly Language Tanka - SAKAI Hiroaki

Hello Worl(10 letters)

Page 63: Assembly Language Tanka - SAKAI Hiroaki

RL78(Renesas Electronics)

Page 64: Assembly Language Tanka - SAKAI Hiroaki

Hello Wor(9 letters)

Page 65: Assembly Language Tanka - SAKAI Hiroaki

Others

Page 66: Assembly Language Tanka - SAKAI Hiroaki

MN10300

M32CHello Wo

Hello!

(8 letters)

(6 letters)

Page 67: Assembly Language Tanka - SAKAI Hiroaki

i386/FreeBSD

x86/LinuxHello World!

Hello World!!

(12 letters)

(13 letters)

Page 68: Assembly Language Tanka - SAKAI Hiroaki

Let'scompare.

Page 69: Assembly Language Tanka - SAKAI Hiroaki

Beforecomparison

Page 70: Assembly Language Tanka - SAKAI Hiroaki

For quantification, a unit is needed.

Page 71: Assembly Language Tanka - SAKAI Hiroaki

Define a unitBPT (Byte per Tanka)

How tankafulfor tanking.

Page 72: Assembly Language Tanka - SAKAI Hiroaki

Example on RXhello Worl

10 letters: 10BPT

Page 73: Assembly Language Tanka - SAKAI Hiroaki

Aggregation

Page 74: Assembly Language Tanka - SAKAI Hiroaki

M32C 6BPTMN10300 8BPTRL78 9BPTRX 10BPTi386/FreeBSD12BPTx86/Linux 13BPT

Page 75: Assembly Language Tanka - SAKAI Hiroaki

x86 is very tankaful

architecture! (and, Linux too)

Page 76: Assembly Language Tanka - SAKAI Hiroaki

Thank youfor my tanking!

Page 77: Assembly Language Tanka - SAKAI Hiroaki

Comments While EAX first set as zero increases every section

by the inc instruction, the value of EAX was divertedand other parameters are set. This seems to be the

flow of a brook. There is a rhythm which is skipped ina mnemonic like "push-pop-push-inc, push-push-inc"and "push-pop-pop-inc, push-push-inc". The sight ofthe children who play the side of a brook is made toconsider. The theme the "summer vacation" is often

expressed.

Page 78: Assembly Language Tanka - SAKAI Hiroaki

Comments While EAX first set as zero increases every section

by the inc instruction, the value of EAX was divertedand other parameters are set. This seems to be the

flow of a brook. There is a rhythm which is skipped ina mnemonic like "push-pop-push-inc, push-push-inc"and "push-pop-pop-inc, push-push-inc". The sight ofthe children who play the side of a brook is made toconsider. The theme the "summer vacation" is often

expressed.

Page 79: Assembly Language Tanka - SAKAI Hiroaki

Comments While EAX first set as zero increases every section

by the inc instruction, the value of EAX was divertedand other parameters are set. This seems to be the

flow of a brook. There is a rhythm which is skipped ina mnemonic like "push-pop-push-inc, push-push-inc"and "push-pop-pop-inc, push-push-inc". The sight ofthe children who play the side of a brook is made toconsider. The theme the "summer vacation" is often

expressed.

Page 80: Assembly Language Tanka - SAKAI Hiroaki

Comments While EAX first set as zero increases every section

by the inc instruction, the value of EAX was divertedand other parameters are set. This seems to be the

flow of a brook. There is a rhythm which is skipped ina mnemonic like "push-pop-push-inc, push-push-inc"and "push-pop-pop-inc, push-push-inc". The sight ofthe children who play the side of a brook is made toconsider. The theme the "summer vacation" is often

expressed.

Page 81: Assembly Language Tanka - SAKAI Hiroaki

FirstInformation

Page 82: Assembly Language Tanka - SAKAI Hiroaki

SECCON2013

SECCON2013

SECCON2013

SECCON2013

Page 83: Assembly Language Tanka - SAKAI Hiroaki

Contest andcompetitive show of

Assembly Language Tanka (in SECCON Nagano, Oct.2013)

Page 84: Assembly Language Tanka - SAKAI Hiroaki

それならば、それならば、 これもできるだろうとこれもできるだろうと

いうことでいうことで

Page 85: Assembly Language Tanka - SAKAI Hiroaki

アセンブラ川柳アセンブラ川柳

Page 86: Assembly Language Tanka - SAKAI Hiroaki

6a 48 89 e5 906a 01 55 6a 02 50 906a 04 58 cd 80

Page 87: Assembly Language Tanka - SAKAI Hiroaki

実行結果実行結果

Page 88: Assembly Language Tanka - SAKAI Hiroaki

HH

Page 89: Assembly Language Tanka - SAKAI Hiroaki

1文字が1文字が せいいっぱいでしたせいいっぱいでした下の句が無いと下の句が無いと けっこう難しいけっこう難しい

Page 90: Assembly Language Tanka - SAKAI Hiroaki

まてよまてよ

Page 91: Assembly Language Tanka - SAKAI Hiroaki

ということはということは

Page 92: Assembly Language Tanka - SAKAI Hiroaki

こういうのもこういうのも 可能ということか可能ということか

Page 93: Assembly Language Tanka - SAKAI Hiroaki

アセンブラアセンブラかるたかるた

Page 94: Assembly Language Tanka - SAKAI Hiroaki

作ってみた作ってみた

Page 95: Assembly Language Tanka - SAKAI Hiroaki

68 a5 f3 a5 b068 a1 bc a5 ea 90 9068 a5 d5 a5 a389 e5 6a 0c 55 6a 0250 90 6a 04 58 cd 80

68 00 00 a5 a268 a5 bb a5 f3 90 9068 a5 d6 a5 e989 e5 6a 0c 55 6a 0250 90 6a 04 58 cd 80

実行実行 → フィーリングフィーリング

実行実行 → ブラセンアブラセンア

Page 96: Assembly Language Tanka - SAKAI Hiroaki

しかし問題ありしかし問題あり

Page 97: Assembly Language Tanka - SAKAI Hiroaki

バイナリダンプをバイナリダンプを見ると見ると

Page 98: Assembly Language Tanka - SAKAI Hiroaki

00000000 68 a5 f3 a5 b0 68 a1 bc |hングングhーー|00000008 a5 ea 90 90 68 a5 d5 a5 |リリ..hフフ|00000010 a3 89 e5 6a 0c 55 6a 02 |.j.Uj.|00000018 50 90 6a 04 58 cd 80 |P.j.X.|

00000000 68 00 00 a5 a2 68 a5 bb |h..アアhセセ|00000008 a5 f3 90 90 68 a5 d6 a5 |ンン..hブブ|00000010 e9 89 e5 6a 0c 55 6a 02 |.j.Uj.|00000018 50 90 6a 04 58 cd 80 |P.j.X.|

Page 99: Assembly Language Tanka - SAKAI Hiroaki

00000000 68 a5 f3 a5 b0 68 a1 bc |hングングhーー|00000008 a5 ea 90 90 68 a5 d5 a5 |リリ..hフフ|00000010 a3 89 e5 6a 0c 55 6a 02 |.j.Uj.|00000018 50 90 6a 04 58 cd 80 |P.j.X.|

00000000 68 00 00 a5 a2 68 a5 bb |h..アアhセセ|00000008 a5 f3 90 90 68 a5 d6 a5 |ンン..hブブ|00000010 e9 89 e5 6a 0c 55 6a 02 |.j.Uj.|00000018 50 90 6a 04 58 cd 80 |P.j.X.|

Page 100: Assembly Language Tanka - SAKAI Hiroaki

読み札を読み札を 読み上げた時点で読み上げた時点で 取り札が取り札が わかってしまうわかってしまう

Page 101: Assembly Language Tanka - SAKAI Hiroaki

これではこれでは 競技にできない競技にできない

Page 102: Assembly Language Tanka - SAKAI Hiroaki

xorにかけてにかけて 難読化難読化 してみるしてみる

Page 103: Assembly Language Tanka - SAKAI Hiroaki

b8 5b 0c 5a 29f7 d8 50 b8 5b 5d 5a 44 (字余り字余り)f7 d8 50 89 e56a 08 55 6a 02 50 9090 90 6a 04 58 cd 80

Page 104: Assembly Language Tanka - SAKAI Hiroaki

実行結果実行結果

Page 105: Assembly Language Tanka - SAKAI Hiroaki

アセンブアセンブ

Page 106: Assembly Language Tanka - SAKAI Hiroaki

4文字が4文字が せいいっぱいせいいっぱい でしたでした

Page 107: Assembly Language Tanka - SAKAI Hiroaki

バイナリダンプはバイナリダンプは

Page 108: Assembly Language Tanka - SAKAI Hiroaki

00000000 b8 5b 0c 5a 29 f7 d8 50 |[.Z)P|00000008 b8 5b 5d 5a 44 f7 d8 50 |[]ZDP|00000010 89 e5 6a 08 55 6a 02 50 |.j.Uj.P|00000018 90 90 90 6a 04 58 cd 80 |...j.X.|

Page 109: Assembly Language Tanka - SAKAI Hiroaki

これならこれなら読めまい読めまい

Page 110: Assembly Language Tanka - SAKAI Hiroaki

ふだんは趣味でふだんは趣味で こんなことをこんなことを やっていますやっています

Page 111: Assembly Language Tanka - SAKAI Hiroaki

GCCが対応しているGCCが対応している CPUアーキテクチャのCPUアーキテクチャの

アセンブラをアセンブラを 片っ端片っ端から出力させてから出力させて 片っ端片っ端から読んでみるから読んでみる

Page 112: Assembly Language Tanka - SAKAI Hiroaki

この技術をこの技術を アセンブラ短歌にアセンブラ短歌に 活活かしたいかしたい

Page 113: Assembly Language Tanka - SAKAI Hiroaki

こんな感じこんな感じmov 0xfff10, #72mov a, #108

mov 0xfff10, #101mov 0xfff10, amov 0xfff10, a

mov 0xfff10, #111mov a, #32

mov 0xfff10, amov 0xfff10, #87mov a, #111

mov 0xfff10, amov 0xfff10, #114nopnop上の句上の句

下の句下の句

Page 114: Assembly Language Tanka - SAKAI Hiroaki

こんなこんな かんじかんじ

Page 115: Assembly Language Tanka - SAKAI Hiroaki

実行結果は実行結果は

Page 116: Assembly Language Tanka - SAKAI Hiroaki

SoftwareDesign誌誌 懐かしの連載懐かしの連載 「全国津々浦々!「全国津々浦々! 勉強会勉強会&イベントイベント 探訪記」探訪記」

Page 117: Assembly Language Tanka - SAKAI Hiroaki

電子書籍に電子書籍になります!なります!

Page 118: Assembly Language Tanka - SAKAI Hiroaki

電子書籍に電子書籍になります!なります!

した!した!

Page 119: Assembly Language Tanka - SAKAI Hiroaki

達人出版会達人出版会

Page 120: Assembly Language Tanka - SAKAI Hiroaki

TechLIONもも 収録されてます!収録されてます!

(vol.1〜〜4)

Page 121: Assembly Language Tanka - SAKAI Hiroaki

高橋さん高橋さんありがとうありがとうございますございます(深謝深謝)

Page 122: Assembly Language Tanka - SAKAI Hiroaki

あともうひとつあともうひとつ

Page 123: Assembly Language Tanka - SAKAI Hiroaki

マイナビマイナビ すげえすげえ

Page 124: Assembly Language Tanka - SAKAI Hiroaki

タイトルタイトル 「我思う」「我思う」詠み人:私詠み人:私

Page 125: Assembly Language Tanka - SAKAI Hiroaki
Page 126: Assembly Language Tanka - SAKAI Hiroaki

鑑賞ポイント鑑賞ポイント

Page 127: Assembly Language Tanka - SAKAI Hiroaki

実は実はQuineにに なってますなってます

Page 128: Assembly Language Tanka - SAKAI Hiroaki

Quineとはとは自分自身を出力する自分自身を出力するプログラムのことですプログラムのことです

Page 129: Assembly Language Tanka - SAKAI Hiroaki

つまりつまり

Page 130: Assembly Language Tanka - SAKAI Hiroaki

これを実行するとこれを実行すると

Page 131: Assembly Language Tanka - SAKAI Hiroaki
Page 132: Assembly Language Tanka - SAKAI Hiroaki

これが出力されますこれが出力されます

Page 133: Assembly Language Tanka - SAKAI Hiroaki
Page 134: Assembly Language Tanka - SAKAI Hiroaki

さらにさらに機械語コードに機械語コードに注目!注目!

Page 135: Assembly Language Tanka - SAKAI Hiroaki
Page 136: Assembly Language Tanka - SAKAI Hiroaki

"QUINE"のの5文字が5文字が埋め込んで埋め込んでありますあります

Page 137: Assembly Language Tanka - SAKAI Hiroaki

つまりつまり

Page 138: Assembly Language Tanka - SAKAI Hiroaki

Quineによりにより「「QUINE」と」と出力される!出力される!

Page 139: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 140: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 141: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 142: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 143: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 144: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 145: Assembly Language Tanka - SAKAI Hiroaki

総評総評 Quineにより「により「QUINE」と出力させていることは,」と出力させていることは,内面内面 をさらけ出した上で「私を見ろ!」「私は私をさらけ出した上で「私を見ろ!」「私は私だ!」と言っているようなだ!」と言っているような 強い自我強い自我とと 誇りの高さ誇りの高さ,,情熱情熱を感じさせ,を感じさせ, タイトルの「我思う」にふさわしタイトルの「我思う」にふさわしい作品になっています.い作品になっています. 言いたいことを言った後は言いたいことを言った後はretでなくでなくexitシステムコールでシステムコールで 終わっていることも終わっていることも過去を振り返らない過去を振り返らない 意志の強さ意志の強さ が感じられていが感じられていさぎ良く,さぎ良く, 一本筋一本筋 の通っている作品と言うことがの通っている作品と言うことが

できるでしょう.できるでしょう.

Page 146: Assembly Language Tanka - SAKAI Hiroaki

バイナリカレンダーバイナリカレンダー持ってきてます持ってきてます

Page 147: Assembly Language Tanka - SAKAI Hiroaki

こんなのこんなのですです

Page 148: Assembly Language Tanka - SAKAI Hiroaki
Page 149: Assembly Language Tanka - SAKAI Hiroaki

ほしいかたにはほしいかたには あげますあげます

お声がけくださいお声がけください

Page 150: Assembly Language Tanka - SAKAI Hiroaki

さて本題さて本題

Page 151: Assembly Language Tanka - SAKAI Hiroaki

そんなそんな アセンブラ短歌アセンブラ短歌 ですがですが

Page 152: Assembly Language Tanka - SAKAI Hiroaki

いちおういちおう セキュリティ教育のセキュリティ教育の 目的があります目的があります

(詳しくは詳しくはHP参照参照)http://kozos.jp/asm-tanka/

Page 153: Assembly Language Tanka - SAKAI Hiroaki

機械語コードは機械語コードはこんな感じこんな感じ

Page 154: Assembly Language Tanka - SAKAI Hiroaki
Page 155: Assembly Language Tanka - SAKAI Hiroaki
Page 156: Assembly Language Tanka - SAKAI Hiroaki

SECCONとは何かSECCONとは何か

セキュリティ競技のセキュリティ競技のコンテストですコンテストです

Page 157: Assembly Language Tanka - SAKAI Hiroaki

昨年度は昨年度はCTFというという 競技大会が競技大会が メインでしたがメインでしたが

Page 158: Assembly Language Tanka - SAKAI Hiroaki

今年度のSECCONでは今年度のSECCONでは 様々な様々なコンテストコンテストがが 行われています行われています