关键词不能为空

当前您在: 主页 > 数学 >

汇编语言课设 文本编辑器

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-09-21 11:25
tags:高中数学软件

初高中数学衔接辅导书-高中数学人教b版必修一电子书

2020年9月21日发(作者:金锡如)


汇编语言课程设计
说明书
学 院: 软件学院
专 业:
学生姓名:
学 号:
题 目:
指导教师:

软件工程
马江涛

文本编辑器
陈够喜 潘广贞 杨剑 马巧梅

年 1 月



2016


目录




















摘 要
文本编辑器在我们的日常生活中使用非常频繁,是我们工作当
中不可或缺的工具。我们经常使用的文本编辑器有微软的记事本和
Microsoft Word。但是 本次课程设计我使用了8086汇编语言实现
了DOS下的简易文本编辑器,虽然与平时使用的文本编辑 器相比功
能比较简单,也不够完善。但是旨在考察汇编语言的运用以及软件
的实现过程。
本次设计以设计思路为主介绍简易文档编辑器的设计实现程,
对其设计原理进行一定的阐述, 并且分模块对其中较为重要的
子程序进行讲解,并且附上运行结果及汇编源程序。
关键字


文本编辑器、汇编语言、DOS


一、课程设计的目的
1.1 设计的目的
掌握汇编语言的使用,掌 握BIOS、DOS功能调用的使用方法,
以及对汇编语言程序设计的过程有较深刻的理解。
1.2
设计的内容

本次设计主要包括一下内容:
1. 美观且易于操作的界面;
2. 在文本编辑区可以随意输入字符;
3. 可以使用Backspace键对光标的前一个字符删除;
4. 实现了光标上移、下移、左移、右移;
5. 实现了下拉菜单以及弹出式菜单;
6. 可以实现屏幕的上卷和下卷;
二、设计方案的论证
2.1
开发背景

本次开发主要是在《微机原理与接口技术》这门课学习完成之
后,通过做一些实用的小软件考察 自己的学习情况。并且熟悉汇编
语言开发程序的过程。


2.2 程序设计的意义
由于信息化的普遍,所以文本编辑器在我们工作中也是必不可
少的,所以我 选择了开发文本编辑器,不只为人们带来了便利,同
时也能锻炼自己开发思路,熟悉汇编语言开发过程, 以及提高软件
开发水平。
常见的有Windows下的记事本,Mac OS X下的文本编 辑,Linux
下的vi、emacs、gedit、DOS下的edit等。本次设计类似于DOS< br>下的edit。
2.3 设计思路
本程序主要利用BIOS功能调用设计编辑器的菜 单和编辑窗口,
以及光标的定位与获取。利用DOS功能调用实现字符的读取与输出,
以及对按 键的识别。通过对光标以及字符输出来控制删除以及上下
左右键的控制。
三、设计的实现过程
3.1 总体设计方案

程序利用模块化设计方法,对每个要实现的功能都设计成子 程
序,方便使用。程序中具体模块如图3-1。


主程序
绘制界面 按键判断 子菜单绘功能的实
display dis_edit

图3-1 程序关系
3.2 实现过程
程序通过对BIOS和DOS的功能调用实现了对窗口、菜单、 字符
输入输出、按键识别等功能。程序整体利用了模块化的程序设计方
法,把每个功能模块都分 成子程序来分别调用。程序中主要用到了
以下子程序:
? display(显示菜单栏);
? dis_edit(显示编辑窗口);
? dis_file(显示文件菜单);
? dis_text(显示文本菜单);
? key_back(backspace删除字符);
? key_down(光标向下);
? key_left(光标向左);
? key_up(光标向上);
? key_right(光标向右);
? key_pgup(菜单的循环选择);
? ok_exit(退出);
? open(子菜单显示及控制);


3.3 数据定义
程序中要显示的字符串都事先在数据段DS和附加段ES中定义
好了,由于功能调 用的需要所以把数据定义在了数据段和附加段
中。以下是程序中用到数据的定义:
data segment
s db 'File View Text About$$'
f1 db 'Open',10,13,'Exit',10,13,'$$'
f2 db 'Clear$$'
i db 0
b db 0
buff db 1200 dup(?),'$$'
printf db
mss db 'Massage$$'
ab1 db 'About Edit$$'
ab2 db 'GaoHaiFeng$$'
ab3 db 'C1141$$'
ab4 db '2013-6-22$$'
data ends
eata segment
s1 db 'File$$'
s2 db 'View$$'
s3 db 'Text$$'
s4 db 'About$$'
s5 db 'Open$$'
s6 db 'Exit$$'
s7 db 'Clear$$'
eorr db 'eorr:$$'
ok db 5bh,'OK',5dh,'$$'
design db 'Design:$$'
class db 'Class:$$'
date db 'Date:$$'
qq db 'QQ:$$'
eata ends
事先定义好数据的结构可以减少程序设计中很多的麻烦。


3.4 模块设计
主要利用了BIOS功能调用绘制了两个窗口,一个是编辑区,一
个是菜单栏。实现过程见图3 -4-1。
开始
绘制编辑
绘制菜单
返回

图3-4-1 绘制界面
3.4.2 检测按键
这个模块主要是利用了AL=0,INT 16H来实现的,其中AH中存
放的是按键的扫描码,AL中 存放的是按键的ascii码。具体实现过
程见图3-4-2。


开始
等待输

AH=0?

输出字按键处
返回

图3-4-2 检测按键
3.4.3 子菜单绘制
该模块同样采用了BIOS功能调用设置子菜单,具体操作见图
3-4-3。


开始
绘制File
绘制View
绘制Text
绘制
返回

图3-4-3 绘制子菜单
四、调试运行及结果分析
4.1 运行结果
程序的主界面,包含有File,View,Text,About菜单,如图
4-1所示。


图4-1 程序主界面
按下PgUp键对菜单进行循环选择,绿色光带显示当 前选中菜单,
按任意除PgUp之外的按键切换到编辑区,如图4-2所示。
图4-2 选择菜单
File菜单包括Open和Exit子菜单,如图4-3所示。
图4-3 下拉菜单
当光带选中Open或者Exit时按下回车键,将执行光带所选中
的子菜单项所对 应的程序,图中为选中Open,如图4-4所示。
图4-4 选择Open
Text菜单下只有一个Clear,用来清屏,如图4-5所示。
图4-5 text子菜单
About主要用来显示作者以及开发的相关信息,如图4-6.
图4-6 选中About
4.2 结果分析
本程序主要仿照DOS下的Edit文本编辑器,但 是由于时间的关
系有些功能未实现,主要实现了菜单的弹出、选择、光标的移动、
文本的删除、 屏幕上卷等功能。
五、测试及问题探讨
5.1

程序测试
首先是测试文本编辑区,如图5-1.
图5-1 编辑测试
然后是测试菜单弹出后文本区的内容是否被抹掉,如图5-2和
5-3所示。
图5-2 文本区保存


图5-3 文本区回复
接下来是测试清屏菜单项,如图5-4和5-5所示。
图5-4 选中Clear
图5-5 文本清屏


六、课设总结与体会
通过本次课程设计可以说 收获颇多,虽然在程序设计的过程中
遇到很多问题,其中想过放弃,也曾因此彻夜不眠过,甚至有思路< br>就立马把程序写出来。但最终都在老师的帮助和自己的努力下走过
来了。做完了这个程序之后感觉 对汇编的理解更加深刻了,也似乎
懂得了开发底层软件的原理。虽然汇编和其它程序设计语言相比麻烦很多,但是汇编是通过对计算机底层硬件的控制来达到人机交互
的效果或者是实现了人们需要的功 能。可以说了解了计算机大体的
工作过程,为以后学习嵌入式系统以及计算机底层方面做了铺垫。


七、参考文献
[1]吕林涛. 微型计算机原理与接口技术.科学出版社.2011年5月
[2]王延松.微机原理与接口技术实践教程.2011年9月
[3]沈美明.IBM- PC汇编语言程序设计.清华大学出版社.2001年8


附录
源程序:
data segment












s db 'File View Text About$$'
f1 db 'Open',10,13,'Exit',10,13,'$$'
f2 db 'Clear$$'
i db 0
b db 0
buff db 1200 dup(?),'$$'
printf db
mss db 'Massage$$'
ab1 db 'About Edit$$'
ab2 db 'GaoHaiFeng$$'
ab3 db 'C1141$$'
ab4 db '2013-6-22$$'
data ends
eata segment















s1 db 'File$$'
s2 db 'View$$'
s3 db 'Text$$'
s4 db 'About$$'
s5 db 'Open$$'
s6 db 'Exit$$'
s7 db 'Clear$$'
eorr db 'eorr:$$'
ok db 5bh,'OK',5dh,'$$'
design db 'Design:$$'
class db 'Class:$$'
date db 'Date:$$'
qq db 'QQ:$$'
eata ends
stack segment
dw 1000 dup(?)
stack ends
code segment
assume ds:data,cs:code,ss:stack,es:eata


start: mov ax,data










mov ds,ax
mov ax,eata
mov es,ax
mov ah,0
mov al,3
int 10h
call display 显示菜单栏
call dis_edit
mov ah,4ch
int 21h
;显示菜单栏
;显示编辑区
display proc near







mov ah,6
mov al,0
mov ch,0
mov cl,0
mov dh,0
mov dl,79
mov bh,70h




















int 10h
mov ah,6
mov al,1
mov ch,0
mov cl,0
mov dh,0
mov dl,79
mov bh,70h
int 10h
mov ah,2
mov bh,0
mov dh,0
mov dl,0
int 10h
mov ah,09h
lea dx,s
int 21h
ret
display endp


dis_edit proc near 显示编辑区

















mov di,0 作为缓存指针
mov ah,6
mov al,0
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,6
mov al,1
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
pgup_r: mov ah,2






mov bh,0
mov dh,1
mov dl,0
int 10h
next1: mov cx,80
next: mov ah,00h 从键盘读取字符






int 16h
cmp al,1bh ;判断输入的字符是否是ESC
jz exit
cmp al,0dh ;判断输入的字符是否是回车
jz enter
cmp ah,48h ;判断按键是否是上,ah中存放的是特殊键
盘扫描码






jz di_up
cmp ah,4bh 判断是否是左
jz di_left
cmp ah,4dh 判断是否是右
jz di_right
cmp ah,50h 判断是否是下















jz di_down
cmp ah,49h 判断是否是pgup键按下
jz di_pgup
cmp ah,0eh
jz di_back
mov buff[di],al ;每次接收一个字符时都存放到BUFF中
inc di
mov buff[di],'$$'
mov dl,al al中存放的是普通字符的ascii码
mov ah,2
int 21h
loop next
jmp next1 这里相当于无限循环,CX的值不起作用
enter: mov buff[di],10





inc di
mov buff [di],13
inc di
mov ah,3 获取光标位置
mov bh,0











int 10h
cmp dh,24 判断回车之后是否是行尾
jz go_again
mov ah,2
mov bh,0
inc dh
mov dl,0
int 10h
jmp next1
di_up: call key_up ;这里不需要重新定义CX的值,程序会
自动换行
jmp next1
di_left:call key_left 调用左移子程序
jmp next1
di_right:call key_right 调用右移子程序
jmp next1
di_down:call key_down 调用下移子程序
jmp next1
di_pgup:call key_pgup 调用pgup子程序


jmp pgup_r
di_back:call key_back
jmp next1
go_again:call dis_loop ;上卷一行定位到行尾
jmp next1
exit: mov ah,6







mov al,0
mov ch,0
mov cl,0
mov dh,24
mov dl,79
int 10h
ret
dis_edit endp
dis_loop proc near 编辑区上卷一行光标定位到行尾




mov ah,6
mov al,1
mov ch,1
mov cl,0












mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,2
mov bh,0
mov dh,24
mov dl,0
int 10h
ret
dis_loop endp
key_up proc near







mov ah,3 读取光标位置
mov bh,0
int 10h
cmp dh,1
jz rodown
mov ah,2 定位光标位置
dec dh


int 10h
return: ret
rodown: call roll_down
jmp return
key_up endp
roll_down proc near 屏幕下卷













mov ah,7
mov al,1
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,3 读取光标位置
mov bh,0
int 10h
mov ah,2 定位光标位置
int 10h


ret
roll_down endp
key_left proc near










mov ah,3 读取光标位置
mov bh,0
int 10h
cmp dl,0 判断是否到了第一列
jz go_left ;是的话移到上一行行尾
mov ah,2
mov bh,0
dec dl
int 10h
jmp ret1
go_left:cmp dh,1





jnz roll_up
mov ah,6
mov al,1
mov ch,1
mov cl,0












mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,2
mov bh,0
mov dl,79
mov dh,1
int 10h
jmp ret1
roll_up:mov ah,2 移到上一行行尾




mov bh,0
dec dh
mov dl,79
int 10h
ret1: ret
key_left endp
key_right proc near
mov ah,3 读取光标位置





















mov bh,0
int 10h
cmp dl,79
jnz go_right
cmp dh,24
jnz on_ok
mov ah,6
mov al,1
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,2
mov bh,0
mov dh,24
mov dl,0
int 10h


jmp ret2
on_ok: mov ah,2





mov bh,0
inc dh
mov dl,0
int 10h
jmp ret2
go_right: mov ah,2



mov bh,0
inc dl
int 10h
ret2: ret
key_right endp
key_down proc near





mov ah,3
mov bh,0
int 10h
cmp dh,24
jnz m_down


















mov ah,6
mov al,1
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,3
mov bh,0
int 10h
mov ah,2
mov bh,0
mov dh,24
int 10h
jmp ret3
m_down: mov ah,2


mov bh,0
inc dh


int 10h
ret3: ret
key_down endp
key_pgup proc near 按下pgup键的处理过程
st_pgdn:call display














cmp i,0
jnz nt 判断当前的菜单项是第几个
mov ah,6 ;菜单项处清屏
mov al,0
mov bh,1fh
mov ch,0
mov cl,0
mov dh,0
mov dl,3
int 10h
mov ah,13h bios输出字符串
mov al,0
mov cx,4
mov dh,0




mov dl,0
mov bl,0a5h
mov bh,0
lea bp,s1
int 10h
jmp ret0
nt: cmp i,1
jnz nt1
mov bh,1fh
mov ah,6
mov al,0
mov ch,0
mov cl,9
mov dh,0
mov dl,12
int 10h
mov ah,13h
mov al,0
mov cx,4
;bios输出字符串









mov dh,0
mov dl,9
mov bl,0a5h
mov bh,0
lea bp,s2
int 10h
jmp ret0
nt1: cmp i,2











jnz nt2
mov bh,1fh
mov ah,6 小菜单清屏
mov al,0
mov ch,0
mov cl,18
mov dh,0
mov dl,21
int 10h
mov ah,13h ;bios输出字符串
mov al,0






mov cx,4
mov dh,0
mov dl,18
mov bl,0a5h
mov bh,0
lea bp,s3
int 10h
jmp ret0
nt2: cmp i,3
jnz nt1
mov bh,1fh
mov ah,6
mov al,0
mov ch,0
mov cl,27
mov dh,0
mov dl,30
int 10h
mov ah,13h bios输出字符串










