汇编程序课程设计报告

合集下载

星研电子汇编课程设计

星研电子汇编课程设计

星研电子汇编课程设计一、教学目标本课程旨在让学生掌握星研电子汇编的基本知识和技能,培养他们运用电子汇编进行程序设计和解决问题的能力。

具体目标如下:1.知识目标:•了解电子汇编的基本概念、原理和应用。

•掌握汇编语言的语法、指令系统和程序结构。

•熟悉常用的电子汇编器和调试工具。

2.技能目标:•能够使用电子汇编语言编写简单的程序,并进行调试和优化。

•学会阅读和分析电子汇编程序,理解程序的运行过程和原理。

•能够运用电子汇编解决实际问题,如数字信号处理、嵌入式系统设计等。

3.情感态度价值观目标:•培养学生的创新意识和团队合作精神,提高他们解决实际问题的能力。

•培养学生对电子汇编技术的兴趣和热情,激发他们继续学习和探索的欲望。

•培养学生的社会责任感和职业道德,使他们意识到电子汇编技术在现代社会中的重要性和应用前景。

二、教学内容本课程的教学内容主要包括电子汇编的基本概念、语法和指令系统、程序设计和调试等方面。

具体安排如下:1.电子汇编的基本概念:•汇编语言的定义和特点•汇编器和调试工具的使用方法2.语法和指令系统:•数据类型和寄存器•指令分类和用法•程序结构和语法规则3.程序设计:•顺序程序设计•分支和循环程序设计•子程序调用和参数传递4.调试和优化:•调试工具的使用方法和技巧•常见错误和解决方案•代码优化方法和策略三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式,包括讲授法、讨论法、案例分析法和实验法等。

具体方法如下:1.讲授法:通过讲解和示范,向学生传授电子汇编的基本概念、原理和应用。

2.讨论法:学生进行小组讨论,促进学生之间的交流和合作,培养他们的创新思维和解决问题的能力。

3.案例分析法:通过分析实际案例,让学生了解电子汇编语言在实际项目中的应用和优势。

4.实验法:安排实验室实践环节,让学生亲自动手编写程序、调试和优化,增强他们的实践能力和操作技能。

四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用权威、实用的电子汇编教材,为学生提供系统的理论知识。

北京理工大学汇编实验五实验报告概要

北京理工大学汇编实验五实验报告概要

本科实验报告实验名称:子程序设计实验实验五子程序设计实验(设计性实验)一、实验要求和目的1.熟悉汇编语言程序设计结构;2.熟悉汇编语言子程序设计方法;3.熟悉利用汇编语言子程序参数传递方法;4.熟悉汇编语言字符串处理基本指令的使用方法;5.掌握利用汇编语言实现字符串的输入输出程序设计方法;6.掌握数制转换程序实现方法。

二、软硬件环境1、硬件环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。

三、实验涉及的主要知识A)子程序知识要点:1、掌握子程序的定义语句;过程名PROC [near/far] 过程体RET过程名ENDP2.子程序结构形式一个完整的子程序一般应包含下列内容:1. )子程序的说明部分在设计了程序时,要建立子程序的文档说明,使用户能清楚此子程序的功能和调用方法.说明时,应含如下内容:.子程序名:命名时要名中见意..子程序的功能:说明子程序完成的任务;.子程序入口参数:说明子程序运行所需参数及存放位置;.子程序出口参数:说明子程序运行结果的参数及存放位置;.子程序所占用的寄存器和工作单元;.子程序调用示例;2、)掌握子程序的调用与返回在汇编语言中,子程序的调用用CALL,返回用RET指令来完成。

.段内调用与返回:调用子程序指令与子程序同在一个段内。

因此只修改IP;.段间调用与返回:调用子程序与子程序分别在不同的段,因此在返回时,需同时修改CS:IP。

3.)子程序的现场保护与恢复保护现场:在子程序设计时,CPU内部寄存器内容的保护和恢复。

一般利用堆栈实现现场保护和恢复的格式:过程名PROC[NEAR/FAR]PUSH AXPUSH BX..PUSH DX...POP DX...POP AXRET过程名ENDP4.子程序的参数传递方法1.寄存器传递参数这种方式是最基本的参数传递方式。

2.存储器单元传(变量)递参数这种方法是在主程序调用子程序前,将入口参数存放到约定的存储单元中;子程序运行时到约定存储位置读取参数;子程序执行结束后将结果也放在约定存储单元中。

王爽汇编语言课程设计

王爽汇编语言课程设计

王爽汇编语言课程设计一、课程目标知识目标:1. 理解汇编语言的基本概念,掌握汇编语言的语法和指令系统;2. 学会使用汇编语言进行程序设计和调试;3. 了解计算机硬件与汇编语言的关联,理解汇编语言在计算机运行中的作用。

技能目标:1. 能够运用汇编语言编写简单的程序,实现基本的输入输出、算术运算等功能;2. 学会使用汇编语言进行条件判断和循环控制;3. 掌握汇编语言与高级语言的混合编程方法。

情感态度价值观目标:1. 培养学生对计算机底层原理和汇编语言的兴趣,激发学习热情;2. 培养学生的编程思维和解决问题的能力,提高自信心;3. 强调汇编语言在计算机科学中的重要性,培养学生的专业素养。

课程性质分析:本课程为计算机科学与技术专业的基础课程,旨在帮助学生深入理解计算机硬件与软件的关联,掌握汇编语言的编程技能。

学生特点分析:学生处于大学本科阶段,具备一定的计算机基础知识和编程能力,对汇编语言有一定的好奇心,但可能对底层原理感到困惑。

教学要求:1. 结合实际案例,深入浅出地讲解汇编语言知识;2. 注重实践操作,培养学生的动手能力;3. 突出汇编语言在实际应用中的作用,提高学生的应用意识。

二、教学内容1. 汇编语言基础知识:介绍汇编语言的概念、发展历程、特点及应用场景,讲解汇编语言的语法和指令系统(对应教材第1章)。

- 数据类型与寄存器- 指令格式与寻址方式2. 汇编语言程序设计:讲解汇编语言的编程方法,通过案例分析和实践操作,使学生掌握汇编程序的设计与调试(对应教材第2-4章)。

- 程序结构- 基本指令的使用- 程序流程控制3. 汇编语言与硬件的关系:介绍汇编语言如何与计算机硬件交互,理解汇编语言在计算机运行中的作用(对应教材第5章)。

- 计算机硬件原理- 汇编语言与CPU的关联4. 混合编程:讲解汇编语言与高级语言的混合编程方法,提高学生的编程技能和应用能力(对应教材第6章)。

- 混合编程概念与原理- 混合编程实例分析5. 实践环节:设置多个实践任务,让学生动手编写汇编程序,巩固所学知识,提高实际操作能力(对应教材实践部分)。

计算机组成原理与汇编实验报告.

计算机组成原理与汇编实验报告.

计算机组成原理与汇编实验报告.计算机组成原理与汇编课程设计实验报告⽬录⼀、课程设计⽬标 (3)⼆、课程设计基本要求 (3)三、课程设计的内容 (3)四、课程设计的要求 (5)五、实验详细设计 (5)1.统计⽂件中各字母出现的频率 (5)2.⽤递归计算50以内Fibonacci 数, 以⼗进制数输出 (9)3.虚拟平台模拟机实验 (11)六、使⽤说明 (19)七、总结与⼼得体会 (19)⼋、参考⽂献 (20)九、附录 (20)1.字符统计.asm (20)2.斐波那契数(⼩于50).asm (29)⼀、课程设计⽬标通过课程设计使学⽣综合运⽤所学过的计算机原理与汇编知识,增强解决实际问题的能⼒,加深对所学知识的理解与掌握,提⾼软硬件开发⽔平,为今后打下基础。

课程设计的⽬的和要求:1、使学⽣巩固和加强《计算机原理与汇编语⾔》课程的基本理论知识。

2、使学⽣掌握汇编语⾔程序设计的⽅法及编程技巧,正确编写程序。

3、使学⽣养成良好的编程习惯并掌握调试程序的基本⽅法。

4、使学⽣养成规范书写报告⽂档的能⼒,撰写课程设计总结报告。

5、通过查阅⼿册和⽂献资料,培养学⽣独⽴分析问题和解决问题的能⼒。

⼆、课程设计的基本要求1、认真查阅资料,独⽴完成设计任务,每道题都必须上机通过。

2、编写预习报告,写好代码,上机调试。

3、独⽴思考,培养综合分析问题解决问题和调试程序的能⼒。

4、按时完成课程设计,写出课程设计报告。

三、课程设计的内容1、给定⼀个英⽂ASCII码⽂件,统计⽂件中英⽂字母的频率,以⼗进制形式输出。

2、⽤递归计算50以内Fibonacci 数, 以⼗进制数输出.3、虚拟平台的模型机实验,具体要求如下:1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进⾏连线。

3)输⼊机器指令:选择菜单中的“⼯具”,再选择“模型机调试”,在指令输⼊窗⼝中输⼊如下指令:00000000000100000000100100100000000010110011000000001011010000000000000000000001本实验设计机器指令程序如下:4)这⾥做的是个加法运算,第⼀个加数已经存⼊到内存的0000 1010单元中,第⼆个加数是需要⼿⼯输⼊的。

2011汇编语言课程设计报告-DOS下屏保程序的设计与实现

2011汇编语言课程设计报告-DOS下屏保程序的设计与实现

设计题目:DOS下屏保程序的设计与实现课程名称:汇编语言任课教师:沈翠华班级:试验092学号:0958020205姓名:曹津课程设计报告书格式要求(封皮的背面):1. 课程设计报告书采用统一封面,以左侧为准装订成册。

2. 课程设计报告书一律使用标准A4复印纸打印或使用标准A4复印纸手写稿形式上交。

3. 课程设计报告书打印的格式要求:课程设计标题(使用隶书二号字体加黑;一级标题、二级标题分别使用黑体三号、四号字体加黑)正文(使用宋体小四号,行距20磅)算法代码及源程序代码(使用Times New Roman五号)DOS下屏保程序的设计与实现1.题目及要求编写一个DOS下的屏幕保护程序(也可以是windows下的屏保)。

该程序具有以下功能:在一段时间内(如1分钟)没有任何键键入时,程序自动进入屏保(一个图画一直在不断的移动显示,图案任意),直到按任意键结束。

2.程序设计分析本程序实现时由三个大模块构成,即主过程、中断处理程序和屏保程序。

其中屏保程序又附带光标随机坐标产生子程序、延时子程序和图案产生子程序。

主过程完成修改中断向量、中断屏蔽和实现驻留三个功能。

中断处理程序完成键盘输入检测、屏保模块调用和计时器控制三个功能。

屏保实现模块附带的三个子程序分别实现随机坐标产生、程序延时和图案产生的功能,供屏保程序调用。

在系统定时器的中断处理程序中,有一条中断指令INT 1CH,时钟中断每发生一次(约每秒中断18.2次)都要嵌套调用一次中断类型1CH的处理程序。

在ROM BIOS例程中,1CH 的处理程序只有一条IRET指令,实际上它并没有做任何工作,只是为用户提供了一个中断类型号。

如果用户有某种定时周期性(如本程序5秒周期连续不断的键盘输入检测)的工作需要完成,就可以利用系统定时器的中断间隔,用自己设计的处理程序来代替原有的1CH中断程序。

我们再次可利用INT 21H的25H功能来实现新中断向量对于原功能的设置和取代。

课程设计报告--汇编程序设计(进制转换)

课程设计报告--汇编程序设计(进制转换)

课程设计报告--汇编程序设计(进制转换)汇编语言课程设计报告:代码与数制之间的转换内容提要:本课程设计的主要内容是代码与数制之间的转换~程序的主要功能如下:1. 将十六进制数转换成其对应的ASCII码2. 将ASCII码转换成其对应的十六进制数3. 实现二进制数与十六进制数之间相互转换4. 实现十进制数与二进制数之间相互转换5. 实现十六进制数与十进制数之间相互转换数制转换是计算机科学技术中最为基础的运算~在日常生活中~人们习惯性地使用十进制数进行计算。

而在计算机内部~所有的信息,数、字符、汉字、计算机的指令、状态,都是用二进制数来表示的。

在计算机中~二进制数的运算、处理比十进制数的更容易实现。

有时为了缩短书写~在计算机中还采用十六进制数。

所以~我们需要把数从二进制数形式转换成其他进制的形式~甚至在不同的进位制之间进行转换。

- 1 -汇编语言课程设计报告:代码与数制之间的转换目录一、前言〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.1 程设计的目的〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.2 代码与数制之间的转换程序的意义〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.3 数制之间的转换程序的主要功能〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3正文〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 二、2.1 代码与数制之间相互转换程序的设计大纲〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 2.2 代码与数制之间相互转换程序的结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 2.3 友好交互界面结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 2.4 程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.1 主程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.2 键盘输入子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.3 ASC码转16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃72.4.4 16进制转ASC进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.5 2,16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.6 2?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.7 16?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.8 2~10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.9 2?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.10 10?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.11 10~16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.12 10?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃122.4.13 16?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12三、源程序及其注释〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13四、课程设计体会〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29五、参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29- 2 -汇编语言课程设计报告:代码与数制之间的转换课程设计题目:代码与数制之间的转换一、前言1.1 课程设计的目的, 加深对汇编语言课程理论方面的理解, 通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力, 提高调试程序的能力1.2 代码与数制之间的转换程序的意义数制转换是计算机科学技术中最为基础的运算,在日常生活中,人们习惯性地使用十进制数进行计算。

王爽《汇编语言》课程设计一

王爽《汇编语言》课程设计一

课程设计(一)一、有除法溢出的dtoc子程序为:dtoc: push cxs:mov cx,10call divdw ;进行16位除法,被除数低16位存放在ax中,高16位存放在dx中,除数为10,存放在cx中,并调用不会产生溢出的除法运算的子程序divdwadd cx,30h ;将余数加上30h,就得到十进制数码字符对应的ASCII 码mov [si],cx ;将十进制数码字符对应的ASCII码存放在数据段中inc sipush ax ;保存此时的axadd ax,dx ;商是由ax和dx中的数据组合而成,为了判断商是否为0 mov cx,ax ;将商的高16位和低16位加起来,送给cxpop ax ;恢复axjcxz ok ;若商为0,则结束子程序jmp short sok: mov byte ptr [si],0 ;在字符串的结尾添个0call back ;调用把字符串反过来的子程序backpop cxretdivdw:mov bx,axmov ax,dxmov dx,0div cxpush axmov ax,bxdiv cxmov cx,dxpop dxretback:push dipush cxmov cx,simov di,0s1:mov al,[di]mov ah,0push axinc diloop s1mov di,0mov cx,sis2:pop axmov [di],alinc diloop s2pop cx二、课程设计首先,定义数据的时候,定义了一个栈段,在data段的开始定义了一个有10字节的空间,用来把数据转换成十进制形式的字符串,后面的总收入、雇员数、人均收入均为dword数据,方便后面统一来进行循环处理。

其次,刚开始的时候,用一个循环来计算人均收入,并把得到的数据放在data段中(在data段中定义了21个为0的dword数据用来存放人均收入)。

再次,在总体思路上,就是先定义一个32*21个字节的table段,把分别用子程序dtoc 把每个用二进制存放的数据转换成对应的十进制字符串,把字符串存放到table段中相应的位置,通过四个循环能把所有数据对应的字符串存放到table段中,这时的table 段中的存储模式与要求显示在屏幕上的模式一样,所以可以用一个双重循环将table 中的内容一个字节一个字节地复制到显示缓冲区的偶地址上,奇地址存放字符的颜色属性白色07h。

汇编语言的课程设计

汇编语言的课程设计

汇编语言的课程设计一、教学目标本课程的教学目标是使学生掌握汇编语言的基本概念、语法和程序设计方法,培养学生运用汇编语言进行程序设计的能力。

具体目标如下:1.知识目标:(1)了解汇编语言的基本概念和特点;(2)掌握汇编语言的语法规则,包括数据类型、指令系统、程序结构等;(3)熟悉汇编语言的编程技巧,如寄存器分配、内存管理等;(4)了解汇编语言与机器语言的关系及汇编过程。

2.技能目标:(1)能够使用汇编语言编写简单的程序,如计算器、排序等;(2)能够阅读并理解汇编语言程序;(3)能够对汇编语言程序进行调试和优化。

3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情;(2)培养学生勇于探索、善于合作的科学精神;(3)培养学生严谨治学、追求卓越的学习态度。

二、教学内容本课程的教学内容主要包括以下几个部分:1.汇编语言的基本概念和特点;2.汇编语言的语法规则,包括数据类型、指令系统、程序结构等;3.汇编语言的编程技巧,如寄存器分配、内存管理等;4.汇编语言与机器语言的关系及汇编过程;5.汇编语言程序的设计与调试。

