汇编课程设计 函数调用

发布 2022-10-01 07:26:28 阅读 4753

在本次课程设计中,我组报的是编写打字游戏,该程序可以分辨输入的自与系统给出的字的相同与否,并作出相应的颜色处理。

本次课程设计的目的主要是将课堂上所学的知识学以致用,并同过程序的制作过程学习课外的新知识,加强加深对知识的理解与掌握,并通过小组团结合作,发挥每个人的力量使任务更加生动有趣。

程序首先定义一个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电子版发到我邮箱。选第一组...