mov al,0
mov cx,5
mov dh,0
mov dl,27
mov bl,0a5h
mov bh,0
lea bp,s4
int 10h
ret0: inc i



cmp i,4
jnz rtt
mov i,0
rtt: mov ah,0h






int 16h
cmp ah,49h
jz st_pgdn
cmp al,0dh 判断是否是回车
jnz rt0
cmp i,0





jnz lol
call dis_about
jmp rt0
lol: cmp i,1



jnz qqq
call dis_file
jmp rt0
qqq: cmp i,3


jnz rtt 不确定
call dis_text
rt0: cmp i,1








jnz ntf
mov ah,6 菜单项处清屏
mov al,0
mov bh,70h
mov ch,0
mov cl,0
mov dh,0
mov dl,3













int 10h
mov ah,13h bios输出字符串
mov al,0
mov cx,4
mov dh,0
mov dl,0
mov bl,70h
mov bh,0
lea bp,s1
int 10h
jmp rrr
ntf: cmp i,2







jnz ntf1
mov bh,70h
mov ah,6
mov al,0
mov ch,0
mov cl,9
mov dh,0














mov dl,12
int 10h
mov ah,13h bios输出字符串
mov al,0
mov cx,4
mov dh,0
mov dl,9
mov bl,70h
mov bh,0
lea bp,s2
int 10h
jmp rrr
ntf1: cmp i,3






jnz ntf2
mov bh,70h
mov ah,6 ;小菜单清屏
mov al,0
mov ch,0
mov cl,18





mov dh,0
mov dl,21
int 10h
mov ah,13h
mov al,0
mov cx,4
mov dh,0
mov dl,18
mov bl,70h
mov bh,0
lea bp,s3
int 10h
jmp rrr
ntf2: cmp i,0
jnz rrr
mov bh,70h
mov ah,6
mov al,0
mov ch,0
;bios输出字符串















mov cl,27
mov dh,0
mov dl,30
int 10h
mov ah,13h bios输出字符串
mov al,0
mov cx,5
mov dh,0
mov dl,27
mov bl,70h
mov bh,0
lea bp,s4
int 10h
rrr: mov i,0
ret
key_pgup endp
dis_file proc near 显示File菜单


mov ah,6
mov al,0





















mov bh,70h
mov ch,1
mov cl,0
mov dh,2
mov dl,6
int 10h
mov ah,6
mov al,1
mov bh,70h
mov ch,1
mov cl,0
mov dh,2
mov dl,6
int 10h
mov ah,2
mov bh,0
mov dh,1
mov dl,0
int 10h









mov ah,09h
lea dx,f1
int 21h
mov ah,00h
int 16h
cmp ah,50h 如果按方向键下
jnz input
an_don: cmp b,0











jnz haha
mov ah,13h
lea bp,s6
mov al,0
mov cx,4
mov dh,2
mov dl,0
mov bh,0
mov bl,70h
int 10h
mov ah,13h











lea bp,s5
mov al,0
mov cx,4
mov dh,1
mov dl,0
mov bh,0
mov bl,05ah
int 10h
jmp input
haha: cmp b,1









jnz input
mov ah,13h
lea bp,s5
mov al,0
mov cx,4
mov dh,1
mov dl,0
mov bh,0
mov bl,70h












int 10h
mov ah,13h
lea bp,s6
mov al,0
mov cx,4
mov dh,2
mov dl,0
mov bh,0
mov bl,05ah
int 10h
input: inc b



cmp b,2
jnz eee
mov b,0
eee: mov ah,00




int 16h
cmp ah,50h 判断是否是方向键下
jz an_don
cmp ah,01h 判断是否是ESC









jz rrr1
cmp al,0dh ;判断是否是回车
jnz eee
cmp b,1
jnz cexit
call open
jmp rrr1
cexit: call ok_exit
rrr1: mov ah,6










