毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

微机原理课程设计_简易文本编辑器

更新时间:2007-10-25:  来源:毕业论文

微机原理课程设计_简易文本编辑器_汇编课程设计|精品课程网站设计|课程设计网报告总结心得

双击可执行文件wbbjq.exe,在出现的界面中输入任意文本内容,利用DEL键、
BACKSPACE键、HOME键、END键、上下左右光标键对文本进行全屏幕编辑,
按f1键激活菜单file,下移光标,选择save,输入文件名。也可以选择FILE菜单
的其他菜单项,他们的功能均可实现。按f10激活帮助,按ESC键退出帮助。

red_chr macro                              ;读取字符宏定义
mov ah,0
int 16h
endm
string  macro p1                          ;输入字符光标
mov ah,9
lea dx,p1
int 21h
endm
win macro opr1,opr2,opr3,opr4,opr5,opr6    ;建立窗口
 mov ah,06h
 mov al,opr1
 mov bh,opr2
 mov ch,opr3
 mov cl,opr4
 mov dh,opr5
 mov dl,opr6
 int 10h
endm
pos_curse macro op1,op2,op3               ;定义光标位置
 mov ah,2
 mov bh,op1
 mov dh,op2
 mov dl,op3
 int 10h
endm
pos_get  macro                             ;显示光标位置
 mov ah,03h
 mov bh,0
 int 10h
endm
data     segment                           ;定义数据段
 menu     db 'File  Edit  Help $'

 mass_1   db 'F1 Active file     F10 Active help','$'
 manu_1   db ' New      ',13,10,'$'
 manu_2   db ' Open     ',13,10,'$'
 manu_3   db ' Save     ',13,10,'$'
 manu_4   db ' Save as  ',13,10,'$'
 manu_5   db ' Exit     ','$'
 handle   dw ?
 message1 db ' Please input file name:','$'
 message2 db ' Please input save file name:','$'
 message3 db ' Please input open file name:','$'
 message4 db ' ***The file is not save! Save it now? (Y/N)***: ','$'
 path     db 50 dup(0),'$'
 buffer   db 2000 dup(?)
 bak      db 3850 dup(0)
 line     db ?
 row      db ?
 char     db ?
help_mas1 db ' welcome use editor! $'       ;帮助内容
help_mas2 db 'please the first active help! $'
help_mas3 db 'good lucky!! $'
help_mas4 db '==========================================================$'
help_mas5 db 'Press F1 to active file. $'
help_mas6 db 'You can use DOWN cursor key to choose the fuction $'
help_mas7 db 'Press F10 to show the help massage.Press Esc To Quit$'
date  db  'today ??/??/','$'      ;调用日期
hanglie db '???//???','$'        ;行//列
data     ends
code     segment                     
main     proc far                           ;主程序
 assume cs:code,ds:data
start:
 push ds
 sub  ax,ax
 push ax
 mov  ax,data
 mov  ds,ax
 call wind               
 call edit                              
 ret
main     endp
wind proc near                               ;创建窗口子程序
 win 0,3eh,1,0,24,79                 ;定义窗口背景
 win 1,1fh,0,0,0,79
 win 0,1fh,24,0,24,79
show:                        ;显示菜单位置及内容
 pos_curse 0,0,1  
 mov ah,9
 lea dx,menu
 int 21h
show_2:          ;显示状态栏位置及内容
 pos_curse 0,24,1
 mov ah,9
 lea dx,mass_1
 int 21h
 call win3
 call win4
 pos_curse  0,1,0
 mov row,dh
 mov line,dl
wind endp
edit proc near
char_get:                             ;读字符
call com
com proc near                         ;定义功能鍵
pos_get
mov  row,dh
mov  line,dl
first:
pos_curse 0,row,line
j00:    mov ah,0
int 16h                        ;从键盘读字符 ah=扫描码 al=字符码
push ax
lea dx,buffer
mov buffer[bx],al
inc bx
cmp  ah,48h                    ;上
jz   up_1
cmp  ah,50h                    ;下
jz   down_1
cmp  ah,4bh                    ;左
jz   left
cmp  ah,4dh                    ;右
jz   right
cmp  ah,1ch                    ;回车
jz   enter_1
call fuc_key
mov ah,2
mov dl,al
int 21h
pop ax
call  menu_show
jmp   j6
down_1:
jmp down
enter_1:
jmp enter_2
up_1:   jmp up
left:                                   ;光标左移
pos_get
mov row,dh
mov dl,line
cmp line,0
jnz direct
mov line,79
dec row
cmp row,0
je  stop2                                          
jmp first
stop2:
mov row,1
jmp first
direct: 
dec line
call win4                      ;显示光标位置
jmp first
right:                                 ;光标右移
pos_get
mov row,dh
mov dl,line
cmp line,79
jnz direct2
mov line,0
inc row
cmp row,24
je  returns1     
jmp first
direct2:
inc  line
call win4
jmp first
enter_2:
jmp enter
up:                                     ;上移光标
pos_get
mov row,dh
mov dl,line
dec row
cmp row,0
je  stop1
call win4
jmp first
stop1:
mov row,1
jmp first
down:                                    ;下移光标
pos_get
mov row,dh
mov dl,line 
inc row
cmp row,24
je  stop3
call win4
jmp first
stop3:
mov row,23
jmp first
returns1:
jmp returns
enter:                                   ;回车换行

[1] [2] [3] [4] 下一页

微机原理课程设计_简易文本编辑器下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。