Subversion Repositories Kolibri OS

Rev

Rev 109 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 halyavin 1
; Hello, World! - Programm example for CMD shell
8163 maxcodehac 2
; Compile with FASM
31 halyavin 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: