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