资源描述:
《微机原理第六个简易文本编辑器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理第六个简易文本编辑器red_chrmacro;读取字符宏定义movah,0int16hendmstringmacrop1;输入字符光标movah,9leadx,p1int21hendmwinmacroopr1,opr2,opr3,opr4,opr5,opr6;建立窗口movah,06hmoval,opr1movbh,opr2movch,opr3movcl,opr4movdh,opr5movdl,opr6int10hendmpos_cursemacroop1,op2,op3;定义光标位置mo
2、vah,2movbh,op1movdh,op2movdl,op3int10hendmpos_getmacro;显示光标位置movah,03hmovbh,0int10hendmdatasegment;定义数据段menudb'FileEditHelp$'mass_1db'F1ActivefileF10Activehelp','$'manu_1db'New',13,10,'$'manu_2db'Open',13,10,'$'manu_3db'Save',13,10,'$'manu_4db'Saveas'
3、,13,10,'$'manu_5db'Exit','$'handledw?message1db'Pleaseinputfilename:','$'message2db'Pleaseinputsavefilename:','$'message3db'Pleaseinputopenfilename:','$'message4db'***Thefileisnotsave!Saveitnow?(Y/N)***:','$'pathdb50dup(0),'$'bufferdb2000dup(?)bakdb38
4、50dup(0)linedb?rowdb?chardb?help_mas1db'welcomeuseeditor!$';帮助内容help_mas2db'pleasethefirstactivehelp!$'help_mas3db'goodlucky!!$'help_mas4db'==========================================================$'help_mas5db'PressF1toactivefile.$'help_mas6db'Youca
5、nuseDOWNcursorkeytochoosethefuction$'help_mas7db'PressF10toshowthehelpmassage.PressEscToQuit$'datedb'today??/??/','$';调用日期hangliedb'???//???','$';行//列dataendscodesegmentmainprocfar;主程序assumecs:code,ds:datastart:pushdssubax,axpushaxmovax,datamovds,axca
6、llwindcalleditretmainendpwindprocnear;创建窗口子程序win0,3eh,1,0,24,79;定义窗口背景win1,1fh,0,0,0,79win0,1fh,24,0,24,79show:;显示菜单位置及内容pos_curse0,0,1movah,9leadx,menuint21hshow_2:;显示状态栏位置及内容pos_curse0,24,1movah,9leadx,mass_1int21hcallwin3callwin4pos_curse0,1,0movro
7、w,dhmovline,dlwindendpeditprocnearchar_get:;读字符callcomcomprocnear;定义功能键pos_getmovrow,dhmovline,dlfirst:pos_curse0,row,linej00:movah,0int16h;从键盘读字符ah=扫描码al=字符码pushaxleadx,buffermovbuffer[bx],alincbxcmpah,48h;上jzup_1cmpah,50h;下jzdown_1cmpah,4bh;左jzleftc
8、mpah,4dh;右jzrightcmpah,1ch;回车jzenter_1callfuc_keymovah,2movdl,alint21hpopaxcallmenu_showjmpj6down_1:jmpdownenter_1:jmpenter_2up_1:jmpupleft:;光标左移pos_getmovrow,dhmovdl,linecmpline,0jnzdirectmovline,79decrowcmprow,0jestop2jmpfirststop2:movrow,1j