教学大纲安排如下:第1-2课时:汇编语言的基本概念和特点;第3-4课时:汇编语言的语法规则;第5-6课时:汇编语言的编程技巧;第7-8课时:汇编语言与机器语言的关系及汇编过程;第9-10课时:汇编语言程序的设计与调试。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解汇编语言的基本概念、语法规则和编程技巧;2.案例分析法:分析典型的汇编语言程序,使学生更好地理解编程思想;3.实验法:让学生动手编写和调试汇编语言程序,提高实际操作能力;4.讨论法:分组讨论问题,培养学生的合作精神和沟通能力。

四、教学资源本课程所需教学资源包括:1.教材:《汇编语言程序设计》;2.参考书:《汇编语言教程》、《汇编语言实践》;3.多媒体资料:课件、教学视频等;4.实验设备:计算机、汇编语言编程环境。

汇编语言课程设计

汇编语言课程设计

课程设计任务书目录1.课题背景-------------------------------------------------------------------1.1题目------------------------------------------------------------------------1.2题目的要求----------------------------------------------------------------1.3功能描述---------------------------------------------------------------------2.运行环境--------------------------------------------------------------------------3.总体分析---------------------------------------------------------------------- 3.1子模块分析-------------------------------------------------------------------- 3.1.1 ------------------------------------------------------------------------3.2各模块之间的联系-------------------------------------------------------4.详细设计--------------------------------------------------------------4.1子程序的流程图4.1.14.2每个子程序实现代码4.3调试过程4.4调试结果5.心得体会6.参考文献(10个)7.附录图4图5图6图75.心得体会这次课程设计实验,程序有十几页。

汇编语言》课程设计报告--判断闰年程序

汇编语言》课程设计报告--判断闰年程序

《汇编语言》课程设计报告题目:判断闰年程序院(系):计算机与信息工程学院班级:姓名:学号:指导教师:1设计主要任务通过完成闰年判别程序设计掌握字符输入及、调试过程。

1.1设计任务与目标软件所实现的任务与目标主要包括:(1)由键盘输入任意年份,判断输入年份是否在限制区间2000-9999内;(2)若程序判别输入年份为闰年,显示☺,不是闰年显示△;(3)根据要求确定解决问题的编程方法;(4)画出程序框图、设计源程序;(5)在计算机上汇编、链接所设计的程序;(6)按照要求调试程序,记录程序运行结果;(7)写出设计总结报告。

2 设计方案判断某年是否为闰年具体算法为如果该年份的数值正整数若能被400整除,或者不能被100整除,却能被4整除,则该数值代表的年份为闰年。

判断结果的显示符号可用ASCII值来实现。

流程图如下:4 子程序设计4.1 输入判断子程序该模块是对输入的年份的范围的判断,若是输入不在2000-9999之内,则显示错误Error,若是输入在范围内,则进行下面的操作。

4.2数字转换子程序将数字字符串转换成数字,以便进行下面的程序操作。

4.3 判断闰年子程序判断输入的年份是否为闰年,若是则输出☺,若不是则输出△,然后退出。

5 调试程序调试主要使用宏汇编程序MASM.EXE、连接程序LINK.EXE、系统操作界面当输出年份时显示结果当输入为闰年时显示笑脸并返回操作界面:6 设计总结通过这几天的汇编课程设计,基本掌握闰年判别程序设计,首先是根据题目要求确定思路,然后根据思路按照题目要求编写相应汇编程序,最后用软件调试结果是否正确。

在此次课程设计中,虽然课本上也讲过年份的判别,但是比较分散,所以刚开始设计时思路不是太清,通过查阅相关资料,清楚了程序设计的基本框架,进而能编写出相应程序,设计中又一个难题是最后屏幕显示的问题,通过查阅相应ASCII值,使最后显示出结果。

一周的课程设计让我收获颇多,虽然调试中遇到不少问题,但通过调试明白程序中存在的问题并改正。

cop8000汇编课程设计

cop8000汇编课程设计

cop8000汇编课程设计一、课程目标知识目标:1. 理解并掌握COB8000汇编语言的基本概念和指令系统;2. 学会使用汇编语言进行程序设计和调试;3. 掌握汇编语言中的寄存器、内存寻址方式及其应用;4. 了解汇编语言与硬件的密切关系,理解程序执行的底层原理。

技能目标:1. 能够运用汇编语言编写简单的程序,实现基础的计算和控制功能;2. 能够进行汇编程序的调试和优化,提高程序执行效率;3. 能够分析并解决汇编程序中常见的问题,提升编程技能。

情感态度价值观目标:1. 培养学生对计算机底层原理的兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会在编程过程中相互交流、协作;3. 培养学生严谨、细心的编程习惯,提高对程序质量的追求。

课程性质:本课程为计算机科学与技术专业选修课程,侧重于汇编语言的实践应用和底层原理探究。

学生特点:学生已具备一定的计算机基础和编程能力,对底层原理有一定了解,但汇编语言学习经验不足。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,以实例教学为主,引导学生掌握汇编语言的核心知识,提高编程实践能力。

在教学过程中,关注学生的学习反馈,适时调整教学策略,确保课程目标的达成。

通过本课程的学习,使学生能够独立完成简单的汇编程序设计,为后续相关课程打下坚实基础。

二、教学内容1. 汇编语言概述:介绍汇编语言的发展历程、特点及应用场景,引导学生了解汇编语言的重要性。

- 教材章节:第一章 汇编语言概述2. COB8000汇编指令系统:讲解汇编指令的分类、格式及功能,重点掌握常用指令的使用方法。

- 教材章节:第二章 COB8000汇编指令系统3. 寄存器与内存寻址:介绍寄存器的分类、用途,讲解内存寻址方式,为程序设计打下基础。

- 教材章节:第三章 寄存器与内存寻址4. 汇编语言程序设计:通过实例讲解汇编程序的结构、编写方法和调试技巧,提高学生的编程实践能力。

- 教材章节:第四章 汇编语言程序设计5. 汇编程序调试与优化:分析汇编程序中常见的问题,介绍调试方法和优化策略,提升程序质量。

汇编语言课程设计任务书

汇编语言课程设计任务书

汇编语言课程设计任务书一、课程设计目的1.掌握汇编语言与高级语言的接口方法,正确编写混合语言程序,掌握混合语言程序的调试和操作;2.掌握dos、bios系统功能调用,掌握基本的显存读写技术;进一步了解汇编接口的功能和用法,掌握利用定时器产生声音的方法;3.学会用汇编语言编写比较完整的实用程序,培养自己动手操作的能力;4.学习汇编语言项目设计、编程、调试、编写报告等的基本思想和方法。

二、任务内容:任务一:混合编程,将内存中字符串的小写字母转换为大写字母并输出。

你也可以根据自己的兴趣设置自己的话题。

要求:1.分别运用混合编程的两种方法:嵌入式编程、c程序调用汇编函数模阻止完成任务;2.也可根据兴趣自定题目,如排序、求阶乘和等。

任务二:选择以下主题之一1.显示系统日期和时间要求:1.在屏幕上特定位置显示当前系统日期和时间;2.显示的日期和时间要求即时更新,即设计为跳动的时钟;3.可自定义电子钟的显示区域、显示位置、背景和前景色或以图形化方式显示。

4.当按下一个键(如“Q”)时,程序返回dos,数字时钟消失。

2.利用pc扬声器演奏乐曲要求:1.在屏幕上的特定位置显示歌曲名称;2.循环演奏乐曲(自选);3.当按下一个键(如“Q”)时,音乐停止,程序返回DOS。

三、课程设计报告的要求1.在本课程设计中,每位学生必须认真、独立地完成课程设计的编程和调试。

2.课程设计报告应打印在A4纸上,且必须有目录。

应提供封面,内容应得到认可1这是独立完成的。

3.课程设计报告内容一般应包含如下部分:① 课程设计的目的和内容;② 每个任务的程序流程图③ 节目表④ 调试结果及分析;⑤ 收获、经验和建议。

4.课程设计结束同时上交课程设计报告,不得拖延。

四、绩效评估1.考勤(20分)2.调试验收(30分)3.随机回答讲师的问题(20分)4。

课程设计报告(30分)5.课程设计态度不认真,超过1/3时间不到者,不予及格。

6.完全抄袭他人、对设计内容一无所知或知之甚少的,一经发现将被取消资格。

汇编语言王爽第四版课程设计一

汇编语言王爽第四版课程设计一

汇编语言王爽第四版课程设计一
汇编语言王爽第四版课程设计一
这是一个通用的课程设计,可用于任何基于王爽第四版的汇编语言课程。

本设计的目标是让学生掌握汇编语言的基本概念和指令集,并通过编写实际的汇编程序来加深对汇编语言的理解。

课程设计一:一个简单的汇编程序
1. 教学目标
- 让学生了解汇编语言的基本概念和指令集
- 让学生学会编写简单的汇编程序
- 让学生通过编写汇编程序来加深对汇编语言的理解
2. 教学内容
- 汇编语言的基本概念
- 汇编指令集
- 汇编程序的编写方法
- 程序的控制流
- 变量和数据的定义和使用
- 栈的使用
- 汇编程序的调试和测试
3. 教学资源
- 汇编语言教材或教程
- 汇编指令集手册或在线资源
- 计算机体系结构和编程知识
- IDE 或编辑器,如 Visual Studio Code 或 Sublime Text - 调试工具,如 GDB 或 LLDB
4. 教学步骤
- 介绍汇编语言的基本概念和指令集
- 讲解汇编程序的编写方法
- 让学生编写简单的汇编程序并进行调试和测试
- 让学生展示他们的汇编程序,进行交流和反馈
- 让学生继续深入学习,掌握更多的汇编语言知识和技能。

汇编语言音乐课程设计

汇编语言音乐课程设计

汇编语言音乐课程设计一、课程目标知识目标:1. 学生理解汇编语言的基本概念,掌握音乐编程的基础知识;2. 学生学会使用汇编语言编写简单的音乐程序,了解音乐与计算机编程的结合;3. 学生了解音乐在计算机领域的应用,拓宽知识视野。

技能目标:1. 学生能够运用汇编语言进行音乐编程,创作独特的音乐作品;2. 学生通过动手实践,提高逻辑思维能力和问题解决能力;3. 学生学会合作与沟通,提高团队协作能力。

情感态度价值观目标:1. 学生培养对计算机编程和音乐的兴趣,激发创造力和创新精神;2. 学生在学习过程中,体验编程与音乐的乐趣,培养积极的学习态度;3. 学生通过课程学习,认识到科技进步对音乐创作的影响,增强社会责任感。

课程性质:本课程为选修课,结合汇编语言和音乐,培养学生编程技能和音乐素养。

学生特点:学生具备一定的计算机基础知识,对音乐有兴趣,具有较强的学习意愿和动手能力。

教学要求:教师需引导学生掌握汇编语言音乐编程的基本方法,注重实践与理论相结合,关注学生的个体差异,提供有针对性的指导。

通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。

二、教学内容1. 汇编语言基础知识:介绍汇编语言的基本概念、语法和指令,包括寄存器、内存访问、程序流程控制等,关联教材第1章内容。

2. 音乐编程基础:讲解音乐编程的基本原理,如音调、节奏、音色等,引入MIDI音乐制作相关知识,关联教材第2章内容。

3. 汇编语言音乐编程实践:a. 使用汇编语言编写简单的MIDI音乐程序,如演奏一首简单的歌曲,关联教材第3章内容;b. 学习如何调整音量、音色和节奏等参数,创作个性化的音乐作品,关联教材第4章内容;c. 探索音乐与汇编语言的深度融合,如编写互动式音乐程序,关联教材第5章内容。

