汇编语言课程设计报告
课程设计报告汇编语言

课程设计报告
(本科)
课程:汇编语言
学号:1210461030 1210461016 姓名:豆建华钱爱萍
班级:12级计算机科学与技术系(2)班教师:吴昊
时间:
计算机科学与技术系
结果与分析(可以加页):
(1)提示界面
进入提示界面“WELCOME TO TIMEMASTER”根据提示请输入“D”或“T”或“Q”。
图2 提示界面图
(2)显示日期
输入“D”显示当前日期
图3显示日期图
(3)显示时间
输入“T”显示当前时间
图4显示时间图
(4)退出程序
输入“Q”退出程序
图5退出程序图
说明:以上截图为此次实验运行出来时的主要截图,其中图1为本实验的主流程图,分为三个部分,分别是日期的显示,时间的显示以及程序的退出。
图2是在屏幕中央显示提示信息(提示用户输入“D”或“T”或“Q”)。
图3是取当前系统日期:功能号为2AH,返回值送入CX,DX寄存器中。
图4是取当前系统时间:功能号为2CH,返回值送入CX,DX寄存器中。
汇编语言课程设计报告

课程设计报告课程名称:汇编语言程序设计课题名称:成绩评定姓名:班级:带教老师:报告日期:2009年电子信息学院目录第一章前言 (3)1.1 背景 (3)1.2基本功能要求 (3)第二章程序设计 (4)2.1题目基本内容 (4)2.2系统流程框图 (5)2.3课程设计的具体内容说明 (6)2.4课程设计中关键内容的分析设计说明 (6)第三章课程设计小结 (7)参考文献 (8)附录: (9)源程序代码 (9)第一章前言1.1 背景课程设计的主要目的是提高实践能力,包括对硬件的理解分析能力和汇编语言的编程能力。
与其他课程不同的是,本课程对硬件有较高的依赖性,因此课程设计的灵活性受到了一定的限制,最好有相应的实验平台支持(尤其是硬件部分),本次课程设计主要是汇编语言部分的练习,通过这部分的练习,学生应该熟悉汇编语言的寻址方式和指令系统,掌握BIOS和DOS系统的功能调用,编制较大程序时的基本方法和熟悉宏汇编的编程环境。
使学生既具备完备的理论知识,也能够解决实际学习中碰到的问题。
1.2基本功能要求1.显示简易的数字菜单,并根据选择的菜单号执行相应的分支程序,并得到正确的结果。
2.从键盘输入一个成绩能评定成绩的等级,并显示其结果。
第二章程序设计2.1题目基本内容设计题目:成绩评定具体要求:(1)显示简易数字菜单(2)输入成绩,显示成绩评定的等级(90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格)2.2系统流程框图图2.2.12.3课程设计的具体内容说明根据课题的要求,主要完成一下几方面的设计:1.显示简易数字菜单,根据选择的菜单号,执行相应的分支程序2.从键盘输入一个十进制数字(编写一个子程序)3.对输入的数据进行比较,显示相应成绩等级(优,良,中,及格,不及格可以分别用A,B,C,D,E表示)2.4课程设计中关键内容的分析设计说明1.简易数字菜单只有两个选择号(1~2),选择1表示就跳转到执行成绩评定的程序,选择2就返回到DOS窗口。
汇编语言课程设计报告

农林大学金山学院课程设计报告课程名称:汇编语言课程设计课程设计题目:动画设计“我爱大自然”姓名:系:信息与机电工程系专业:电子信息工程年级:2008级学号:*********指导教师:\职称:助教2009~2010学年第二学期目录1 课程设计的目的 (2)2 课程设计的要求 (2)3课程设计报告容 (2)3.1设计思路 (2)3.2程序流程图 (2)3.3设计源程序 (5)3.4动画示意图 (19)4 总结 (20)5参考文献 (20)6评分标准 (21)动画设计“我爱大自然”一、课程设计的目的《汇编语言课程设计》是电子信息工程专业集中实践性环节之一,是学习完《汇编语言》课程后进行的一次全面的综合练习。
其目的是:培养学生熟练掌握汇编语言指令系统,深化和巩固指令系统和编程方法,提高学生的编程应用能力。
为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。
二、课程设计的要求1)具备初步的独立分析和解决问题的能力;2)初步掌握问题分析、系统设计、程序编码、测试等基本方法和技能;3)提高综合运用所学的理论知识和方法的能力;4)训练用系统的观点和软件开发一般规进行软件开发,培养科学的工作方法和作风;5)设计的题目要求达到一定工作量,并具有一定的深度和难度;6)编写出课程设计说明书。
三、课程设计报告容(一)设计思路“我爱大自然”这个程序中包含了比较多的景物,既有静态的也有动态的,其中还有一段音乐。
为了节省存储空间,提高程序设计的效率和质量,使程序简洁、清晰,便于阅读,同时也为了便于修改和扩充,采用子程序设计技术和宏定义,根据程序要实现的若干主要功能及个功能块要调用的公共部分,将程序划分为若干个相对独立的模块,为每个模块编制独立的程序段,最后将这些子程序根据调用关系连成一个整体。
这样,整个程序就被分为几个子程序的有机统一。
根据BIOS中断调用原理,设置80×25彩色文本显示方式,分别编写一个子程序显示“I LOVE NATURE,LET US GO AIRING”和一个子程序在屏幕上“画”树。
语言课程设计报告

