Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1803 yogev_ezra 1
macro BeginProgram
2
 {
3
  use32
4
  org 0x0
5
 
6
  db 'MENUET01'
7
  dd 0x01
8
  dd __start
9
  dd __end
10
  dd 0x10000   ;__memory
11
  dd 0x10000   ;__stack
12
  dd 0x0       ; dd __params
13
  dd 0x0
14
  __start:
15
 }
16
 
17
macro EndProgram
18
 {
19
  align 32
20
  rb 2048
21
  __end:
22
  ;org 0x10000
23
  __stack:
24
  __memory:
25
 }
26
 
27
macro  mButton nn,crgb,x,y,dx,dy
28
{
29
        mov     eax,8               ; функция 8: определить и вывести кнопку
30
        mov     ebx,x*65536+dx      ; [x начальный] *65536 + [x размер]
31
        mov     ecx,y*65536+dy      ; [y начальный] *65536 + [y размер]
32
        mov     edx,nn              ; идентификатор кнопки  =1
33
        mov     esi,crgb            ;0x116611 ; цвет кнопки RRGGBB
34
        int     0x40
35
}
36
 
37
macro LoopBegin  lab,begi
38
{
39
        push  ecx                        ; ECX->STACK store
40
        mov   ecx,begi
41
  lab:
42
        push  ecx                        ; ECX->STACK counter
43
}
44
 
45
macro LoopEnd lab,endi
46
{
47
        pop   ecx                        ;ECX<-STACK counter
48
        inc   ecx
49
        cmp   ecx,endi
50
        jne   lab
51
        pop   ecx                        ;ECX<-STACK restore
52
}
53
 
54
 
55
 
56
;------------------------------------
57
; constants
58
;-----------------------цвет:0xRRGGBB
59
cBLACK     = 0x000000 ; черный
60
cRED       = 0xFF0000 ; красный
61
cYELLOW    = 0x3FFFF00 ; желтый
62
cGREEN     = 0x00FF00 ; зеленый
63
cNAVY      = 0x0000FF ; синий
64
cMAGENTA   = 0xFF00FF ; малиновый
65
cBLUE      = 0x00FFFF ; голубой
66
cWHITE     = 0xFFFFFF ; белый
67
cBROWN     = 0x554433 ;
68
 
69
;-------------------------------
70
cMAGENTAl   = 0xB800B8 ; magenta
71
cVIOLETl    = 0xF800F8 ; фиолетовый
72