4. 教学进度安排:a. 第1-2周:汇编语言基础知识学习;b. 第3-4周:音乐编程基础学习;c. 第5-6周:汇编语言音乐编程实践;d. 第7-8周:作品创作、展示与评价。

汇编语言编写乐曲课程设计

汇编语言编写乐曲课程设计

汇编语言编写乐曲课程设计一、课程目标知识目标:1. 学生能够理解汇编语言的基本概念,掌握其语法结构和指令集;2. 学生能够运用汇编语言编写简单的乐曲程序,并了解其在音乐制作中的应用;3. 学生了解计算机音乐的基本原理,如音阶、音长、音量等,并能够通过汇编语言实现乐曲的基本控制。

技能目标:1. 学生掌握汇编语言的编程技巧,能够独立编写简单的乐曲程序;2. 学生通过实践操作,培养解决问题的能力和逻辑思维能力;3. 学生能够运用所学知识,结合音乐创作需求,设计出具有个性化的汇编语言乐曲。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣,提高学习主动性和积极性;2. 学生通过创作乐曲,培养创新精神和团队协作意识;3. 学生在创作过程中,体验计算机科学与艺术的结合,提升审美素养。

课程性质:本课程为选修课,旨在让学生在掌握汇编语言基础知识的基础上,运用所学创作乐曲,提高学生的实践能力和创新能力。

学生特点:学生处于高年级阶段,已具备一定的计算机编程基础和音乐素养,对新鲜事物充满好奇心,具备一定的自主学习能力。

教学要求:教师应注重理论与实践相结合,引导学生通过实践探索,培养其编程能力和音乐创作能力。

同时,关注学生的个体差异,因材施教,激发学生的学习兴趣和潜能。

通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。

二、教学内容本课程教学内容分为三个部分:第一部分:汇编语言基础1. 汇编语言概述:了解汇编语言的发展历程、特点及应用领域;2. 计算机组成原理:学习计算机硬件组成,理解汇编语言与硬件的关系;3. 指令集与语法:掌握汇编语言的基本指令、寄存器、操作数等概念,学习汇编语言的语法结构。

第二部分:汇编语言编程技巧1. 程序结构:学习汇编语言程序的基本结构,掌握汇编程序的编写、编译和链接过程;2. 控制语句:学习汇编语言的条件判断、循环等控制语句;3. 子程序:了解子程序的概念,学会编写和调用子程序。

汇编子程序设计实验心得(精选5篇)

汇编子程序设计实验心得(精选5篇)

汇编子程序设计实验心得(精选5篇)汇编子程序设计实验心得【篇1】经过了一周左右密集的学习,仔细地回顾和评估了自己学习的过程,我切实地发现28定律在编程学习中同样发挥着作用。

在很长一段时间以前的学习中,我总是试图把一本书从头读到尾,或者是找一个视频课,想要从头到尾跟着做,但结果不是做不完放弃,就是看完之后感觉到还是什么都不会。

这一周我发现了编程学习中那百分之二十产生效益的地方在哪,因此将改善学习方法,提升效率。

简要地说,编程学习的那百分之二十飞速提升效率的地方就在代码上。

这听起来很荒谬,编程不就是写代码吗?但在实际的学习中,我确实时常犯下这个错误,就是绝大多数的精力并没有放在代码上。

我思考了一下改善学习的流程:在资料充分的情况下,理当先拿到源代码,然后查看源代码的输入和输出。

搞清楚这一段源代码的效果是什么.然后接下来对源代码写注释,逐行搞清楚源代码中每一句的意思,并且借此补充知识,不需要记忆,就是通过注释写明就好了。

搞清楚原理,然后写作出来。

尝试清楚明确地讲明白这段代码背后的概念是什么,原理是什么。

做完这三步之后马上循环写下一个项目,以项目到项目的方式来进展,试图把前面写过的项目追加到后面的项目中去,去连接学过的内容,并且就此复习。

同样不需要记忆,只要查看原来写过的东西就好了了。

接下来的学习中将彻底实践此方法论,并且在下一个阶段评估学习的效率。

汇编子程序设计实验心得【篇2】经过五天的Java实训,感触很深,收获也很大,对自己的缺点也有了很多的认识,回首本学期JAVA学习,重点还是在学习概念等一些常识性的东西,关于类型、变量、接口、输入输出流、分析异常、抛出异常,后期主要是小程序运用,Gui界面设计和事件。

在我学习的语言中,我自己认为Java是一门比较强大的面向对象的编程语言,不仅仅是因为它的跨平台型还有它的较强的实用性,强悍的嵌入性。

本次实训主要是针对我们对项目流程不熟悉和对整体项目的把握不清楚,学习数据库的设计和表的建设以及表与表之间的联系,还有一些代码的编写,这些都是我们所不熟悉的也是我们最薄弱的部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称汇编语言程序设计课题名称文件加密程序专业通信工程班级学号姓名指导教师廖智胡倩罗敬2012年7月3日湖南工程学院课程设计任务书课程名称汇编语言程序设计课题文件加密程序专业班级通信工程学生姓名学号指导老师廖智胡倩罗敬审批任务书下达日期2012年6 月26 日任务完成日期2012年7 月 3 日一、设计内容与设计要求1.课程设计目的:《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。

2.课题题目1)测量任意程序的运行时间2)读入一个文本文件并以DEBUG中的D命令格式显示。

3)文件加密程序4)编写一个时钟程序5)画网格线6)画脉冲波图形7)用“*”画菱形框8)计算比赛成绩3.设计要求:1)在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出。

