Subversion Repositories Kolibri OS

Rev

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 "CMDIPC.INC"       ; ®¤ª«îç¨âì ä ©« CMDIPC.INC
  21.  
  22. START:
  23.  call initipc              ; ¨­¨æ¨ «¨§¨à®¢ âì ¤«ï à ¡®âë á CMD
  24.  
  25.  mov eax,26                ; „«¨­  áâப¨
  26.  mov ebx,hello_text        ; “ª § â¥«ì ­  áâபã
  27.  call print                ; ‚뢥á⨠áâபã
  28.  
  29. again:
  30.  call getkey               ; Ž¦¨¤ âì ­ ¦ â¨ï ª« ¢¨è¨ ¨ áç¨â âì ¥¥ ¢ key
  31.  
  32.  cmp byte [key],'Y'        ; ’ã⠯ணࠬ¬  ¯à®¢¥àï¥â, ­ ¦ â  «¨ ­ã¦­. ª« ¢¨è 
  33.  je goodday
  34.  cmp byte [key],'y'
  35.  je goodday
  36.  cmp byte [key],'N'
  37.  je goodmorning
  38.  cmp byte [key],'n'
  39.  je goodmorning
  40.  
  41.  jmp again                 ; …᫨ ­ã¦­. ª« ¢¨è  ­¥ ­ ¦ â , â® áç¨â âì ª« ¢¨èã
  42.                            ; § ­®¢®
  43. goodday:                   ; ‚뢥á⨠¯à¨¢¥âá⢨¥ Good Day, World!
  44.  call eol                  ; à®¯ãáâ¨âì áâபã
  45.  
  46.  mov eax,16
  47.  mov ebx,text4
  48.  call print
  49.  
  50.  call eol                  ; à®¯ãáâ¨âì áâபã
  51.  
  52.  jmp endipc                ; ‡ ¢¥àè¨âì ¯à®£à ¬¬ã
  53.  
  54. goodmorning:               ; ‚뢥á⨠¯à¨¢¥âá⢨¥ Good Morning, World!
  55.  call eol
  56.  
  57.  mov eax,20
  58.  mov ebx,text5
  59.  call print
  60.  
  61.  call eol
  62.  
  63.  jmp endipc                ; ‡ ¢¥àé¨âì ¯à®£à ¬¬ã
  64.  
  65. hello_text db 'Is it after 12 noon? [Y\N]?'
  66.  
  67. text4 db 'Good day, World!'
  68. text5 db 'Good morning, World!'
  69.  
  70. I_END:
  71.