やったーコンパイラできてきたよ!

3月 17th, 2009 admin Posted in CSNAGOYA |

CSNagoyaでやっていた「コンパイラを作ろう」で作っているRuby製のPrimitive言語コンパイラがついにHello World!のマクロアセンブラを吐き出しました。
僕にとってはBASICで初めて書いたHello World以来、ひさびさの感動のHello Worldでした。

CODE:
  1. ; ml out.asm /c /coff
  2. ; link /Subsytem:console out.obj kernel32.lib iolib.lib
  3. .586
  4. .model flat,stdcall
  5. INCLUDE iolib.inc
  6.  
  7. .data
  8. Letter dd 0
  9.  
  10.  
  11. .code
  12. _start:
  13. mov Letter, 'H'
  14. invoke OutputLetter, Letter
  15. mov Letter, 'e'
  16. invoke OutputLetter, Letter
  17. mov Letter, 'l'
  18. invoke OutputLetter, Letter
  19. mov Letter, 'l'
  20. invoke OutputLetter, Letter
  21. mov Letter, 'o'
  22. invoke OutputLetter, Letter
  23. mov Letter, ' '
  24. invoke OutputLetter, Letter
  25. mov Letter, 'W'
  26. invoke OutputLetter, Letter
  27. mov Letter, 'o'
  28. invoke OutputLetter, Letter
  29. mov Letter, 'r'
  30. invoke OutputLetter, Letter
  31. mov Letter, 'l'
  32. invoke OutputLetter, Letter
  33. mov Letter, 'd'
  34. invoke OutputLetter, Letter
  35. mov Letter, '!'
  36. invoke OutputLetter, Letter
  37. invoke PauseProgram
  38. invoke ExitProcess,0
  39. end _start
  40. END

Leave a Reply