汇编语言课程设计报告

  • 格式:doc
  • 大小:68.00 KB
  • 文档页数:8

下载文档原格式

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

目录

第1章前言 (2)

1.1 背景 (2)

1.2基本功能要求 (2)

第2章题目基本内容 (2)

第3章系统流程框图 (3)

第4章对课程设计中关键内容的分析设计说明或举例说明 (4)

第5章源程序代码 (5)

第6章心得体会 (7)

第7章使用说明 (7)

参考文献 (8)

第一章前言

1.1背景

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

它主要有以下几种特点:1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

2.保持了机器语言的优点,具有直接和简捷的特点。

3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。

汇编语言是理解整个计算机系统的最佳起点和最有效途径,人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点。

1.2基本功能要求

1.分析课程设计题目的要求;

2.写出详细设计说明;

3.编写程序代码(有必要的注释),调试程序使其能正确运行;

4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;

5.设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子

文档。

报告需要交电子版和打印版,源程序交电子版。

第2章题目基本内容第3章系统流程框图

第4章对课程设计中关键内容的分析设计说明或举例说明实现从键盘输入一个10进制数

第5章源程序代码

.model small

.stack

.data

youxiu1 db 'youxiu!' , 0dh,0ah, '$'

liang1 db 'liang!', 0dh,0ah,'$'

zhong1 db 'zhong!' ,0dh,0ah,'$'

jige1 db 'jige!' ,0dh,0ah,'$'

bujige1 db 'bujige!' ,0dh,0ah,'$'

msg db 'welcome to ping ding ni de cheng ji!',0dh,0ah,'$' msg1 db '1.cheng ji ping di!' ,0dh,0ah,'$'

msg2 db '2.exit!',0dh,0ah,'$'

msg3 db 'qing shu ru cheng ji:',0dh,0ah,'$'

x dw ?

table dw disp1,disp2

.code

.startup

start: mov dx,offset msg

mov ah,9

int 21h

mov dx,offset msg1

mov ah,9

int 21h

mov dx,offset msg2

mov ah,9

int 21h

mov ah,1

int 21h

cmp al,'1'

jb start

cmp al,'2'

ja start

and ax,000fh

dec ax

shl ax,1

mov bx,ax

jmp table[bx]

disp1: mov dx,offset msg3 mov ah,9

int 21h

mov ah,1

int 21h

and ax,000fh

mov dl,10d

mul dl

mov x,ax

mov ah,1

int 21h

and ax,000fh

add x,ax

cmp x,90d

jnb output1

CMP X,80d

JnB OUTPUT2

CMP X,70d

JnB OUTPUT3

CMP X,60d

JnB OUTPUT4

cmp x,60d

JB OUTPUT5

disp2: jmp done2

OUTPUT1:mov dx,offset youxiu1

jmp done1

OUTPUT2:mov dx,offset liang1

jmp done1

OUTPUT3:mov dx,offset zhong1

jmp done1

OUTPUT4:mov dx,offset jige1

jmp done1

OUTPUT5:mov dx,offset bujige1

jmp done1

done1: mov ah,9h

int 21h

done2: .exit 0

end

第6章心得体会

汇编语言程序设计是电子信息类专业的重要基础训练之一,是计算机软、硬件研究的基础,是一个优秀的计算机系学生必须掌握的知识和基本技能。这次的汇编语言课程设计,使我从理论中走了出来,更加深刻的了解了书本上的知识和重点,同时也巩固了之前所学习的内容。从看不懂程序到看懂程序,从不会编写程序到基本能独立完成编译工作,我发现自己在汇编语言设计上还有许多的不足之处,尤其是要将两小段程序拼接在一起时总是会出错。但这也激起了我要更加努力得扩充自己的专业基础知识的信心。

本次实验,不仅仅在汇编语言程序的设计上有了不小的提高,也让我在考虑问题的方向上有了很好的磨练,在不断的思考的过程中锻炼了思维。虽然程序上还存在着一些有瑕疵,不能很完善的完成这个课程设计,但是我相信我一定能在今后的学习中获取新的知识,完善这个程序。

经过这次课程设计,发现在面对很多问题的时候,不知道怎么做,后来再次的学习之后才明白,很多东西以前以为自己理解的是对的,但是没有经过事实的检测,一定要亲手去编程才会发现原来不足,经过这次课程设计,学会了很多东西,也加深了对一些问题的理解,但是还是有很多问题有待在以后的学习,编程中去解决。