2)分组及安排A.每组同学必须完成所指定的题目,每个同学须自己完成设计,应有不同的思路。

B.按学号分组,第一组为1、9、17、25、33号同学,第二组为2、10、18、26、34号,第三组为3、11、19、27、35号,依次类推,其中第一组做第一题,第二组做第二题,依次类推。

3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

4)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计,成绩的考核按上机表现、答辩成绩及课程设计说明书来综合评定。

成绩分为优、良、中、及格、不及格五级分评定。

二、进度安排第 19 周星期六 8:00——12:00第 20 周星期一 8:00——12:00星期二 14:30——17:30课题1.测量任意程序的运行时间要求:该程序驻留内存思路:DOS操作系统中,程序的调入运行及程序的终止均是通过相应的软中断来实现的。

若窃取相应软中断,记录下程序开始调入运行的时间及程序终止的时间,则可测量出该程序运行的时间。

提示要点:与之相关的软中断分别为:程序开始执行:4BH号系统功能调用(INT 21H)程序结束: INT 20HINT 27H00H、3lH、4CH号系统功能调用(INT 21H)课题2.读入一个文本文件并以DEBUG中的D命令格式显示要求:A、以DEBUG中的D命令格式显示一个文本文件。

B、文件名从键盘键入。

思路:A、打开相应文件,读内容至程序缓冲区。

B、按要求显示。

课题3.文件加密程序要求:A、文件名从键盘输入。

B、加密密钥从键盘输入。

思路:从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。

提示要点:A、加密可使用“异或”操作。

B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT 21H)课题4.编写一个时钟程序要求:A、驻留内存。

B、不影响其它程序运行。

C、把时钟信号显示在屏幕固定位置(最好为右上角)。

思路:先从系统实时钟取得当前时间,每隔约0.05秒定时器向CPU发出一次8号中断请求,是一个硬中断。

窃取 INT 1CH中断服务程序。

课题5.画网格线要求:A、背景为蓝色、横线为红色、直线为黄色。

B、按用户输入的起点和终点坐标、列距和行距的大小画出任意条横竖线。

C、参数以十进制数形式输入,格式如下:Please enter starting point (x1,y1):XX, XXPlease enter ending point (x2,y2):XX, XXPlease enter distance (row,col):XX, XX课题6.画脉冲波图形要求:用户以十进制数形式从键盘输入脉冲高度、脉冲宽度和颜色参数(格式同上)后,以屏幕中间行为脉冲中间行,从左到右、满屏画出相应的脉冲波图形。

课题7.用“*”画菱形框要求:A、背景为蓝色、“*”为红色,菱形框画在屏幕中间,菱形中间为空格。

B、用户以十进制数形式输入菱形宽度和高度(格式同上)。

课题8.计算比赛成绩要求:A、7个评委,每个评委给分范围为0~10分(整数)。

B、7个评委的给分中,去掉一个最高分和一个最低分,余下5位评委的平均分即为参加者的得分(精确到小数点后一位)。

C、将分数在屏幕中间位置处用红色显示出来。

目录一、题目 (7)1、课题:文件加密程序 (7)2、课题需求分析 (7)二、程序总体设计方案、思路 (7)1、程序整体设计思路 (7)2、程序总体设计方案 (7)三、程序设计框图 (8)1、程序设计模块图 (8)2、程序设计总流程图 (8)四、源程序清单 (10)五、程序调试结果及分析 (14)六、设计总结 (17)七、评分表 (19)一、题目1、课题:文件加密程序要求:A、文件名从键盘输入。

B、加密密钥从键盘输入。

思路:从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。

提示要点:A、加密可使用“异或”操作。

B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT 21H)2、课题需求分析汇编语言是面向机器的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言,因此汇编语言也称为符号语言。

使用汇编语言编写的程序机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

汇编系统是系统软件中语言处理软件,它把汇编语言翻译成机器语言的过程称为汇编。

汇编语言作为作为一种利用计算机所有硬件特性直接控制硬件的语言,其长处在于编写高效且需要对机器硬件精确控制的程序。

在本次课程设计中,目的是给指定的文件进行加密。

要求从键盘输入文件名,从键盘输入加密密钥。

在课程设计中加密使用了“异或”操作,并使用了相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT 21H)。

在课程设计中我们需要将平时所学的理论知识加以理解和应用,进而加强汇编语言的学习,加深对汇编理论及应用的理解。

通过熟悉调用DOS系统功能的调用,认真完成课题,实现相关功能。

二、程序总体设计方案、思路1、程序整体设计思路(1)用键盘输入一个文件名,存到STR1缓冲区,用3DH系统功能打开文件。

(2)用键盘输入六个字符作为密码,存到STR2缓冲区,并对密码进行处理。

(3)用3FH系统功能读取文件内容到BUF缓冲区。

(4)用对密码处理后得到的值对文件内容进行加密。

(5)用40H系统功能将加密后的内容写入到原来文件存储的位置。

(6)用3EH系统功能关闭文件。

2、程序总体设计方案程序总体设计方案流程如下所示:(1)进入系统主界面,显示欢迎词。

(2)进入打开文件程序。

界面提示输入文件名,按要求输入文件名,若打开文件成功则保存文件代号,若无法找到文件则提示无法找到文件按R/r 返回提示输入文件名界面,重新输入文件名即可。

(3)进入输入密码程序。

界面提示输入密码,按要求输入密码,注意不要超过要求密码的长度,输入密码长度符合要求则对密码进行处理,若输入密码不符合要求则提示密码长度要求按R/r 返回输入密码界面,重新输入密码即可。

(4)进入读取文件程序。

若读取成功则进入文件加密程序,若读取失败则提示无法找到文件按R/r 返回提示输入文件名界面,重新输入文件名进而返回打开文件程序。

(5)进入文件加密程序,对文件进行加密处理。

