5,17 → 5,18 |
; <diamond> note that 'mov al,xx' is shorter than 'mov eax,xx' |
; and if we know that high 24 bits of eax are zero, we can use 1st form |
; the same about ebx,ecx,edx |
fade equ 0 |
|
use32 ; âêëþ÷èòü 32-áèòíûé ðåæèì àññåìáëåðà |
org 0x0 ; àäðåñàöèÿ ñ íóëÿ |
use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
org 0x0 ; ¤à¥á æ¨ï á ã«ï |
|
db 'MENUET01' ; 8-áàéòíûé èäåíòèôèêàòîð MenuetOS |
dd 0x01 ; âåðñèÿ çàãîëîâêà (âñåãäà 1) |
dd START ; àäðåñ ïåðâîé êîìàíäû |
dd IM_END ; ðàçìåð ïðîãðàììû |
dd I_END ; êîëè÷åñòâî ïàìÿòè |
dd stacktop ; àäðåñ âåðøèíû ñòåêà |
dd 0x0 ; àäðåñ áóôåðà äëÿ ïàðàìåòðîâ |
db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
dd IM_END ; à §¬¥à ¯à®£à ¬¬ë |
dd I_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
dd stacktop ; ¤à¥á ¢¥àè¨ë á⥪ |
dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ |
dd cur_dir_path |
|
include 'lang.inc' |
111,6 → 112,22 |
push 4 |
|
mcall_and_close: |
if fade=1 |
; === FADE IN === |
mov eax, color1 |
@@: |
mov ebx, [eax + 32] |
mov [eax], ebx |
add eax, 4 |
cmp eax, color21 |
jne @b |
|
call draw_window |
else |
mov al,4 |
mcall ,<50,110> ,0x80000000,label7 ;eax=4 - write text |
end if |
|
invoke ini_set_int,ini_file,asettings,aautosave,[autosave] |
cmp [autosave],1 |
jne no_save |
135,7 → 152,6 |
no_save: |
pop ecx |
mcall 18,9 |
ret |
|
checkbox: |
btc dword [check1.flags],1 |
161,24 → 177,24 |
lea ebx,[eax-110 shl 16+222] |
shr ecx,1 |
shl ecx,16 |
lea ecx,[ecx-70 shl 16+117] |
lea ecx,[ecx-70 shl 16+122] |
|
xor eax,eax |
mcall , , ,0x019098b0,0x01000000 ;define and draw window |
mcall , , ,[color1],0x01000000 ;define and draw window |
|
mov al,13 |
mcall ,<0,223> ,<0,118> |
mcall ,<1,221>,<1,116>,0xffffff |
mcall ,<2,220>,<2,115>,0xe4dfe1 |
mcall ,<0,223> ,<0,123> |
mcall ,<1,221>,<1,121>,[color2] |
mcall ,<2,220>,<2,120>, [color3] |
|
mov al,8 |
mcall ,<16,90> ,<20,27>,4,0x990022 ;eax=8 - draw buttons |
mcall ,<113,90>, ,2,0xaa7700 |
mcall , ,<54,27>,1,0x777777 |
mcall ,<16,90> , ,3,0x007700 |
mcall ,<16,90> ,<20,27>,4,[color4] ;eax=8 - draw buttons |
mcall ,<113,90>, ,2,[color5] |
mcall , ,<54,27>,1,[color6] |
mcall ,<16,90> , ,3,[color7] |
|
mov al,4 |
mcall ,<27,24> ,0x90ffffff,label2 ;eax=4 - write text |
mcall ,<27,24> ,[color8],label2 ;eax=4 - write text |
mcall ,<23,58> , ,label3 |
mcall ,<47,37> , ,label5 |
mcall ,<41,71> , ,label6 |
192,7 → 208,6 |
;--------------------------------------------------------------------- |
;data |
include 'data.inc' |
|
;--------------------------------------------------------------------- |
IM_END: |
;--------------------------------------------------------------------- |
211,4 → 226,4 |
align 32 |
rb 4096 |
stacktop: |
I_END: ; ìåòêà êîíöà ïðîãðàììû |
I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë |