Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ; Hello, World! - Programm example for CMD shell
  2. ; Compile with FASM for Menuet
  3. ;
  4. ; You must run this program from CMD shell only
  5. ;
  6.  
  7. use32
  8.  
  9.    org 0x0
  10.  
  11.    db 'MENUET01'
  12.    dd 0x01
  13.    dd START
  14.    dd I_END
  15.    dd 0x100000
  16.    dd 0x7fff0
  17.    dd 0x0
  18.    dd 0x0
  19.  
  20. include "lang.inc"
  21. include "cmdipc.inc"       ; ®¤ª«îç¨âì ä ©« CMDIPC.INC
  22.  
  23. START:
  24.  call initipc              ; ¨­¨æ¨ «¨§¨à®¢ âì ¤«ï à ¡®âë á CMD
  25.  
  26.  mov eax,26                ; „«¨­  áâப¨
  27.  mov ebx,hello_text        ; “ª § â¥«ì ­  áâபã
  28.  call print                ; ‚뢥á⨠áâபã
  29.  
  30. again:
  31.  call getkey               ; Ž¦¨¤ âì ­ ¦ â¨ï ª« ¢¨è¨ ¨ áç¨â âì ¥¥ ¢ key
  32.  
  33.  cmp byte [key],'Y'        ; ’ã⠯ணࠬ¬  ¯à®¢¥àï¥â, ­ ¦ â  «¨ ­ã¦­. ª« ¢¨è 
  34.  je goodday
  35.  cmp byte [key],'y'
  36.  je goodday
  37.  cmp byte [key],'N'
  38.  je goodmorning
  39.  cmp byte [key],'n'
  40.  je goodmorning
  41.  
  42.  jmp again                 ; …᫨ ­ã¦­. ª« ¢¨è  ­¥ ­ ¦ â , â® áç¨â âì ª« ¢¨èã
  43.                            ; § ­®¢®
  44. goodday:                   ; ‚뢥á⨠¯à¨¢¥âá⢨¥ Good Day, World!
  45.  call eol                  ; à®¯ãáâ¨âì áâபã
  46.  
  47.  mov eax,16
  48.  mov ebx,text4
  49.  call print
  50.  
  51.  call eol                  ; à®¯ãáâ¨âì áâபã
  52.  
  53.  jmp endipc                ; ‡ ¢¥àè¨âì ¯à®£à ¬¬ã
  54.  
  55. goodmorning:               ; ‚뢥á⨠¯à¨¢¥âá⢨¥ Good Morning, World!
  56.  call eol
  57.  
  58.  mov eax,20
  59.  mov ebx,text5
  60.  call print
  61.  
  62.  call eol
  63.  
  64.  jmp endipc                ; ‡ ¢¥àé¨âì ¯à®£à ¬¬ã
  65.  
  66. hello_text db 'Is it after 12 noon? [Y\N]?'
  67.  
  68. text4 db 'Good day, World!'
  69. text5 db 'Good morning, World!'
  70.  
  71. I_END:
  72.