Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joyful assembly language - Assembly Language Tanka

7,063 views

Published on

This is a presentation of assembly language tanka.

Published in: Technology, Education

Joyful assembly language - Assembly Language Tanka

  1. 1. Joyful Assembly Language Kunio Miyamoto, Ph.D. 1
  2. 2. Assembly language tanka Kunio Miyamoto, Ph.D. 2
  3. 3. About me Copyright by Kunio Miyamoto 3
  4. 4. About me It’s a Joke  Copyright by Kunio Miyamoto 4
  5. 5. What is Tanka? • Tanka is… • Japanese Short Poem • 5-7-5-7-7 Style – Number is the letters of character in each part • Includes “Kigo(季語)” – “Kigo” is the season word • Rule and style 5
  6. 6. In Wikipedia • Tanka (短歌 "short poem") is a genre of classical Japanese poetry and one of the major genres of Japanese literature • http://en.wikipedia.org/wiki/Tanka Copyright by Kunio Miyamoto
  7. 7. Example • 東海の小島の磯の白砂に われ泣きぬれて 蟹(かに)とたはむる(石川啄木) • On the white sand Of the beach of a small island In the Eastern Sea I, my face streaked with tears, Am playing with a crab(Takuboku Ishikawa) Copyright by Kunio Miyamoto
  8. 8. Example • 東海の小島の磯の白砂に われ泣きぬれて 蟹(かに)とたはむる(石川啄木) • On the white sand Of the beach of a small island In the Eastern Sea I, my face streaked with tears, Am playing with a crab(Takuboku Ishikawa) Copyright by Kunio Miyamoto とうかいの こじまのいその しろすなに われなきぬれて かにとたはむる
  9. 9. Example • 東海の小島の磯の白砂に われ泣きぬれて 蟹(かに)とたはむる(石川啄木) • On the white sand Of the beach of a small island In the Eastern Sea I, my face streaked with tears, Am playing with a crab(Takuboku Ishikawa) Copyright by Kunio Miyamoto Remember This Style
  10. 10. What is assembly language tanka? • Assembler TANKA is… • Machine Language Short Poem(!) • 5-7-5-7-7 Style • Includes “Kigo(季語)” – “Kigo” is the season word • Rhythmic e.g.: Ends or starts same code in each part • Executable(!) 10
  11. 11. Example .section .text .global main .type main, @function main: push $0x43412054 push $0x53524946 mov %esp, %ecx xor %ebx, %ebx inc %ebx mov %ebx, %eax add %eax, %eax add %eax, %eax nop mov %eax, %edx add %edx, %edx int $0x80 add %edx, %esp ret Copyright by Kunio Miyamoto ONLY 14 Instructions! Runs on Linux/x86
  12. 12. Style? 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 Copyright by Kunio Miyamoto 5bytes 5bytes 7bytes 7bytes 7bytes
  13. 13. Style? Copyright by Kunio Miyamoto Remember This Style
  14. 14. Season Word? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3
  15. 15. Season Word? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 “FIRST AC” Is the Season Word of “June”
  16. 16. Rhythm? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3
  17. 17. Rhythm? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 Same value
  18. 18. Rhythm? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 Same value
  19. 19. Rhythm? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 Refrain
  20. 20. Rhythm? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 Same value Same value Refrain Rhythmic!
  21. 21. Comparing Style Copyright by Kunio Miyamoto Assembly Language Tanka
  22. 22. Comparing Style Copyright by Kunio Miyamoto (Traditional) TankaAssembly Language Tanka
  23. 23. Comparing Style Copyright by Kunio Miyamoto (Traditional) TankaAssembly Language Tanka Same Style!
  24. 24. Executable? Copyright by Kunio Miyamoto
  25. 25. Executable? Copyright by Kunio Miyamoto Of Course!
  26. 26. BTW Copyright by Kunio Miyamoto 26
  27. 27. BTW Copyright by Kunio Miyamoto 27
  28. 28. BTW It’s a Joke  Copyright by Kunio Miyamoto 28 Same Style!
  29. 29. 5 great assembly language tankist • Tankist = Assembly language tanka author Copyright by Kunio Miyamoto
  30. 30. Copyright by Kunio Miyamoto
  31. 31. In other programming language tanka? • Shell Script(/bin/sh) – line1: #!/bin/sh ← 9letters Copyright by Kunio Miyamoto
  32. 32. In other programming language tanka? • Shell Script(/bin/sh) – line1: #!/bin/sh ← 9letters • C language – Line1: main() ←6letter Copyright by Kunio Miyamoto
  33. 33. In other programming language tanka? • Shell Script(/bin/sh) – line1: #!/bin/sh ← 9letters • C language – Line1: main() ←6letter Copyright by Kunio Miyamoto
  34. 34. Assembly language tanka is useful? Yes! Learning the • Assembly language programming • Optimization • Shellcode programming etc… Copyright by Kunio Miyamoto
  35. 35. Shellcode? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3
  36. 36. Shellcode? Copyright by Kunio Miyamoto 68 54 20 41 43 68 46 49 52 53 89 e1 31 db 43 89 d8 01 c0 01 c0 90 89 c2 01 d2 cd 80 01 d4 c3 No 0x00!
  37. 37. Interesting? Copyright by Kunio Miyamoto
  38. 38. Interesting? At first, write! Copyright by Kunio Miyamoto
  39. 39. Copyright by Kunio Miyamoto Thank you! If question, Twitter: @wakatono Facebook: https://www.facebook.com/wakatono Search “wakatono” by Google

×