mov al,0
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,6
mov al,1
mov ch,1









mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
call dis_buff
ret
dis_file endp
dis_buff proc near









mov ah,2
mov bh,0
mov dh,1
mov dl,0
int 10h
mov ah,9
lea dx,buff
int 21h
ret
dis_buff endp


open proc near
call display
mov ah,6
mov al,0
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
call dis_buff
mov ah,6
mov al,0
mov bh,70h
mov ch,6
mov cl,19
mov dh,6
mov dl,59
int 10h
显示缓存数据;





















mov ah,6 弹出窗口message显示区
mov al,1
mov bh,70h
mov ch,6
mov cl,19
mov dh,6
mov dl,59
int 10h
mov ah,2
mov bh,0
mov dh,6
mov dl,34
int 10h
mov ah,9
lea dx,mss
int 21h
mov ah,6
mov al,0
mov bh,5eh


mov ch,7
mov cl,19
mov dh,14
mov dl,59
int 10h
mov ah,6
mov al,1
mov bh,5eh
mov ch,7
mov cl,19
mov dh,14
mov dl,59
int 10h
mov ah,13h
lea bp,eorr
mov al,0
mov cx,5
mov bh,0
mov bl,52h
显示eoor



















;





















mov dh,10
mov dl,24
int 10h
mov ah,2
mov bh,0
mov dh,10
mov dl,32
int 10h
mov ah,9
lea dx,printf
int 21h
mov ah,13h
lea bp,ok
mov al,0
mov cx,4
mov bh,0
mov bl,70h
mov dh,12
mov dl,37


int 10h
sure: mov ah,00h













int 16h
cmp al,0dh
jnz sure
mov ah,6
mov al,0
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
call dis_buff
ret
open endp
ok_exit proc proc


mov ah,6
mov bh,0











mov al,0
mov ch,0
mov cl,0
mov dh,24
mov dl,79
int 10h
mov ah,4ch
int 21h
ret
ok_exit endp
dis_text proc near








mov ah,6
mov al,0
mov bh,70h
mov ch,1
mov cl,18
mov dh,1
mov dl,24
int 10h





















mov ah,6
mov al,1
mov bh,70h
mov ch,1
mov cl,18
mov dh,1
mov dl,24
int 10h
mov ah,2
mov bh,0
mov dh,1
mov dl,18
int 10h
mov ah,09h
lea dx,f2
int 21h
mov ah,13h
lea bp,s7
mov al,0








mov cx,5
mov dh,1
mov dl,18
mov bh,0
mov bl,05ah
int 10h
inpuu: mov ah,0






int 16h
cmp ah,01h
jz r121
cmp al,0dh
jnz r121
mov buff,'$$'
r121: mov ah,6





mov al,0
mov ch,1
mov cl,0
mov dh,24
mov dl,79






mov bh,1eh
int 10h
call dis_buff
ret
dis_text endp
dis_about proc near













mov ah,6
mov al,0
mov bh,70h
mov ch,6
mov cl,19
mov dh,6
mov dl,59
int 10h
mov ah,6
mov al,1
mov bh,70h
mov ch,6
mov cl,19





















mov dh,6
mov dl,59
int 10h
mov ah,2
mov bh,0
mov dh,6
mov dl,34
int 10h
mov ah,9 输出About Edit
lea dx,ab1
int 21h
mov ah,6
mov al,0
mov bh,3eh
mov ch,7
mov cl,19
mov dh,14
mov dl,59
int 10h





















mov ah,6
mov al,1
mov bh,3eh
mov ch,7
mov cl,19
mov dh,14
mov dl,59
int 10h
mov ah,13h
lea bp,design
mov cx,7
mov dh,8
mov dl,30
mov bh,0
mov bl,30h
int 10h
mov ah,6 ;显示CLASS处清屏
mov al,0
mov bh,30h
;显示design





















