やったーコンパイラできてきたよ!
3月 17th, 2009 admin Posted in CSNAGOYA |
CSNagoyaでやっていた「コンパイラを作ろう」で作っているRuby製のPrimitive言語コンパイラがついにHello World!のマクロアセンブラを吐き出しました。
僕にとってはBASICで初めて書いたHello World以来、ひさびさの感動のHello Worldでした。
CODE:
-
; ml out.asm /c /coff
-
; link /Subsytem:console out.obj kernel32.lib iolib.lib
-
.586
-
.model flat,stdcall
-
INCLUDE iolib.inc
-
-
.data
-
Letter dd 0
-
-
-
.code
-
_start:
-
mov Letter, 'H'
-
invoke OutputLetter, Letter
-
mov Letter, 'e'
-
invoke OutputLetter, Letter
-
mov Letter, 'l'
-
invoke OutputLetter, Letter
-
mov Letter, 'l'
-
invoke OutputLetter, Letter
-
mov Letter, 'o'
-
invoke OutputLetter, Letter
-
mov Letter, ' '
-
invoke OutputLetter, Letter
-
mov Letter, 'W'
-
invoke OutputLetter, Letter
-
mov Letter, 'o'
-
invoke OutputLetter, Letter
-
mov Letter, 'r'
-
invoke OutputLetter, Letter
-
mov Letter, 'l'
-
invoke OutputLetter, Letter
-
mov Letter, 'd'
-
invoke OutputLetter, Letter
-
mov Letter, '!'
-
invoke OutputLetter, Letter
-
invoke PauseProgram
-
invoke ExitProcess,0
-
end _start
-
END
Leave a Reply