在本次课程设计中,我组报的是编写打字游戏,该程序可以分辨输入的自与系统给出的字的相同与否,并作出相应的颜色处理。
本次课程设计的目的主要是将课堂上所学的知识学以致用,并同过程序的制作过程学习课外的新知识,加强加深对知识的理解与掌握,并通过小组团结合作,发挥每个人的力量使任务更加生动有趣。
程序首先定义一个hello的函数调用int 21h mov ah ,09来显示字符串,ds:dx定义字符串位置来使用一个80×25的界面使整个程序更加美观。
游戏主程序调用bios int 10 的9号功能实现对目标文本的颜色和定位,。游戏主程序可以用int 16 mov ah,00从键盘读取输入的字符在调用int 21 mov ah,01 让键盘输入显示在屏幕中 al=输入的字符,用cmp指令对输入的文本和目标文本进行比较,再利用选择语句将错误的输入字符显示为红色,将正确的输入字符显示为绿色。在整个字符串结束后直接退到dos环境。
图1 流程图。
程序首先定义一个hello的函数调用int 21h mov ah ,09来显示字符串,ds:dx定义字符串位置来使用一个80×25的界面使整个程序更加美观。
程序定义了choosepage函数来实现页面的转换。
choosepage proc near
mov al,pg
mov ah,05h
int 10h
retchoosepage endp
它使可以产生新的页面,让程序的分布更加人性化。
游戏主程序调用bios int 10 的9号功能实现对目标文本的颜色和定位,。游戏主程序可以用int 16 mov ah,00从键盘读取输入的字符在调用int 21 mov ah,01 让键盘输入显示在屏幕中 al=输入的字符,将键盘输入的字符与目标文本进行比较用cmp指令对输入的文本和目标文本进行比较,再利用选择语句将错误的输入字符显示为红色,将正确的输入字符显示为绿色。在整个字符串结束后直接退到dos环境。
6.程序**。
data segment
string dbwelcome to my game
author db '-shu jun wu liang wang ying ying---
enter1 db ' 1: testword !
count equ $-enter1
y db 'abcdefdfdfslhkladlfjdljflddljfwefoooddddaaaa','
count1 equ $-y
pg db ?
color db ?
data ends
code segment
assume cs:code ,ds:data
start: mov ax,data
mov ds,ax
call hello ;jie mian
mov ah,4ch
int 21h
proc of window
hello proc near
mov ah ,00h ;choose mode 80*25
mov al,03h
int 10h
mov pg,1
call choosepage
mov dh,7
mov dl,6
call locate
lea dx,string
mov ah,09h
int 21h
mov dh,11 ;都在置光标前将行为11
mov dl,25
call locate
mov si,-1
---show word---
inin: inc si
cmp si,count
jz out1
mov ah,09h
mov bh,1
mov al,enter1[si]
mov bl,03h ; color of letter
int 10h
inc dl
call locate
jmp inin
out1: mov dh,14
mov dl,9
call locate
lea dx,author
mov ah,09h
int 21h
mov ah,00h
int 16h
cmp al,27
jz exit
cmp al,0dh
jnz out1
call game
exit: mov pg,0
call choosepage
mov ah,4ch
int 21h
rethello endp
locate cursor--
locate proc near
mov ah,02h
mov bh,1
int 10h
retlocate endp
choose a new page---
choosepage proc near
mov al,pg
mov ah,05h
int 10h
retchoosepage endp
game proc
game proc near
mov pg,2
call choosepage
lea dx,y
mov ah,09h
int 21h
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
mov si,-1
ingame: inc si
cmp si,count1-1
jge outgame
mov ah,01h
int 21h
cmp al,27
jz outgame1
cmp al,y[si]
jnz wrong
cmp al,'
jz blankcolor
mov color,03 ;if right change color
blankcolor1:
mov bx,si
mov dl,bl
mov dh,1
mov bh,2
mov ah,02h
int 10h
---换色调用int 10 的9号功能书上478页---
mov ah,09h
mov bl,color
mov bh,2
mov cx,1
int 10h
inc dl
mov ah,02h
int 10h
jmp ingame
blankcolor: mov color,33h
jmp blankcolor1
wrong:
cmp al,'
jz blankcolor2
mov color,04;if wrong change color
wrong1:
mov bx,si
mov dl,bl
mov dh,1
mov bh,2
mov ah,02h
int 10h
mov ah,09h
mov bl,color
mov bh,2
mov cx,1
int 10h
inc dl
mov ah,02h
int 10h
jmp ingame
blankcolor2:
mov color,44
jmp wrong1
outgame: mov ah,00h
int 16h
outgame1:
mov pg,0
call choosepage
mov ah,4ch
int 21h
retgame endp
code ends
end start
在将程序初完成后进行并没有立刻进行调试而是在windows环境下用记事本打开程序对其进行说明注释,由于使用了中文,所以回到dos环境时出现了乱码但并没有对程序的运行造成影响。
汇编课程设计
直流电机调速系统设计。摘要。脉宽调制的全称为 pulse widthmodulator 简称pwm 直流电机调速器就是调节直流电动机速度的设备,由于直流电动机具有低转速大力矩的特点,是交流电动机无法取代的,因此调节直流电动机速度的设备 直流调速器,由于它的特殊性能 常被用于直流负载回路中 灯具调光或...
汇编课程设计
湖南农业大学课程设计报告。学院 信息科学与技术学院班级 计算机科学与技术2班 姓名 陈小湾学号 200841842226 课程设计报告题目 时钟显示程序。课程名称 微机原理与接 术。评阅成绩 评阅意见 成绩评定教师签名 日期 年月日。第一部分 任务与要求。利用芯片8253和8259a完成时钟显示程序...
汇编课程设计
汇编语言课程临近结束时,将利用实验课和理论课最后阶段时间 大约14周开始,具体安排听通知 让同学们进行题目的答辩。分组 每5到6人一组,推选出组长。每组同学选一组题目,且任两组同学不得选重复组的题目,两班同学不要选相同组题目。请班长在第三周周一前将分组及选题的汇总excel电子版发到我邮箱。选第一组...