(6)进入写文件程序,若成功将文件写入原位置则进入文件关闭程序,若写文件失败则提示无法找到文件按R/r 返回提示输入文件名界面,重新输入文件名进而返回打开文件程序。

(7)进入关闭文件程序,关闭文件并提示记住密码。

三、程序设计框图1、程序设计模块图程序设计模块图如下图(图一)所示:2、程序设计总流程图程序设计流程图如下图(图二)所示:文件加密程序定义代码段模块定义数据段模块 S T A R T 模块 R E P 1模块 R E P 2模块R E P 3模块E R R O R 1模块O V E R 1模块E N C O D E模块E R R O R模块O V E R 2模块O V E R 3模块打开文件否是输入密码否是读取内容否Y 是文件加密写文件是 否关闭文件显示欢迎词 输入密码(小于7位) 提示输入密码 提示输入文件名 保存文件代号 读取文件内容 对文件内容进行加密/解密 加密/解密后信息写入文件关闭文件提示记住密码写文件成功?读取内容成功?密码小于7 ?打开文件成功?没找到文件,按R/r 再试一次 密码>7按R/r 再试一次 输入文件名 开始四、源程序清单源程序清单如下所示:DATA SEGMENT ;定义数据段STR1 DB 21 ;为缓冲区首偏移地址分配内存空间STR1A DB ?STR1B DB 21 DUP(?)STR2 DB 10STR2A DB ?STR2B DB 10 DUP(?)STR3 DW 0HANDLE DW ? ;保存文件号KEY DB ? ;密钥内存分配LEN DW ?BUF DB 256 DUP(?) ;定义文件内容暂存区WEL1 DB0AH,0DH,'************************************************************ ******',0AH,0DH,'$'WEL2 DB0AH,0DH,'************************************************************ ******',0AH,0DH,'$'WEL3 DB 0AH,0DH,'* * * Welcome to use the code system made by dong shao chong * * *',0AH,0DH,'$'WEL4 DB0AH,0DH,'************************************************************ ******',0AH,0DH,'$'WEL5 DB0AH,0DH,'************************************************************ ******',0AH,0DH,'$'MSG1 DB 0AH,0DH,'>>>>>>>>>>>>>Please input the name of the encode file>>>>>>>>>>>>>:',0AH,0DH,'$'MSG2 DB 0AH,0DH,'>>>>>>>>>Please input the password less than 7characters>>>>>>>>>:',0AH,0DH,'$'MSG3 DB 0AH,0DH,'>>>Can not find the file in the document.Knock R/r to try again>>>:',0AH,0DH,'$'MSG4 DB 0AH,0DH,'>>>>>>Please remember your password! Any key to continue....>>>>>>:',0AH,0DH,'$'MSG5 DB 0AH,0DH,'>>>Please input the password less than 7 characters! Knock R/r to try again>>>:',0AH,0DH,'$'DATA ENDSCODE SEGMENT 'code' ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;数据段寄存器的初始化MOV DS,AXMOV AH,9 ;显示字符串(9号功能)LEA DX,WEL1INT 21HLEA DX,WEL2INT 21HLEA DX,WEL3INT 21HLEA DX,WEL4INT 21HLEA DX,WEL5INT 21HREP1: MOV AH,9LEA DX,MSG1 ;提示输入需加密文件名INT 21HMOV AH,10 ;键盘输入字符串(10号功能)LEA DX,STR1INT 21HMOV BL,STR1AMOV BH,0MOV STR1B[BX],0LEA DX,STR1BMOV AH,3DH ;打开文件 (3DH号功能)MOV AL,02H ;显示输出(02H号功能)AL=输入字符INT 21HJC ERROR ;转移指令,若打开错误转ERRORMOV HANDLE,AX ;保存文件号REP2: MOV AH,9LEA DX,MSG2 ;提示输入密码INT 21HLEA DX,STR2MOV AH,10INT 21HCMP STR2+1,7 ;与7比较,大于等于7则转移至ERROR1 JNB ERROR1MOV AL,STR2+2 ;密码处理ADD AL,STR2+3ADD AL,STR2+4MOV KEY,ALREP3: MOV BX,HANDLEMOV CX,255LEA DX,BUFMOV AH,3FH ;读文件(3FH号功能)INT 21HJC ERROR ;转移指令,若打开错误转ERRORCMP AX,0JZ OVER3 ;为零时转移至OVER3MOV LEN,AX ;AX=实际读到的字符数MOV CX,LEN ;加密LEA DI,BUFMOV AL,KEYENCODE:XOR [DI],AL ;文件加密 INC DILOOP ENCODEMOV DX,STR3MOV AX,4200H ;移动文件读写指针INT 21HMOV BX,HANDLEMOV CX,LENLEA DX,BUFMOV AH,40H ;写文件(40H号功能)INT 21HJC ERRORMOV AX,LENADD STR3,AXJMP REP3 ;无条件转移至ERP3MOV BX,HANDLEMOV AH,3EH ;关闭文件(3EH号功能) INT 21HERROR: MOV AH,9LEA DX,MSG3INT 21HMOV AH,1INT 21HCMP AL,52HJZ REP1CMP AL,72HJZ REP1JMP OVER2ERROR1:LEA DX,MSG5MOV AH,9INT 21HMOV AH,1 ;键盘输入并显示(1号功能)INT 21HCMP AL,52HJz REP2 ;相等时转移至REP2CMP AL,72HJz REP2JMP OVER2OVER1: MOV AH,1INT 21HOVER2: MOV AX,4C00HINT 21HOVER3: MOV AH,9LEA DX,MSG4INT 21HJMP OVER1CODE ENDSEND START五、程序调试结果及分析1、进入主界面后,显示欢迎词并提示输入要加密的文件名。

相关文档
最新文档