هاربر، دیکامپایلر سادهای که خودمان آن را ساختیم

?? ??? ??? ????? ???????? ?????? ??????? ?? ?? ?? ?? ??? ??? ???????. ???????? ????? ??????? ???? ??? ??? ?????????? ?? ??????? ? ???? ?? ???? ???? ??? ?? ???? ???? ?? ??? «????» ???????? ?????? ? ????? ?? ??? ?? ??????. ??? ?? ???? ???????????? ?? ??????? ????? ??????? ????? ??? ???? ??? ???? ???? ?? ??? ?? ??????????? –?? ??????? ????- ?? ?? ????? ?? ????? ???????? ?? ????? ????. ??? ????? ?? ????? ??? ??? ???????? ????- ?? ????? ???????????? ?? ??? ???? ?????? ???????- ??? ???? ?? ???? ??? ???????? ????? ???? ??? ??? ??? ?? ??????? ????? ????? ?? ?????[?] (Harbour) ????? ??? ???.
????? ?? ????? ?? ???? ???????????? ????????? ???? ??????? ?????? ??? ?? ????? ??? ?? ??? ???? ???? ??. ??? ???? ???????????? ?? ???? ????? ????? Clipper ???? ? ?? ??? ?? ????? ???? ?????????? ?????? ???????? ???? ??????? ???? ???????.
??? ????????? ?????
??????? ?? ??????? ???? ????? ????? «????? ????» ?? ???? Hello, world ?? ?? ????? ???????? ?? ??? ???? ????- hello.prg.

?????? ???? Hello, world ?? ?? ????? ????? ??????. ???? ????? ??? ??? ??? ???????? ??? ????? ?? ?? ?????? ????? ?????? (?????? ??????? ????? ?? ???? ????? ?? ???? ???? ?????? ???? ???? ??? ?? ??? ??? ?? ?? ??? ??? ???????? ??? ??????? ???????????? ?? ???? ????????? ???).
??????? ???? ???? ??? ???? ????? ???? ???:
hbmk2.exe hello.prg
??? ????? ?? C ?? ????? ? ?? C ?? ?? ???? ?????????? ????? ??????? ????? ???. ?? C ????? ??? ???? hello.prg ?? ??????? ?? ??? ? ????.

??? ????????? ?????? ???? ?? ???? MAIN ???? ????? ????? ????? (HVM) ?? ?? ??? ?????????? ???? ???? ???: ??? pcode? ????? ?? ?? ??? ????????????? ????? ? ?? ????? ?????? ?? ???? ??????? ?????? ????? ???? MAIN ????? ???????. ??????? ?? ????????? ???? ????? pcode (?? ??????) ???? ???????? ??? ?? HVM ???????? ??????. ??? ????????? ?? ???? ??? ????? ???? ??? pcode ?? ???? ????.
https://github.com/harbour/core/blob/master/doc/pcode.txt
??? ?? ????? ???????? C ??????? ?? (?? ????? ??? ?????? ???? MINGW ????? ??? ???)? ?? ??????? ???? ???????? ?? ?? ????? ??? ???? ???????: ???? ???? ? pcode (??? ? ? ? ?? ?????).


??????? ??????????[?]
?????? ??????? ?? ?????????. ????? ???????? ?? ???? ?? ???? ????????? ?? ????? pcode??? ? ?????? ????? ? ?????? ???? opcode?? ?? ???? ????? ???? ????. ??? ??? ??? ?? ????? ????? ????????? ?? ??? ??? ? ??? ??? ?????? ?? ??? ????. ??????? ?? ???? ??? ???? ?? ??? ????? ?? ?? ??? ?????? ?? ???? ?????? ?? ??? ???????? ??????????? ????? ???. ????????? ?? ??? ???? ???? ?? ????? ???? ????.
??? ???????????? ?? ??? ??? ?? bytecode ?????? ?? ??? ?????? ?????? ???. ?? ?????????? ??? ??? ?? ??????? ????? ?? ?? ??????[?] ?? C ????? ??? (???? ??? ????? ?? ????????? ??? ?????? ??? ???? ?????? ?? ????? ?????? ??????????? ???).

??? ????? ? ?? ???? ?????? ?????? ???????? ????? ?? ????? ???????[?] ???.
????? ??????? ????[?]? ??? ???? ??? ?? ???? ?? ??????? ?? ???? ??????? ??? ? ?? ????????? ??? ????? call 1 ??????. ???? ?? ???????? ?? ? ?????? ???? ???? ??????????? ?? ???? ??? ?????? ????.
???????? ???? ??? ????????? ?? ?????? C ??????? ????? ????:
QOUT(“Hello, world!”);
![]()
????????? ??? ??????????? ????? ?????????? ?? ?? ???? ????? ????? ??????? ?? ??? ??????? ???? ????.
[?] ????? ?? ???? ?? ????????? ?????? ? ??? ??? ????????? ??? ???????? ?????-???? ? ?? ???? ????????????? ???? ??????? ???? ??? ?? ?? ??? ????????? ?? ???????? xBase ??????? ????. ????? ???? ?? ???????? ? ???????? ???????? (???? ????) ?? ????? ???? ?????? ???????? ?????? ??????? ? ????????? I/O? ????? ??????? ???? ? ??? ????????? ?? ??????? ? ??????????? (???? API???? ?????) ??????.
[?] Decompiler? ?? ?????? ?? ?? ?? ??? ?????? ?? ?????? ???? ???? (??????? ????? ??????? ?? ?????? ?? ?? ??????) ?? ?? ???? ????? ?????? ?? ??? ?????? ?? ?????? ????? ???? (??????? ????? ??????? ?? ????? ?? ?? ??????).
[?] assembler
[?] Stack machine? ?? ???????? ????? ?? ????????? ??????? ?? ?? ??? ??????? ?? ???????? ???? ?? ?? ???? ???? ??????? ?????????? ?? ?????? ??????? ??????.
[?] push argument




