回 帖 发 新 帖 刷新版面

主题:有谁能完成这个作业啊,可以与我联系哦!!!

汇编语言课程设计《打字练习程序》
一、  课程设计的目的
本课程设计是《80X86汇编语言程序设计》课程的后继教学环节, 通过对一个较大型的、综合性的应用程序进行阅读、修改、添加功能等工作, 使学生对汇编语言程序设计有更进一步的认识, 提高阅读理解复杂程序的能力和程序设计能力。
二、    课程设计的任务
根据所给的“typetest.asm”应用程序框架, 在此基础上修改和添加功能。
基本任务:
Ø    认真阅读“typetest.asm”源程序, 理解程序每一条指令在程序中的作用。绘制程序流程图(简略总图,各模块详细流程图),给程序中的关键语句(后跟分号)作注释。
Ø    设置输入界面, 用户输入密码后才能进入主菜单 ;
Ø    修改主菜单, 在主菜单上显示当天日期 ;
Ø    修改主菜单, 增加可供用户选择难度级别的选项。
Ø    为用户打分,正确输入字母使用时间越少,得分越高。
Ø    修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。
Ø    将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义。
扩展任务:
Ø    设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止。
Ø    到达限定时间,用户得分达到预设的值时, 自动提高难度等级, 屏幕变色。
Ø    修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。笑脸字母全部消失后, 游戏停止, 显示告别画面,显示用户成绩。
其他任务:
Ø    用户分数达到一定程度时, 奏乐。
Ø    自行设计新的功能。
三、    课程设计报告内容与要求
(1)    分析原“typetest.asm”程序结构: 画出主程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能(与对应流程图放在一起);
(2)    对你已经实现的功能(修改的、新编写的)做详细的说明, 并附上流程图及程序清单(修改/增加的指令请使用大写字母,以示区别);
(3)    自己对该“打字练习程序”的进一步设想;
(4)    对于有设想但最终未实现的功能的大致编程思路的阐述;
(5)    论述在设计过程中遇到的并且对你具有启发性的问题。
(6)    严禁抄袭,发现雷同,双方扣分。

回复列表 (共3个回复)

沙发

四、    《打字练习程序》汇编语言源程序清单
;  Assembly program for test your type skills  
;  Writed by         in  06/24/2003
;  Modified by Mi shuang in 06/06/2005

; ------------------------------------------------
Init_boarder    macro    row, col, char, dhdl, count;
Local    ll
mov        cx, count
mov        dh, row
mov        dl, col
ll:        mov        ah, 02h
mov        bh, 00h
int        10h
push        cx
mov        ah, 0ah
mov        al, char
mov        bh, 00h
mov        cx, 01h
int        10h
pop        cx
inc        dhdl
loop        ll
endm
; ---------------------------------------------------

板凳

menu    macro    row, col, text; 菜单显示宏定义
        mov        ah, 02h
        mov        bh, 00h
        mov        dh, row
        mov        dl, col
        int        10h
        mov        ah, 09h
        lea        dx, text
        int        21h
endm
; ======================================================
Data        segment
ZK            db    "WELCOME TO PLAY$"     
date        db    "Date:2003/6/24$"
mes0        db    "Press Enter key to continue.......$"
mes1        db    "When a letter is dropping,please hit it!$"
mes2        db    "Press space key to pause!$"
mes3        db    "Press ESC key to return main interface!$"
mes4        db    "Press letter 'E' to exit!$"
Speed            dw    3000H
Letters            db    "jwmilzoeucgpravskntxhdyqfb"
        db    "iytpkwnxlsvxrmofzhgaebudjq"
        db    "nwimzoexrphysfqtvdcgljukda"
Present_position    db    1
db    0                        ;
Data        ends
; =========================================================

3 楼


,,,.,haoa a  haoi a

我来回复

您尚未登录,请登录后再回复。点此登录或注册