最近自己在学习汇编语言,看到了汇编语言绘制的图形界面,感觉很强大;自己以后的工作也要写一些小工具,于是,自己在看了网上很多的资料和别人分享的心得,也学习着自己绘制了一个图形界面。这里我要特别的鸣谢eva.li!
我的这个图形界面包括3个部分,分别是:欢迎界面、主界面以及结束界面。截图如下:
1,欢迎界面
2,主界面
3,结束界面
主体都是蓝色调的,我很喜欢,不过,你自己可以根据你的爱好更改。
下面我把主程序和宏调用的源码也公布出来,希望给以后的学习者一个借鉴和参考,毕竟有些代码很难找,虽然网络很大;里面的工具的代码我现在就不公布了,等我完善了以后,也会公布的,可以关注我以后的博客:)
第一部分:主程序
;----------------------------------------------------------------------------
; S E G M E N T STARTS
;----------------------------------------------------------------------------
include mnmacro.asm
data segment
scrmm db 100 dup(?)
;----------------------------------------------------------------------------
; mainmenu name
;----------------------------------------------------------------------------
mainmenu1 db 'File'
mainmenu2 db 'Tool'
mainmenu3 db 'R8042'
mainmenu4 db 'Other'
mainmenu5 db 'Extra'
mainmenu6 db 'Help'
;----------------------------------------------------------------------------
; file's submenu name
;----------------------------------------------------------------------------
submenu11 db 'Save'
submenu12 db 'Open'
submenu13 db 'Exit'
;----------------------------------------------------------------------------
; Tool's submenu name
;----------------------------------------------------------------------------
submenu21 db 'I O'
submenu22 db 'ISA '
submenu23 db 'Memory'
;----------------------------------------------------------------------------
; R8042's submenu name
;----------------------------------------------------------------------------
submenu31 db 'A20'
submenu32 db 'reboot'
submenu33 db 'LED '
;----------------------------------------------------------------------------
; other's submenu name
;----------------------------------------------------------------------------
submenu41 db 'PCI '
submenu42 db 'Beep'
submenu43 db 'e820 '
;----------------------------------------------------------------------------
; extra's submenu name
;----------------------------------------------------------------------------
submenu51 db 'CMOS '
submenu52 db 'int'
submenu53 db '=== '
;----------------------------------------------------------------------------
; help's submenu name
;----------------------------------------------------------------------------
submenu61 db 'about'
submenu62 db ' '
submenu63 db ' '
;----------------------------------------------------------------------------
; Welcome window information
;----------------------------------------------------------------------------
msgtitle db 'Assemble Design'
msg1 db 'Please press Alt+F,Alt+T,Alt+R,Alt+O,Alt+E,Alt+H or ',19h,' to open the submenu.'
msg2 db 'Please press Enter (',11h,0c4h,0d9h,') to close the submenu.'
msg3 db 'Please press ',1bh,' or ',1ah,' to select the mainmenu.'
msg4 db 'Please press ',18h,' or ',19h,' to select the submenu.'
msg5 db 'Copyright 2012 keven.gao from KS.'
msg6 db 'Press any key to continue...'
msg7 db ' '
;----------------------------------------------------------------------------
; exit window information
;----------------------------------------------------------------------------
over db 'Thank you for using...Good bye!!!!'
;----------------------------------------------------------------------------
; other information
;----------------------------------------------------------------------------
escape db 'Press ESC to exit E-mail:gaokang321@gmail.com'
text1 db 'This is a simple tool ru, there are io, memory, pci, isa, e820, '
text2 db 'a20, keyboard led, reboot and beep, etc. You can use this gadget'
text3 db 'to view their status, or to achieve a particular effect.'
text4 db '================================================================'
text5 db 'Thank you very much.enjoy it!'
text6 db ' ---powered by keven.gao'
sub11 db 'Select Save'
sub12 db 'Select Open'
sub13 db 'Select Exit'
sub21 db 'Select I O'
sub22 db 'Select ISA '
sub23 db 'Select Memory'
sub31 db 'Select a20'
sub32 db 'Select reboot'
sub33 db 'Select LED'
sub41 db 'Select PCI'
sub42 db 'Select Beep'
sub43 db 'Select e820'
sub51 db 'Select CMOS'
sub52 db 'Select int'
sub53 db 'Select === '
sub61 db 'Select about'
sub62 db 'Select '
sub63 db 'Select '