mov ch,9
mov cl,30
mov dh,9
mov dl,38
int 10h
mov ah,13h
lea bp,class 显示class
mov cx,5
mov dh,9
mov dl,30
mov bh,0
mov bl,31h
int 10h
mov ah,6 显示date处清屏
mov al,0
mov bh,3eh
mov ch,10
mov cl,30
mov dh,10





















mov dl,38
int 10h
mov ah,13h
lea bp,date 显示日期
mov cx,5
mov dh,10
mov dl,30
mov bh,0
mov bl,30h
int 10h
mov ah,6 显示QQ处清屏
mov al,0
mov bh,3eh
mov ch,11
mov cl,30
mov dh,11
mov dl,38
int 10h
mov ah,13h





















lea bp,qq 显示QQ
mov cx,3
mov dh,11
mov dl,30
mov bh,0
mov bl,30h
int 10h
mov ah,2
mov bh,0
mov dh,8
mov dl,42
int 10h
mov ah,9 显示
lea dx,ab2
int 21h
mov ah,2
mov bh,0
mov dh,9
mov dl,42





















int 10h
mov ah,9 显示
lea dx,ab3
int 21h
mov ah,2
mov bh,0
mov dh,10
mov dl,42
int 10h
mov ah,9
lea dx,ab4
int 21h
mov ah,2
mov bh,0
mov dh,11
mov dl,42
int 10h
mov ah,9 显示
lea dx,q1












int 21h
mov ah,13h 显示OK
lea bp,ok
mov al,0
mov cx,4
mov bh,0
mov bl,70h
mov dh,13
mov dl,37
int 10h
check: mov ah,0








int 16h
cmp al,0dh
jnz check
mov ah,6
mov al,0
mov ch,1
mov cl,0
mov dh,24




















mov dl,79
mov bh,1eh
int 10h
mov ah,6
mov al,1
mov ch,1
mov cl,0
mov dh,24
mov dl,79
mov bh,1eh
int 10h
mov ah,2
mov bh,0
mov dh,1
mov dl,0
int 10h
call dis_buff
ret
dis_about endp


key_back proc near


















mov ah,3
mov bh,0
int 10h
cmp dh,1
jnz ba2
cmp dl,0
jnz back1
mov ah,2 当光标在第一行第0列时
mov bh,0
mov dh,1
mov dl,0
int 10h
mov ah,2
mov dl,0
int 21h
mov ah,2 光标回退
mov bh,0
mov dh,1





mov dl,0
int 10h
jmp rsd
ba2: cmp dl,0















jnz back1
mov ah,2
mov bh,0
dec dh
mov dl,79
int 10h
mov ah,2
mov dl,0
int 21h
mov ah,3
mov bh,0
int 10h
mov ah,2 ;光标回退
mov bh,0
dec dh





mov dl,79
int 10h
jmp rsd
back1: mov ah,2 当光标不是在第一行以及不在第0列时
mov bh,0
dec dl
int 10h
mov ah,2
mov dl,0
int 21h
mov ah,3
mov bh,0
int 10h
mov ah,2 光标回退
mov bh,0
dec dl
int 10h
jmp rsd
rsd: dec di




mov buff[di],'$$'
ret
key_back endp
code ends
end start

高中数学辅导书电子版-提高高中数学教师专业发展


沈阳高中数学大学生家教-高中数学函数的周期


2018全国高中数学联赛天津-高中数学课时不足


高中数学必修二第二单元视频-上海高中数学课程视频百度云


高中数学分析法的教案-考高中数学老师要做高中题吗


高中数学函数知识表-人教版高中数学必修一免费课件


教师述职报告 高中数学教师-高中数学基础公式定义


2018文科高中数学统计-高中数学必修讲什么



本文更新与2020-09-21 11:25,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/406919.html

汇编语言课设 文本编辑器的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文