سلام .
روزی بود و روزگاری ... در سرزمین کامپیوتر ها غولی شکست ناپذیر زندگی میکرد ، دسترسی او بر کامپیوتر ها بیانتها هییچ برنامه نویسی قادر به رام کردن او نبود ..
این غول اَسِمبِلی نام داشت.
اسمبلی سرعت ، دقت و قدرت بسیار زیادی داشت ، همینبود که کسی نمیتوانست در مقابل او بایستد ... .
او از نسل Plankalkül و زبان (الگوریتم نویسیِ ) ماشین بود ، از خانواده ای که حکومت بر کامپیوتر ها برای آنها موروثی بود
سال ها گذشت ؛ طی این سال ها افراد زیادی برای شکست دادن این غول تلاش کردند .. اما هیچ یک از آنها موفق نشد ..
تا اینکه!
تا اینکه روزی ... وقتی CPU (خورشید) شروع به سرد شدن کرده بود ( شروع به غروب کردن کرده بود :) ) غریبه ای با روی پوشیده از دروازه های سرزمین کامپیوتر ها وارد شد!
با گام های شمرده به طرف اسمبلی که در مرکز این سرزمین بود ، رفت و رفت و رفت تا به اسمبلی رسید .
سرش را بالا گرفت و با نگاهی تیز و بُرَنده اسمبلی را نگاه کرد!
در جواب ، اسمبلی هم به او نگاه ســــــرد و تحقیر آمیزی انداخت ..
اسمبلی که قبلا تجربه ی شکست دادن زبان ها را داشت ، به غریبه ( که خیلی خیلی در برابر او کوچک بود ) رو کرد و شروع کرد به گفتن از توانایی و سرعت و قدرتش .
غریبه چهره اش را آشکار کرد و فریاد زد : « من فرترن (fortran) هستم! و دوران تو به سر آمده! »
میان زبان های برنامه نویسی برای زورآزمایی و مبارزه ، رسم بود تا نام خود را خروجی بدهند و هر که با تعداد خط کد کمتر و کد های واضح تری این کار را کرده بود ، برندهی میدان نبرد بود ...
پس اسمبلی و فرترن شروع کردند به زورآزمایی .
پس از چند دقیقه اسمبلی و فرترن هر دو دست از کار کشیدند .
نتیجه ی کار فرترن :
program hello
! This is a comment line; it is ignored by the compiler
print *, 'Hello, World!'
end program hello
و اسمبلی :
global _main
extern _GetStdHandle@4
extern _WriteFile@20
extern _ExitProcess@4
section .text
_main:
; DWORD bytes;
mov ebp, esp
sub esp, 4
; hStdOut = GetstdHandle( STD_OUTPUT_HANDLE)
push -11
call _GetStdHandle@4
mov ebx, eax
; WriteFile( hstdOut, message, length(message), &bytes, 0);
push 0
lea eax, [ebp-4]
push eax
push (message_end - message)
push message
push ebx
call _WriteFile@20
; ExitProcess(0)
push 0
call _ExitProcess@4
; never here
hlt
message:
db 'Hello, World', 10
message_end:
ثانیههایی اسمبلی به کد ها نگریست ... سپس اشک ریزان سرزمین را ترک کرد ...
اما قول داد که دست از سر آنها برنمیدارد و روزی می رسد که دوباره باز خواهد گشت گفت که این سرزمین هنوز برای نوشتن سیستم عامل به او نیاز دارد ...
این بود که فرترن ، غول عظیمالجثهی زبان ها را شکست داد و سال ها تمام زبان ها باهم در خوبی و خوشی زندگی کردند!