hex2dec2bin 0.3: using system colors

git-svn-id: svn://kolibrios.org@2091 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2011-08-21 14:10:02 +00:00
parent 5ece1eb408
commit 4b90058ef7
1 changed files with 44 additions and 31 deletions

View File

@ -1,22 +1,19 @@
;; h2d2b v0.3 system colors by Leency ;;
;; 21.08.2011 ;;
;; hex2dec2bin 0.2 by Alexei Ershov ;;
;; 16.11.2006 ;;
use32 ; включить 32-битный режим ассемблера
org 0x0 ; адресация с нуля
use32
org 0x0
db 'MENUET01'
dd 0x01,start,i_end,e_end,e_end,0,0
db 'MENUET01' ; 8-байтный идентификатор MenuetOS
dd 0x01 ; версия заголовка (всегда 1)
dd START ; адрес первой команды
dd I_END ; размер программы
dd 0x1000 ; количество памяти
dd 0x1000 ; адрес вершины стэка
dd 0x0 ; адрес буфера для параметров (не используется)
dd 0x0 ; зарезервировано
include '..\..\..\MACROS.INC' ; макросы облегчают жизнь ассемблерщиков!
include '../../../proc32.inc'
include '../../../macros.inc' ; ìàêðîñû îáëåã÷àþò æèçíü àññåìáëåðùèêîâ!
START:
start:
red:
call draw_window
@ -35,7 +32,7 @@ still:
;---------------------------------------------------------------------
key: ; нажата клавиша на клавиатуре
key: ; íàæàòà êëàâèøà íà êëàâèàòóðå
mov eax, 2
mcall
mov edi, [index]
@ -146,27 +143,39 @@ next_digit:
;------------------------------------------------
draw_window:
;------------------------------------------------
mcall 12, 1
mcall 0, 200*65536+300, 200*65536+175, 0x14AABBCC,,title
mcall 48, 3, sys_colors, 40
mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, 0x6688DD ; кнопка shl
mcall 12, 1
mov edx, 0x14000000
or edx, [sys_colors.work]
;mov esi, 0x80000000
;or esi, [sys_colors.grab_text]
mcall 0, 200*65536+300, 200*65536+175, ,,title
mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, [sys_colors.work_button] ; êíîïêà shl
mcall , ,110*65536+ 15, , ; êíîïêà sal
mcall , (300-53)*65536+ 38, 90*65536+ 15, 3, ; êíîïêà shr
mcall , ,110*65536+ 15, 4, ; êíîïêà sar
mcall 4, 15*65536+30, 0x80000000, binstr,
mov ecx, 0x80000000
or ecx, [sys_colors.work_text]
mcall 4, 15*65536+30, , binstr,
mcall , 15*65536+44, , decstr,
mcall , 15*65536+58, ,sdecstr,
mcall , 15*65536+72, , hexstr,
mcall , 15*65536+150, , numstr,
mcall , 25*65536+93,0x10000000,shlstr,3
mcall , (300-43)*65536+93, , shrstr,
mcall , 25*65536+113, , salstr,
mcall , (300-43)*65536+113, , sarstr,
mov ecx, 0x80000000
or ecx, [sys_colors.work_button_text]
mcall , 26*65536+94, , shlstr,3
mcall , (300-42)*65536+94, , shrstr,
mcall , 26*65536+114, , salstr,
mcall , (300-42)*65536+114, , sarstr,
mov ecx, [num]
mcall 47, 8*65536+256,,240*65536+72,0 ; 16-ная
mcall 47, 8*65536+256,,240*65536+72,[sys_colors.work_text] ; 16-íàÿ
mcall , 10*65536, ,228*65536+44, ; 10-íàÿ
mcall , 8*65536+512,,240*65536+30, ; 2-íàÿ
ror ecx, 8
@ -183,7 +192,7 @@ next_digit:
@@:
mcall , 10*65536,,228*65536+58, ; 10-íàÿ ñî çíàêîì
mcall 4, 222*65536+58, 0, minus, 1
mcall 38, 15*65536+300-15, 137*65536+137, 0x006688DD
mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph]
call Draw_String
mcall 12, 2 ; ôóíêöèÿ 12: ñîîáùèòü ÎÑ îá îòðèñîâêå îêíà
@ -239,16 +248,20 @@ string1_end:
num dd 0
title db 'hex2dec2bin 0.2',0
minus db '-'
title db 'hex2dec2bin 0.3',0
minus db '-',0
numstr db 'Number:',0
hexstr db 'hex:',0
binstr db 'bin:',0
decstr db 'dec:',0
sdecstr db 'signed dec:',0
shlstr db 'shl'
salstr db 'sal'
shrstr db 'shr'
sarstr db 'sar'
shlstr db 'shl',0
salstr db 'sal',0
shrstr db 'shr',0
sarstr db 'sar',0
I_END: ; метка конца программы
i_end:
sys_colors system_colors
rb 0x400 ;stack
e_end: ; ìåòêà êîíöà ïðîãðàììû