语言课程设计报告汇编语言课程设计报告汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。
下面是小编为大家整理的关于汇编语言课程的设计报告,欢迎大家的阅读。
一、预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE 及其它用于文件编辑的应用程序。
)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、 LINK连接程序5、 DEBUG调试程序三、汇编语言源程序上机操作过程编辑源文件根据给定的任务,可编写程序。
如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。
一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的`源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动器A:。
进入QEA>QE进入全屏幕后可以开始编程。
文件名取为Myprog。
asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display message MOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。
汇编语言课程设计1实验报告

汇编语言课程设计1实验报告一、引言本实验报告旨在探讨汇编语言课程设计1的实验内容和相关实验结果。
通过对实验的详细介绍和分析,可以更好地理解和应用汇编语言的基本知识和技术。
本实验报告分为以下几个部分进行讨论。
二、实验目的本实验旨在通过设计汇编语言程序,掌握汇编语言的基本语法和编程技巧,提高对计算机底层的理解和应用能力。
具体实验目的如下:1.熟悉汇编语言的基本知识和编程环境;2.学习如何使用汇编语言进行简单的数据处理和运算;3.掌握汇编语言中的跳转、循环和分支等控制结构;4.加深对计算机组成原理的理解和应用。
三、实验设计3.1 实验环境本实验使用的汇编语言编程环境为MASM(Microsoft Macro Assembler),具体配置如下:•操作系统:Windows 10•开发工具:MASM32•编辑器:Notepad++3.2 实验内容本实验的实验内容为实现一个简单的加法计算器程序。
具体要求如下:1.输入两个整数,并将其保存到内存;2.将两个整数相加,并将结果保存到内存;3.从内存读取结果,并输出到屏幕。
3.3 实验步骤下面是实验的具体步骤:1.打开MASM32开发工具,创建一个新的汇编语言项目;2.在编辑器中编写汇编语言程序,包括数据定义、输入输出处理和计算过程;3.使用MASM进行编译和链接,生成可执行程序;4.运行程序,输入两个整数,并查看输出结果。
四、实验结果经过以上步骤,我们成功实现了一个简单的加法计算器程序。
以下是实验结果的截图:Enter the first number: 10Enter the second number: 20The sum is: 30五、实验分析通过以上实验结果可以看出,我们的加法计算器程序能够正确地将输入的两个整数相加,并输出计算结果。
这证明我们所编写的汇编语言程序是正确的。
同时,通过这个实验,我们还可以总结出一些经验和教训:•在程序设计过程中,要仔细考虑数据定义和处理逻辑的正确性和合理性;•在编写汇编语言程序时,要注意语法和命令的正确使用,避免出现语法错误;•在调试程序时,要仔细检查每一步执行的结果,找出可能的错误原因。
汇编语言课程设计报告(张曙光)

汇编语言课程设计报告课程名称:汇编语言课程设计设计题目:显示系统时间院系:计算机科学与技术学院班级:计专10703设计者:张曙光学号: 200700172序号: 33指导教师:雷鸣设计时间: 2009.06.08-2009.06.19目录1.课程设计题目2.课程设计内容3.设计目的4.设计图形5.源代码6.运行界面7.感想体会一,课程设计目的。
1. 掌握中断的使用方法。
2. 掌握BIOS系统功能调用。
3. 掌握基本的显存读写技术。
4. 学会用汇编语言编写一个较完整的实用程序,培养自己的动手操作能力。
5 .学习程序设计的基本思路和方法,编程、调试、撰写报告等。
二、程序内容:第一部分:定义显示界面。
第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入显存区。
(显存的起始地址:B8000H)第三部分:将存在系统内存区的时间用字符串的形式显示出来。
第四部分:定时响铃功能,指定时间和倒计时。
响铃为一首自写音乐。
注意:1、如果用图形方式显示更好,2、注意设置显示时候的背景颜色3、可以增加键盘设置的功能,设置显示颜色,显示位置4、闹铃如果不关闭,可以设置为间隔1分钟再响三、程序设计原理首先在数据段开辟一显示缓冲区,用来存储系统时间。
调用BIOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。
分别将来小时数、分钟数、秒数存入显示缓冲区。
通过写显存将时间显示出来。
由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。
定时功能主要指定一个报警时间作为比较,到了需要响铃时间调用一个音乐程序表示时间到。
四、程序流程图五、程序代码eraserScreen macro ab ;;清除过时显示的时间push axpush cxpush bxmov bx ,cloAddre ;;当前地址sub bx,ab ;;得按键前地址mov ax,0b800hmov es,axmov di,bxlea si,blankcall disptimepop bxpop cxpop axendmclearscreen macro clor ;;相当于清屏,指定颜色push cxpush sipush dimov cx,1lea si, blankwritechar 0,0,clor,2000pop dipop sipop cxendmwritechar macro arra,row,color,cc ;;在指定位置写入数据local LPmovdl,arra ;;第几列LP: movdh ,row ;;第几行movah,02 ;;设置位置mov bh, 0int 10hmov al,[si]mov ah,09hmovbl,color ;;颜色push cxmov cx,ccint 10hadd si,1add dl,1pop cxloop LPendm.model small.stack.data;----------------------------------------------------------学生个人信息MESS1 DB0DH,0AH,0DH,0AH,0DH,0AHDB9,9,9,'------------------------------',0DH,0 AH ;0DH,0AH是回车换行的意思DB 9,9,9,'|Students',33,' information|',0DH,0AHDB 9,9,9,'| name: zhangshuguang |',0DH,0AHDB 9,9,9,'| class: three |',0DH,0AHDB 9,9,9,'| Grade: Tow |',0DH,0AHDB 9,9,9, '| Number: 200700172 |',0DH,0AHDB9,9,9,'-------------------------------',0DH,0AH,'$'MSG1 DB0DH,0AH,9,9,9,'press any key tocontinue.....',0DH,0AH,'$';提示信息;---------------------------------------------------------- 菜单MESS2 DB0DH,0AH,0DH,0AH,0DH,0AHdb9,9,9,'-------------------------------',0DH, 0AHDB 9,9,9,'| 1- Create a music |',0DH,0AHDB 9,9,9,'| 2- Time to ring a bell |',0DH,0AHDB 9,9,9,'| 3- Exit |',0DH,0AHDB9,9,9,'-------------------------------',0DH,0AH,'$'MSG2 DB 0DH,0AH,9,9,9,' PRESS [1 OR 2 OR3 ]',0DH,0AH,'$';提示信息;---------------------------------------------------------- 变量数据showMusicBook DB0DH,0AH,0DH,0AH,0DH,0AHdb 9,9,9 ,'PRESS [#] TO CONCLUDE',0DH,0AHdb 9, 'The Music book is: ','$'showMSG db'PRESS [Q] TO STOP THE CLOCK',0DH,0AHdb'PRESS [ESC] TO EXIT',0DH,0AHdb'PRESS [B] TO BACK THR MAIN MU' ,'$'cloAddre dw 850hmsgdown db'the last:',?,' ','S'len equ $-msgdownblank db 25 dup(' '),0,0msgring db' Ring Ok!',10 dup(' ')music db'337665654444334555666#'INITAB dw8E5H,7F4H,6ADH,5F1H,54BH,4B7H ,472HsetTime db'Please set the time to ring','$'timer0 db?,?timer1 db 0ffhsign db 0year db?,?,?,?db'/'mounth db?,?db'/'day db?,?,0,0msg db' The time is: 'time0 db?,?db':'time1 db?,?db':'time2 db?,?,0,0.code.startup;----------------------------------------------------------程序开始MOV AH,09HLEA DX, MESS1INT 21HMOV AH,09HLEA DX, MSG1INT 21Hmov ah,07hint 21HSTART0: clearscreen 6fhmov ah,09hlea DX,MESS2INT 21HLEA DX,MSG2 ;显示提示信息MSG2INT 21HLOP1: MOVAH,08H ;从标准输入设备输入一个字符,在此是用户输入所选菜单INT 21H;-------------------------------判断从键盘输入的选项PUSH AXCMP AL,'3'JZ C3POP AXPUSH AXCMP AL,'1'; JZ (相等的时候跳转)JZ C1 ;若等于1,则跳转到C1POP AX ;否则AX出栈,并与2比较PUSH AXCMP AL,'2'JZ C2POP AXJMP LOP1 ;否则跳转到LOP1,即重新输入一个字符(1/2/3);----------------------------------------------------------------------- 此为前面所要跳转的程序C1: clearscreen 6fhcallcreatMiusic ;创作铃声mov byte ptr sign,1 ;闹铃开启call clockmov byte ptr sign,0 ;闹铃关闭JMP START0C2: JMP START1C3: JMP over;----------------------------------------------- 设置闹钟闹铃时间START1: clearscreen 6fhpush dxpush bxmov dl,10 ;第几列mov dh ,5 ;设置光标位置mov ah,02mov bh, 0int 10hlea dx, setTimemov ah,09hint 21hpop bxpop dxpush sipush cxlea si,timer0mov cx ,2;-----------;输入需闹铃时间input: mov ah,02hmov dl,':';冒号输出int 21hmov ah,01hint 21h;-------- ;以下为输入有效值的判断,时针在00-23有效,分针在00-59有效.if cx==2 ;输入时高位.if al>'2'pop cxpop sijmp START1.elseif al<'0'pop cxpop sijmp START1.elsemov bl,al.endif.else.if al>'5'pop cxpop sijmp START1.elseif al<'0'pop cxpop sijmp START1.elsemov bl,al.endif.endifint 21h.if cx==2 ;输入时低位.if bl=='2';若高位为2,则地位有效输入为0-3.if al>'3'pop cxpop sijmp START1.elseif al<'0'pop cxpop sijmp START1.elsesub al,'0'sub bl,'0'push cxmov cl,4shl bl,clpop cxadd bl,almov byte ptr [si],bladd si,1.endif.else.if al>'9'pop cxpop sijmp START1.elseif al<'0'pop cxpop sijmp START1.elsesub al,'0'sub bl,'0'push cxmov cl,4shl bl,clpop cxadd bl,almov byte ptr [si],bladd si,1.endif.endif.else.if al>'9'pop cxpop sijmp START1.elseif al<'0'pop cxpop sijmp START1.elsesub al,'0'sub bl,'0'push cxmov cl,4shl bl,clpop cxadd bl,almov byte ptr [si],bladd si,1.endif.endifdec cxjnz inputstartcha: PUSH DXPUSH BXmov dl,0 ;第几列mov dh ,0;设置光标位置mov ah,02mov bh, 0int 10hPOP BXPOP DXmov dx,offset showMSGmov ah,09hint 21h;---------------------------------------------------------- 读取系统时间startloop:push cxpush dxpush espush sipush dimov ah,2ah ;获取系统时间,cx→year dh→mouth dl→day,为十六进制表示int 21hcall translate ;转化寄存器中值为BCD码格式mov al,chlea si,yearcall bcd ;将BCD码转化为可以输出的相应字符mov al,cllea si,year[2]call bcdmov al,dhlea si,mounthcall bcdmov al,dllea si,daycall bcdmov ax,0b800h ;将年月日写入显存mov es,axmov di,720hlea si,yearcall disptimepop dipop sipop espop dxpop cxmov ax,0200h ;获取系统时间,ch→hours cl→minutes DH→seconds,均为BCD码格式int 1ahmov al,chlea si,time0call bcdmov al,cllea si,time1call bcdmov al,dhlea si,time2call bcdmov ax,0b800h ;显存地址采用直接写显存的方法输出字符mov es,ax ;es:di 指向显存地址mov di,cloAddre ;变量cloAddre为偏移地址lea si,msgcall disptime ;显示时间;---------------------------------------------------------- 判断是否闹铃mov al,sign ;判断闹铃是否开着sign为1表示没有开着or al,aljnz to@ ;若闹铃没关,整分闹铃mov al,chxor al,timer0[0] ;比较时针jnz disp0mov al,clxor al,timer0[1] ;继续比较分针jnz downcor dh,dhjnz disp0mov byte ptr sign,1 ;闹铃开启call clock ;闹铃jmp disp0;---------------------------------------------------------- 判断倒计时to@ : mov al,dhcmp al,51hjb to1sub al,51hcall countDownto1: mov al,clcmp al,timer1jna to2 ;分针变化则闹call clockto2: mov byte ptr timer1,cljmp disp0downc : mov al,cl ;判断分针,是否可以准备闹铃add al,1xor al,timer0[1]jnz disp0mov al,dhcmp al,51h ;倒数十秒开始闹铃jb disp0sub al,51hcall countDown;---------------------------------------------------------- 键盘控制时间显示位置disp0: mov ah,01hint 16h ;从键盘缓冲区读取扫描码;---------------- 是否按了'Q'键cmp ah,10hjne i0mov byte ptr sign,0 ;关闭闹铃call clearjmp startloop;---------------- 是否按了'上'方向键i0:cmp ah,48hjne i1sub cloAddre,160call cleareraserScreen0ff60h ;当前地址减160jmp intend ;直接结束一次中断,以避免修改其它单元内容;-------------- 是否按了'左'方向键i1: cmp ah,4bhjne i2sub cloAddre,2call cleareraserScreen 0fffeh ;当前地址减2jmp intend;---------------是否按了'下'方向键i2:cmp ah,50hjne i3add cloAddre,160call cleareraserScreen 160 ;当前地址加160jmp intend;---------------- 是否按了'右'方向键i3:cmp ah,4dhjne i4add cloAddre,2call cleareraserScreen2 ;当前地址加2jmpintend ;直接结束一次中断,以避免修改其它单元内容; ---------------- ;是否按了'ESC'键i4:cmp ah,01hjne i5jmp over; ---------------- ;按以下键变化不同种颜色i5: .if ah==1eh ;按A键变色clearscreen 04hcall clearjmp startcha.elseif ah==1fh ;按S键变色clearscreen 1ehcall clearjmp startcha.elseif ah==20h ;按D键变色clearscreen 0e0hcall clearjmp startcha.elseif ah==21hclearscreen 23hcall clearjmp startcha.elseif ah==22hclearscreen 41hcall clearjmp startcha.elsejmp i6.endifi6: cmpah,30h ; 按'B '键jeSTART0 ;返回主菜单intend : call clearjmp startloop;----------------------------------------------------------bcd码转换bcd:mov ah,alpush cxmov cl,4shr ah,clpop cxand al,0fhadd ax,'00'xchg ah,almov ds:[si],axret;--------------------------------------------------------------退出over: mov ax,4c00hint 21h;---------------------------------------------------------- 显示时间子程序disptime procdisp : mov al,[si]inc sior al,aljz backcldstosb ;将al 传送到es:diinc dijmp dispback: retdisptime endp;----------------------------------------------------------编写音乐子程序creatMiusic procpush axpush sipush cxpush dxmov dx,offset showMusicBookmov ah,09hint 21hlea si,musicloop0: mov ah,07hint 21hcmp al,'#'jne loop1mov byte ptr [si],aljmp finish ; '#'结束编辑loop1: .if al<'1';有效输入值为'1'~'7'jmp loop0.elseif al>'7'jmp loop0.elsemov ah,02mov dl,alint 21hmov byte ptr [si],alinc si.endifjmp loop0finish: pop dxpop cxpop sipop axretcreatMiusic endp;----------------------------------------------------------倒计时子程序countDown procpush cxpush dxpush simov ah,almov al,9subal,ah ;用9减当前秒数即得倒计数addal,'0';将字符存入指定位置lea si,msgdownpush siadd si,lensub si,3mov byte ptr [si],alpop simov cx,lengthof msgdownwritechar 28,7,0f4h,1pop sipop dxpop cxretcountDown endp;------------------------------------------------------清除键盘缓冲区clear procpush espush axpush cxpush dxpush dimov ax,0040hmov es,axmov ax,es:[001ch]mov word ptres:[001ah],ax ;队首地址等于队尾地址mov di,es:[001ch]mov word ptres:[di],0000h ;清0pop dipop dxpop cxpop axpop esretclear endp;----------------------------------------------------------发声闹铃子程序clock procpush axpush bxpush cxpush dxpush simov cx ,lengthof msgringlea si,msgringwritechar 28,7,0f4h,1MOV si,offset musicLP1: mov al,[si]CMP AL,'#'JZ DONEAND AL,0FHDEC ALSHL AL,1XOR AH,AHpush siLEA SI,INITABADD SI,AX ;对映相应音调频率MOV BX,[SI]MOV AL,01HOUT 61,ALMOVAL,10110110B ;给定时器2送控制字OUT43H,AL ;2号控制寄存器MOV AL,BLOUT42H,AL ;给定时器送计数值低字节MOV AL,BHOUT42H,AL ;给定时器送计数值高字节IN AL,61HOR AL,3 ;开扬声器,低二位全置1OUT 61H,ALCALL DELAYAND AL,0FCH ;关闭扬声器,低二位置为0OUT 61H,ALpop siadd si,1in al,60hcmp al, 10hjne gomov byte ptr sign,0jmp DONEgo: JMP LP1DONE: mov cx ,lengthof msgringlea si, blankwritechar 28,7,6fh,1pop sipop dxpop cxpop bxpop axretclock endp;----------------------------------------------------------延时子程序DELAY PROC nearMOV CX,0DL2: MOV AX,10000DL1: SUBAX,1 ;1000*65535JNZ DL1LOOP DL2RETDELAY ENDP; --------------------------------将0ah 转换成10h的形式translate procpush bxxor bx,bxlpp0 : cmpcx,1000 ;若大于1000没比较一次bx加1000h,cx自减1000jb lpp1sub cx,1000add bx,1000hjmp lpp0lpp1: cmpcx,100 ;若大于100没比较一次bx加100h,cx自减100jb lpp2sub cx,100add bx,100hjmp lpp1lpp2: cmpcx,10 ;若大于10没比较一次bx加10h,cx自减10jb lpp3sub cx,10add bx,10hjmp lpp2lpp3: addbx,cx ;若小于10,bx直接加cxmovcx,bx ;得到转换后cx值xorbx,bx ;bx清0lpp4: cmp dl,10jb lpp5sub dl,10add bl,10hjmp lpp4lpp5: add bl,dlmov dl,blxor bx,bxlpp6: cmp dh,10jb lpp7sub dh,10add bl,10hjmp lpp6lpp7: add bl,dhmov dh,blpop bxrettranslate endpend; -------------------------------六.程序调试1,学生信息主界面。
简单汇编语言课程设计

简单汇编语言课程设计一、课程目标知识目标:1. 学生能理解汇编语言的基本概念,掌握汇编语言的语法结构。
2. 学生能描述计算机硬件的基本组成,了解汇编语言与硬件操作的关系。
3. 学生能运用汇编语言编写简单的程序,实现基本的输入输出、运算和逻辑控制。
技能目标:1. 学生能独立完成汇编语言程序的编写、调试和运行。
2. 学生能运用汇编语言解决实际问题,培养编程思维和问题解决能力。
3. 学生能通过查阅资料,了解汇编语言在实际应用中的发展,提高信息素养。
情感态度价值观目标:1. 学生对汇编语言产生兴趣,认识到编程对个人和社会发展的意义。
2. 学生在编程过程中,培养耐心、细致、严谨的学术态度。
3. 学生通过学习汇编语言,增强团队协作意识,提高沟通与表达能力。
课程性质:本课程为信息技术课程,旨在让学生了解计算机底层原理,掌握汇编语言编程技能,培养编程兴趣。
学生特点:本课程针对的是高年级学生,他们已具备一定的计算机操作能力,思维活跃,好奇心强,具备一定的自学能力和团队合作精神。
教学要求:教师应注重理论与实践相结合,引导学生通过实际操作掌握汇编语言编程技能,激发学生的学习兴趣,培养其编程思维和问题解决能力。
同时,关注学生的个体差异,提供有针对性的指导,确保课程目标的实现。
在教学过程中,将目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 汇编语言概述- 了解汇编语言的发展历程- 掌握汇编语言与高级语言的异同2. 计算机硬件基础- 学习计算机硬件的基本组成- 了解汇编语言与硬件操作的关系3. 汇编语言语法- 掌握汇编语言的指令系统- 学习汇编语言的寄存器、操作数和地址表达式4. 汇编程序结构- 了解汇编程序的组织结构- 学习汇编程序的编写、调试和运行方法5. 基本输入输出操作- 掌握汇编语言实现输入输出的方法- 学习汇编语言与BIOS、中断的关系6. 算术运算与逻辑控制- 学习汇编语言实现基本算术运算和逻辑控制- 掌握相关指令和编程技巧7. 汇编语言编程实例- 分析经典汇编程序案例- 实践编写简单的汇编程序,解决实际问题教学内容安排和进度:第1周:汇编语言概述、计算机硬件基础第2周:汇编语言语法第3周:汇编程序结构第4周:基本输入输出操作第5周:算术运算与逻辑控制第6周:汇编语言编程实例及拓展教材章节关联:本教学内容与教材中“汇编语言程序设计”章节相关,涵盖了汇编语言的语法、编程技巧和实例。
王爽汇编语言课程设计

王爽汇编语言课程设计一、课程目标知识目标:1. 理解汇编语言的基本概念,掌握汇编语言的语法和指令系统;2. 学会使用汇编语言进行程序设计和调试;3. 了解计算机硬件与汇编语言的关联,理解汇编语言在计算机运行中的作用。
技能目标:1. 能够运用汇编语言编写简单的程序,实现基本的输入输出、算术运算等功能;2. 学会使用汇编语言进行条件判断和循环控制;3. 掌握汇编语言与高级语言的混合编程方法。
情感态度价值观目标:1. 培养学生对计算机底层原理和汇编语言的兴趣,激发学习热情;2. 培养学生的编程思维和解决问题的能力,提高自信心;3. 强调汇编语言在计算机科学中的重要性,培养学生的专业素养。
课程性质分析:本课程为计算机科学与技术专业的基础课程,旨在帮助学生深入理解计算机硬件与软件的关联,掌握汇编语言的编程技能。
学生特点分析:学生处于大学本科阶段,具备一定的计算机基础知识和编程能力,对汇编语言有一定的好奇心,但可能对底层原理感到困惑。
教学要求:1. 结合实际案例,深入浅出地讲解汇编语言知识;2. 注重实践操作,培养学生的动手能力;3. 突出汇编语言在实际应用中的作用,提高学生的应用意识。
二、教学内容1. 汇编语言基础知识:介绍汇编语言的概念、发展历程、特点及应用场景,讲解汇编语言的语法和指令系统(对应教材第1章)。
- 数据类型与寄存器- 指令格式与寻址方式2. 汇编语言程序设计:讲解汇编语言的编程方法,通过案例分析和实践操作,使学生掌握汇编程序的设计与调试(对应教材第2-4章)。
- 程序结构- 基本指令的使用- 程序流程控制3. 汇编语言与硬件的关系:介绍汇编语言如何与计算机硬件交互,理解汇编语言在计算机运行中的作用(对应教材第5章)。
- 计算机硬件原理- 汇编语言与CPU的关联4. 混合编程:讲解汇编语言与高级语言的混合编程方法,提高学生的编程技能和应用能力(对应教材第6章)。
- 混合编程概念与原理- 混合编程实例分析5. 实践环节:设置多个实践任务,让学生动手编写汇编程序,巩固所学知识,提高实际操作能力(对应教材实践部分)。
汇编语言程序设计实验报告

汇编语言程序设计实验报告汇编语言程序设计实验报告引言汇编语言是一种低级语言,用于编写计算机的底层程序。
在计算机科学与技术领域,汇编语言程序设计是一门重要的课程。
本篇实验报告将介绍我在汇编语言程序设计实验中所学到的知识和经验。
实验目的本次实验的目的是通过编写汇编语言程序,加深对计算机底层原理的理解,并掌握汇编语言的基本语法和编程技巧。
实验环境在实验中,我使用了一台运行Windows操作系统的计算机,并安装了MASM 汇编语言开发工具。
实验内容1. 汇编语言基础知识在实验开始前,我先学习了汇编语言的基础知识。
汇编语言使用助记符来代表机器指令,与机器指令一一对应。
了解了寄存器、内存和指令的概念,并学会了如何使用它们来编写汇编程序。
2. 汇编语言程序设计在实验中,我编写了一些简单的汇编语言程序,以加深对汇编语言的理解和应用。
例如,我编写了一个计算两个数之和的程序,通过将两个数存储在寄存器中,并使用加法指令进行运算,最后将结果保存到指定的内存位置。
3. 汇编语言程序调试在编写汇编语言程序时,我遇到了一些错误和问题。
为了解决这些问题,我学会了使用调试工具来定位错误。
通过逐步执行程序,并观察寄存器和内存的变化,我能够找到程序中的错误并进行修正。
4. 汇编语言程序优化在实验中,我也尝试了对汇编语言程序进行优化,以提高程序的性能和效率。
通过减少指令的数量和使用更高效的算法,我成功地改进了程序的执行速度。
实验心得通过本次实验,我深刻体会到了汇编语言程序设计的重要性和挑战性。
汇编语言虽然复杂,但它能够直接操作计算机的硬件,提供了更高的灵活性和效率。
通过编写汇编语言程序,我不仅加深了对计算机底层原理的理解,还提高了问题解决和调试能力。
总结汇编语言程序设计实验是一门重要的课程,它为我们提供了学习计算机底层原理和编程技巧的机会。
通过实验,我掌握了汇编语言的基本知识和技巧,并成功编写和优化了汇编语言程序。
这次实验不仅加深了我的理论知识,还培养了我的实际操作能力。
汇编语言课程设计报告

汇编语言课程设计报告课程设计报告课程名称汇编语言程序设计课题名称 1.显示彩色菱形 2.显示系统当前时间专业班级学号姓名指导教师年月日课程设计任务书课程名称汇编语言程序设计课题 1.显示彩色菱形2.显示系统当前时间专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日一、设计内容与设计要求1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。
(1)、编制一计算比赛成绩的程序,要求完成以下功能:a、9名评委,每个评委给分范围为0~100(整数);b、9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);c、将得分在光标位置处显示出来。
(2)、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade 数组中,各数据的格式为:学号,成绩1,成绩2,…,成绩5然后根据grade中的学生成绩,把学生名次填入rank数据组中,并显示出来,格式为:学号,名次(3)、利用INT 1CH(大约每秒中断18.2次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为时:分:秒:1/100秒(4)、输入一个菱形的两条对角线长,在屏幕上用‘*’号画出一个彩色的菱形。
(5)、设置图形方式并显示彩条,要求:选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条2.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
(1)、设计正确,方案合理。
(2)、界面友好,使用方便。
(3)、程序精炼,结构清晰。
(4)、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
汇编语言课程设计报告

目录第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.知识目标:(1)了解汇编语言的发展历程和基本特点;(2)掌握汇编语言的语法规则,包括指令、寄存器、内存寻址等;(3)熟悉汇编语言的程序结构,包括数据段、代码段、堆栈段等;(4)了解汇编语言与机器语言的关系。
2.技能目标:(1)能够使用汇编语言编写简单的程序;(2)具备汇编语言程序调试和排错的能力;(3)掌握汇编语言与C语言的互操作方法。
3.情感态度价值观目标:(1)培养学生对汇编语言编程的兴趣,提高学习的积极性;(2)培养学生勇于探索、严谨治学的科学精神;(3)培养学生团队协作、交流分享的良好习惯。
二、教学内容本课程的教学内容分为四个部分:1.汇编语言概述:介绍汇编语言的发展历程、基本特点和应用领域;2.汇编语言语法:讲解汇编语言的指令系统、寄存器、内存寻址等语法规则;3.汇编语言程序设计:学习汇编语言的程序结构,掌握编程技巧,体验汇编语言编程的过程;4.汇编语言与C语言的互操作:了解汇编语言与C语言的结合方式,掌握混合编程的方法。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解汇编语言的基本概念、语法规则和编程技巧;2.案例分析法:分析典型汇编语言程序,让学生体会汇编语言编程的魅力;3.实验法:让学生动手编写汇编语言程序,提高实际编程能力;4.讨论法:学生分组讨论,培养团队协作和交流分享的良好习惯。
四、教学资源为实现教学目标,本课程将采用以下教学资源:1.教材:选用权威、实用的汇编语言教材,为学生提供系统的学习资料;2.参考书:提供丰富的汇编语言参考书籍,方便学生深入学习;3.多媒体资料:制作精美的课件,辅助讲解和展示汇编语言编程实例;4.实验设备:提供计算机实验室,让学生进行汇编语言编程实践。
五、教学评估本课程采用多元化的评估方式,全面、客观地评价学生的学习成果。
汇编语言课程设计

汇编语言课程设计1. 引言汇编语言是一种底层的编程语言,相比高级语言,它更接近计算机底层硬件。
学习汇编可以帮助我们深入理解计算机底层实现原理,对于提高我们的计算机编程能力有很大帮助。
本文将介绍我所设计的汇编语言课程项目。
2. 项目背景本项目的背景是我所在的大学计算机科学专业的汇编语言课程设计。
该课程设计的目的是让学生完成一个简单的汇编语言程序,对汇编语言编程有一个初步了解。
3. 项目内容我设计的汇编语言课程项目是一个简单的计算器程序。
该程序能够实现加减乘除四种基本运算。
该计算器程序将用户输入的两个数进行四则运算,并将结果输出。
程序具体实现过程如下:1.用户输入两个数2.用户输入运算符(+、-、*、/)3.程序进行相应的运算4.将运算结果输出4. 程序实现细节4.1 输入部分在IBM PC或IBM兼容机上的汇编程序中,BIOS提供了一个10号中断,用于从键盘读取单个字符。
可以使用该中断来实现从键盘输入数值和运算符。
具体来说,在程序中使用int 10h指令调用10号中断,该指令会将读取到的字符放入到AL寄存器中。
例如,要读取输入的第一个数,可以使用下面的汇编代码:xor ax, axmov ah, 0int 16h ;等待按键mov bh, 10 ;设置缓冲区大小为10lea di, num1 ;设置存放用户输入的缓冲区mov ch, 0 ;初始化输入计数器read_num:mov ah, 0 ;再次调用int 16hint 16h ;读取单个字符到AL寄存器cmp al, 0dh ;判断是否为回车键je read_num_donecmp al, 20h ;判断是否为空格je read_numcmp al, 30hjb read_numcmp al, 39hja read_nummov [di], al ;添加输入inc di ;移动指针inc ch ;计数cmp ch, bh ;缓冲区是否满了jne read_numread_num_done:mov [di], 0 ;字符串结束该代码段可以实现从键盘读取用户输入的第一个数,并存储到num1字符串中。
汇编语言简单课程设计

汇编语言简单课程设计一、课程目标知识目标:1. 理解汇编语言的基本概念,掌握汇编语言的语法和结构;2. 学会使用汇编语言编写简单的程序,理解程序执行的流程和机制;3. 了解汇编语言与机器语言的关系,明白汇编语言在计算机体系结构中的作用。
技能目标:1. 能够正确使用汇编语言编写、编译和调试简单的程序;2. 能够运用汇编语言进行基本的输入输出操作,实现数据的处理和控制流程;3. 能够分析并解决汇编程序中的常见问题,优化程序性能。
情感态度价值观目标:1. 培养学生对计算机底层原理的兴趣,激发深入学习计算机科学的热情;2. 培养学生的逻辑思维能力和解决问题的耐心,增强面对困难的勇气和毅力;3. 引导学生认识到汇编语言在计算机发展中的重要性,培养对计算机历史的尊重和敬畏。
课程性质:本课程为计算机科学与技术专业的选修课程,旨在帮助学生了解计算机底层原理,提高编程技能。
学生特点:学生具备一定的编程基础,对计算机原理有一定的了解,但汇编语言接触较少,需要从基础知识入手。
教学要求:结合学生特点和课程性质,课程设计应注重理论与实践相结合,以实例为主线,引导学生主动探索和实践,提高学生的编程能力和解决问题的能力。
教学过程中,注重激发学生的学习兴趣,培养学生的逻辑思维和团队合作精神。
通过本课程的学习,使学生能够掌握汇编语言的基本知识,为后续相关课程打下坚实基础。
二、教学内容1. 汇编语言概述- 了解汇编语言的发展历程和特点- 掌握汇编语言与高级语言的区别2. 计算机体系结构基础- 学习CPU的工作原理和寄存器的作用- 理解内存组织结构和寻址方式3. 汇编语言语法与指令集- 掌握汇编语言的语法规则- 学习常用汇编指令及其功能4. 汇编程序结构与流程控制- 熟悉汇编程序的基本结构- 学习分支、循环等流程控制语句的使用5. 汇编语言中的数据表示- 掌握二进制、十进制、十六进制等数据表示方法- 学习数据存储和处理的相关知识6. 常用汇编程序设计技巧- 掌握汇编程序中的宏定义和条件编译- 学习汇编程序中的优化技巧7. 汇编程序的编译与链接- 了解汇编程序的编译过程- 学习汇编程序与链接器的使用方法8. 汇编程序实例分析- 分析经典的汇编程序实例- 学习汇编程序在实际应用中的技巧和经验教学内容安排与进度:第1周:汇编语言概述第2周:计算机体系结构基础第3周:汇编语言语法与指令集第4周:汇编程序结构与流程控制第5周:汇编语言中的数据表示第6周:常用汇编程序设计技巧第7周:汇编程序的编译与链接第8周:汇编程序实例分析教学内容与教材关联性:本教学内容基于教材《汇编语言》进行组织,涵盖教材中相关章节的核心知识点,结合课程目标进行适当的调整和补充,确保教学内容与课程目标相符合。
汇编语言的课程设计

汇编语言的课程设计一、课程目标知识目标:1. 理解汇编语言的基本概念和组成,掌握汇编语言的编程规则;2. 掌握汇编语言的常用指令,并能正确运用到程序编写中;3. 了解汇编语言与机器语言的关系,明白汇编语言在计算机体系结构中的作用;4. 学会使用汇编语言进行基本的输入输出操作,以及简单的数据处理。
技能目标:1. 能够独立编写简单的汇编程序,实现基本的功能需求;2. 能够运用汇编语言进行程序调试,找出并修正程序中的错误;3. 能够阅读和理解汇编语言的源代码,分析程序的执行过程;4. 能够通过汇编语言编程,提高对计算机硬件的理解和操作能力。
情感态度价值观目标:1. 培养学生对汇编语言的兴趣,激发他们探索计算机底层原理的热情;2. 培养学生严谨的编程习惯,注重代码质量和程序效率;3. 增强学生的团队合作意识,学会在编程过程中相互交流和分享经验;4. 培养学生面对编程挑战时的耐心和毅力,勇于克服困难,不断进步。
本课程针对高年级学生,具有较强的理论性和实践性。
通过本课程的学习,学生将深入理解计算机硬件与软件的紧密联系,提高编程能力和问题解决能力。
课程要求学生在掌握基本概念和技能的基础上,注重实际应用和创新能力的发展。
教学过程中,教师应关注学生的个体差异,提供针对性的指导和帮助,确保每位学生能够达到预定的学习成果。
二、教学内容本章节教学内容主要包括以下几部分:1. 汇编语言概述:介绍汇编语言的发展历程、特点及在计算机编程中的应用;- 教材章节:第1章 汇编语言基础知识2. 汇编语言基本概念:讲解汇编语言的组成元素,如指令、寄存器、内存单元等;- 教材章节:第2章 汇编语言的基本概念3. 汇编语言编程规则:学习汇编语言的语法、指令系统、伪指令等;- 教材章节:第3章 汇编语言的编程规则4. 汇编语言常用指令:掌握数据传送、算术运算、逻辑运算、控制转移等常用指令;- 教材章节:第4章 常用指令介绍5. 汇编语言程序设计:学习编写简单的汇编程序,进行基本的输入输出操作;- 教材章节:第5章 汇编语言程序设计6. 汇编语言与硬件的关系:探讨汇编语言如何与计算机硬件进行交互;- 教材章节:第6章 汇编语言与硬件的关系7. 汇编语言程序调试与优化:介绍汇编程序的调试方法、技巧以及性能优化;- 教材章节:第7章 程序调试与优化教学内容按照以上安排进行,保证教学进度的科学性和系统性。
汇编课程设计实验报告

汇编语言程序设计实验报告专业:班级:学号:姓名:日期:湖南科技大学实验报告一实验题目:有两个数(字数据)DATA1和DATA2,把两数之和放在DA TA3中,两数之差放在DA TA4中。
实验目的:1.熟练掌握汇编语言的程序结构,学会如何使用数据定义、符号定义、模块定义等常用的批示性语句。
2.熟悉汇编语言的工作环境;学会使用汇编语言的编辑、汇编、和连接装配程序的方法;熟悉汇编语言程序的编辑-汇编-连接-运行-调试的过程3.熟练掌握用DEBUG来调试程序,掌握调试程序的反汇编、读写寄存器或存储单元、运行程序等简单的调试命令。
4.熟悉汇编语言指令,学会使用数据传送,算术逻辑运算,处理器控制等简单指令。
实验主要原理:先用数据传送指令将DATA1,DA TA2放入AX和BX两个寄存器中,分别用ADD和SUB 两个指令来计算两数之和与两数之差,再用数据传送指令将两数之和放入DA TA3中,将两数之差放入DATA4中。
最后用ret指令返回DOS程序流程图:源程序:datarea segmentDA TA1 dw 5 ;数据定义DA TA2 dw 4DA TA3 dw ?DA TA4 dw ?datarea endsprognam segmentmain proc farassume cs:prognam,ds:datareastart: push ds ;准备工作sub ax,axpush axmov ax,datareamov ds,axmov ax,DATA1mov bx,DATA2add ax,bx ;做加法mov DATA3,axmov ax,DATA1sub ax,bx ;做减法mov DATA4,axretmain endpprognam endsend startDEBUG调试关键步骤:执行mov ax,DATA1(AX)=5,传送成功执行add ax,bx(AX)=9,加法成功执行到最后ret时,查看数据段内容分别为5, 4,9,1 说明加法,减法都成功执行运行结果:(DATA3)=9(DA TA4)=1实验报告二实验题目:数据段中有一个字符串DATA1,串长为3,内容为‘CDE’,还有另一个字符串为DATA2,长度为4,内容为‘ABCD’。
汇编语言课程设计报告

课程设计报告课程名称汇编语言程序设计课题名称1、显示彩色菱形2、显示系统当前时间专业班级学号姓名指导教师年月日课程设计任务书课程名称汇编语言程序设计课题1、显示彩色菱形2、显示系统当前时间专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日一、设计内容与设计要求1.设计内容:通过本周得课程设计,学生能够巩固所学得基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计得方法与过程,以及为设计其它应用软件提供帮助,进而提高学生得软件设计能力。
(1)、编制一计算比赛成绩得程序,要求完成以下功能:a、9名评委,每个评委给分范围为0~100(整数);b、9名评委给分中,去掉一个最高分与一个最低分,剩余7名评委得平均分即为参赛者得得分(精确到小数点二位);c、将得分在光标位置处显示出来。
(2)、编制一程序,要求接收从键盘输入得一个班得学生成绩,并存放于30字得grade 数组中,各数据得格式为:学号,成绩1,成绩2,…,成绩5然后根据grade中得学生成绩,把学生名次填入rank数据组中,并显示出来,格式为: 学号,名次(3)、利用INT 1CH(大约每秒中断18、2次)编写一个中断驻留程序,要求在屏幕得右上角显示计算机中当前系统时间,显示格式为时:分:秒:1/100秒(4)、输入一个菱形得两条对角线长,在屏幕上用‘*’号画出一个彩色得菱形。
(5)、设置图形方式并显示彩条,要求:选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条2.设计要求:掌握结构化程序设计得主体思想,以自顶向下逐步求精得方法编制程序解决一些实际得问题,为将来编写软件积累一些典型得案例处理经验。
(1)、设计正确,方案合理。
(2)、界面友好,使用方便。
(3)、程序精炼,结构清晰。
(4)、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
汇编语言程序设计报告

v .. . ..《汇编语言》课程设计报告专业计算机科学与技术学生姓名张竹青班级Z计算机151学号1560704132任课老师王志宏完成日期2017年12月29日目录1概述 (1)1.1 设计目的 (1)1.2 设计内容 (1)2系统需求分析 (1)2.1 系统目标 (1)2.2 主体功能 (1)2.3 开发环境 (2)3 系统概要设计 (2)3.1 系统的功能模块划分 (2)3.2 系统流程图 (3)4系统详细设计 (4)4.1界面设置 (4)4.2选择算法设置 (4)4.3十进制转换设置 (4)5测试 (5)5.1 测试方案 (5)5.2 测试结果 (5)6小结 (6)参考文献 (7)实现加减乘除四则运算的计算器1 概述1.1 设计目的使用汇编语言,通过实现简单计算器的一般功能,如加、减、乘、除的计算来了解并掌握DOS系统功能的调试方法,学会画出编程的具体流程图,同时在程序设计过程中熟悉各种指令的应用和意义,以及如何进行上机编辑、汇编、连接和调试。
本课程设计也是对课堂上所学的基本理论知识和程序设计方法的巩固和深化,提高我们的编程思想、分析问题和解决问题的综合应用能力,能够编写较复杂的应用程序,最终达到熟练地掌握结构化程序设计技术和编写汇编源程序的基本方法的目的。
1.2 设计内容设计一个能实现加、减、乘、除计算的程序,要求该程序接受从键盘输入的十六进制数,当程序执行时需在文件名后直接跟上计算表达式,每当读到一个有效的表达式时对表达式进行相应的运算后,输出用十进制数或十六进制数表示的运算结果,如在命令提示符下执行结果如下:c:\tasm>js 3+252 系统需求分析2.1 系统目标本次汇编语言课程设计的最终目的是要实现一个简单的加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。
具体功能如下:(1)调用中断把要做运算的两个数输入到屏幕上并用程序将他们存储起来(2)判断用户所输入的运算是四则运算中的哪一种运算(3)判断运算过程中是进位还是借位(4)选择用何种输出方式(5)实现清屏2.2 主体功能要求该程序接受的是十六进制数,执行相应的计算后,计算结果以十六进制数或十进制数输出。