汇编语言课程设计_提取系统时间
- 格式:doc
- 大小:1.26 MB
- 文档页数:26
目录摘要 (2)1设计方案论证及比较 (3)1.1方案一:以数字时钟显示 (3)1.2方案二:以图形时钟显示 (4)1.3方案比较 (5)2程序设计流程图 (6)2.1主程序流程图 (6)2.2子程序流程图 (7)3部分程序设计及功能解说 (10)4程序运行结果及分析 (12)4.1程序运行结果 (12)4.2 运行结果及问题分析 (13)5小结 (14)参考文献 (15)附录:程序清单 (16)摘要本设计采用16位微型处理器8086CPU以及86系列微型计算机的指令系统,利用汇编语言编写,设计一个界面实现系统日期及时间显示功能,软件设计平台为多功能计算机实验软件MFS中的微机原理实验集成环境MF2KP。
在本设计中,通过读取键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成ASCII码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成ASCII 码并调用10号中断予以显示;若单击Esc,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。
关键词:系统时钟、汇编语言、8086系统时钟汇编语言程序设计1设计方案论证及比较1.1方案一:以数字时钟显示通过读取键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成ASCII码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成ASCII码并调用10号中断予以显示;若单击Esc,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。
图1 方案一程序流程图1.2方案二:以图形时钟显示先画出一个圆,采用Bresenham算法,运用显示器输出中断的调用,设置显示方式和光标位置后,用写像素的方法按一定的算法打点来画出;其次,用同样的方法在已画的圆上标60根分钟线,在圆心处画秒钟、分钟、时钟指针;最后,实现指针的走动,表示本机时间。
华北科技学院课程设计说明书课程名称:汇编语言班级: 计算机B08-1 姓名: _邵璐婷 _ 学号:__ 200807014109 设计题目:显示系统当前时间与日期 _ 设计时间: 2009-06-21至2009-07-02指导教师: _ 孟广学 _ _ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:____________一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2.遵循模块化、结构化的程序设计方法。
3.要求程序必须正确。
4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5.要求程序结构合理,语句使用得当。
6.适当追求编程技巧和程序运行效率。
三、课程设计题目:题目:显示系统当前时间与日期要求设计界面提示信息为:“Please input DATE(D) OR TIME(T)OR QUIT(Q):”,从键盘键入“D”,可显示系统日期。
从键盘输入“T”,可显示系统时间。
从键盘输入“Q”,退出程序。
利用DOS的系统功能调用的2AH和2CH功能调用,读取系统日期和时间。
将日期和时间转换为相应的ASCII码字符,显示在屏幕上。
四、课题分析这个题目是显示系统当前时间与日期,这就需要用DOS的2A号功能---取系统日期和2C号功能---取系统时间,以及BIOS的06号功能---清屏或上卷,02号功能---制光标位置。
《汇编语言》课程设计报告显示系统时间《汇编语言》课程设计报告题目:院(系):班级:姓名:学号:指导教师:1设计主要任务这个程序主要是用来显示系统时间的程序。
在这个程序中,主程序首先设置显示方式,取系统时间后将时间保存,继续设置显示方式,利用BIOS 的INT 1AH的2号系统功能调用,将计算机系统的时间参数(BCD码)送入寄存器,将用BCD码表示的时、分、秒转换成ASCII码并进行显示。
读字符串到al中进行判断是否为结束,然后进行显示时间。
后又重新取系统时间。
然后进行一系列的判断是否有进位。
有则进行进位操作,否则重新取系统时间。
1.1设计任务与目标任务:对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力。
使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
目标:用“时:分:秒”(均为两位)的形式连续显示系统时间。
利用BIOS 的INT 1AH的2号系统功能调用,将计算机系统的时间参数(BCD码)送入寄存器,将用BCD码表示的时、分、秒转换成ASCII码并进行显示。
2 设计方案(1)在DOS环境下完成,先利用BIOS功能调用中显示器驱动程序的00H类型调用,设置显示器的显示模式为80*25彩色。
采用Fortran编程提取系统时间文一猪编程中我们往往需要提取系统时间,从而确定程序或子程序的运行时间。
我想在这里上有几个目的,比如说要对程序进行优化,当然你得先优化比较费时的子程序,或者你要直接从实际计算上计算出程序的复杂度,简单说就是计算时间同计算量的函数关系。
在这里给出关于采用Fortran95语言编写的提取系统时间程序。
Example1是网上帖子里的程序,不过该程序采用的time程序似乎不是Fortran95的标准程序。
在Example2给出的是自编的采用模块化编程调用cpu_time程序,使用F95的朋友可以很容易地将该程序嵌入到你们的程序中使用。
Mar. 14, 2013program TimeNowcharacter*8 :: nowinteger :: hh,mm,sscall time (now) ! 读系统时间write(*,*) now ! 写出时间字符串! 用字符变量now作为内部文件,从中将时、分、秒作为整数读出read(now,"(I2,1x,I2,1x,I2)") hh,mm,ss ! 字符转换为write(*,*) hh,mm,ss ! 写出时、分、秒的整数值stopend program TimeNow帖子:/club/showtxt.asp?id=70407/post-70559.htmlmodule get_timepublic display_timecontainssubroutine display_time()implicit nonedoubleprecision nowtimecall cpu_time(nowtime)write(*,'(1x,a,1e10.3)') "Now Time is ", nowtime returnend subroutineend moduleprogram test_get_timeuse get_timeimplicit doubleprecision (a-h, o-z), integer (i-n)call display_time()do i = 1,1000000do j = 1,2000x = dlog(1.1d0)enddoenddocall display_time()stop "The end!"end program第2 章Fortran 95 内函数本章列出了f95 编译器可识别的内函数名称。
微机原理与接口技术编程作业学院:xxxx学院班级:xxxxxxxxxx学号:xxxxxxxxxx姓名:xxx【题目要求】根据当前计算机的时间和日期,显示上午(AM)或下午(PM),并显示星期几。
【设计思路】通过使用软中断指令“INT 21H”进行系统功能调用,获取系统时间和日期。
当AH=2AH时,可获取系统日期,有CX=year(1980~2099)DH = month (1~12)DL = day (1~31)AL = day of the week (0~6, 0=Sunday, 1=Monday, etc.)当AH=2CH时,可获取系统时间,有CH=hours(0~23)CL = minutes (0~59)DH = seconds (0~59)DL = hundredths of seconds (0~99)将对应的寄存器内容取出,二进制转换为ASCII码,再输出即可获知当前系统时间与日期。
其中,当小时(hours)值小于等于12时为上午(AM),大于12时为下午(PM),大于12时显示的小时数值与12进行作差操作。
星期几可由AH=2AH时系统功能调用所得的AL数值对应得到,选取相符的字符串进行显示即可。
【源码】.MODEL SMALL.DA TAWEEK DB 'Sunday$','Monday$','Tuesday$','Wednesday$','Thursday$','Friday$','Saturday$'.CODESTART: MOV AX,@DA TAMOV DS,AXHOUR:MOV AH,2CH ; To get system timeINT 21HMOV AL,CH ; Hour is in CHMOV CH,1CMP AL,12 ; To determine AM or PMJLE NEXTSUB AL,12MOV CH,2NEXT:AAMMOV BX,AXCALL DISPMOV DL,':'MOV AH,02HINT 21HMINUTE:MOV AL,CL ; Minute is in CL AAMMOV BX,AXCALL DISPMOV DL,':'MOV AH,02HINT 21HSECOND:MOV AL,DH ; Second is in DH AAMMOV BX,AXCALL DISPMOV DL,' 'MOV AH,02HINT 21HMOV DL,'P'CMP CH,2 ;To determine AM or PM JE PMMOV DL,'A'PM:MOV AH,02HINT 21HMOV DL,'M'MOV AH,02HINT 21HMOV DL,','MOV AH,02HINT 21HMOV DL,' 'MOV AH,02HINT 21HMOV AH,2AH ;To get system dateINT 21HCMP AL,6 ;Day of the week is in AL (0-6) JE SatCMP AL,5JE FriCMP AL,4JE ThurCMP AL,3JE WedCMP AL,2JE TuesCMP AL,1JE MonCMP AL,0JE SunSun:LEA DX,WEEKJMP IFENDMon:LEA DX,WEEK+7JMP IFENDTues:LEA DX,WEEK+14JMP IFENDWed:LEA DX,WEEK+22JMP IFENDThur:LEA DX,WEEK+32JMP IFENDFri:LEA DX,WEEK+41JMP IFENDSat: LEA DX,WEEK+48JMP IFENDIFEND:MOV AH,09HINT 21HMOV DL,','MOV AH,02HINT 21HMOV DL,' 'MOV AH,02HINT 21H;Day PartDAY:MOV AH,2AH ; To get system dateINT 21HMOV AL,DL ; Day is in DLAAMMOV BX,AXCALL DISPMOV DL,'/'MOV AH,02HINT 21HMONTH:MOV AL,DH ; Month is in DHAAMMOV BX,AXCALL DISPMOV DL,'/'MOV AH,02HINT 21HYEAR:ADD CX,0F830H ;To negate the effects of 16bit valueMOV AX,CX ; since AAM is applicable only for AL (YYYY -> YY) AAMMOV BX,AXCALL DISPMOV AH,4CH ; To Terminate the ProgramINT 21H;Display PartDISP PROCMOV DL,BH ; BH PartADD DL,30H ; ASCII AdjustmentMOV AH,02H ; To print in DOSINT 21HMOV DL,BL ; BL PartADD DL,30H ; ASCII AdjustmentMOV AH,02H ; To print in DOSINT 21HRETDISP ENDP ; End Disp ProcedureEND START【运行结果】编译器masm编译结果和连接器连接结果如下图所示。
计算机系统时间提取的正确方法在计算机系统中,时间戳是一项非常重要的功能。
它可以用于记录事件的发生时间、文件的创建时间以及系统的运行时间等等。
正确的提取计算机系统时间可以帮助我们更好地进行时间管理、数据分析,以及问题的排查与解决。
下面是一些常见的计算机系统时间提取方法:1. 系统时间戳在很多编程语言中,都有与系统时间相关的函数或类库,可以方便地获取当前系统时间或时间戳。
比如在Python中,可以使用time模块来获取当前时间:```import timetimestamp = time.time()print(timestamp)```这个时间戳是一个自1970年1月1日以来的秒数,可以用于记录时间间隔或进行计算。
2. 文件时间属性在Windows系统中,每个文件都有一个创建、修改和访问时间的属性,可以通过文件属性对话框或命令行工具来查看。
在命令行中,可以使用dir命令来列出文件属性:```dir myfile.txt```其中包括了文件的创建时间、修改时间和访问时间。
在Linux系统中,也有类似的命令ls来列出文件的时间属性。
3. 日志文件时间戳很多应用程序都会将事件记录到日志文件中,用于排查问题和分析数据。
在日志文件中,通常都会包含事件的时间戳,可以帮助我们更好地了解事件的发生时间和持续时间。
比如在Apache Web服务器中,可以通过查看访问日志文件来了解每个请求的时间戳和响应时间。
4. 网络时间同步为了保证计算机系统的时间精确度,很多操作系统都支持与网络时间协议(NTP)服务器进行时间同步。
通过配置操作系统的时间同步设置,可以确保系统时间的准确性和一致性。
在Windows系统中,可以通过控制面板中的“日期和时间”设置来进行时间同步。
在Linux系统中,可以通过配置/etc/ntp.conf文件来指定NTP服务器。
总的来说,正确的计算机系统时间提取方法可以帮助我们更好地进行时间管理、数据分析和问题排查。
华北科技学院课程设计说明书课程名称:汇编语言班级: 计算机B08-1 姓名: _邵璐婷 _ 学号:__ 200807014109 设计题目:显示系统当前时间与日期 _ 设计时间: 2009-06-21至2009-07-02指导教师: _ 孟广学 _ _ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:____________一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2.遵循模块化、结构化的程序设计方法。
3.要求程序必须正确。
4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5.要求程序结构合理,语句使用得当。
6.适当追求编程技巧和程序运行效率。
三、课程设计题目:题目:显示系统当前时间与日期要求设计界面提示信息为:“Please input DATE(D) OR TIME(T)OR QUIT(Q):”,从键盘键入“D”,可显示系统日期。
从键盘输入“T”,可显示系统时间。
从键盘输入“Q”,退出程序。
利用DOS的系统功能调用的2AH和2CH功能调用,读取系统日期和时间。
将日期和时间转换为相应的ASCII码字符,显示在屏幕上。
四、课题分析这个题目是显示系统当前时间与日期,这就需要用DOS的2A号功能---取系统日期和2C号功能---取系统时间,以及BIOS的06号功能---清屏或上卷,02号功能---制光标位置。
汇编语言实现实时时钟显示data segmentmsg db 'Current time is: 'hours db ?,?db ':'minutes db ?,?db ':'seconds db ?,?,0oldint1c dd ? ;旧的入口参数position dw 0 ;时间显示位置color db 07hdata endscode segment ;代码段assume cs:code,ds:codestart:mov ax,datamov ds,axjmp runnewint1c: push axpush bxpush cxpush dxpush sipush dipush esmov ax,datamov ds,axmov ax,0200h ;获取系统时间,ch→hours cl→minutes DH→seconds,均为BCD码格式int 1ah ;时钟服务mov al,chlea si,hours ;时call BCDmov al,cllea si,minutes ;分call BCDmov al,dhlea si,seconds ;秒call BCDmov ax,0b800h ;显存地址,采用直接写显存的方法输出字符mov es,ax ;es:di 指向显存地址lea si,position ;设置时间显示位置mov di,[si]lea si,msgdisp: mov al,[si]inc sior al,aljz exitcldstosbinc dijmp dispexit: pop espop dipop sipop dxpop cxpop bxpop axjmp ds:oldint1c ;执行旧的中断服务程序BCD procpush ax ;用于将BCD码转换为ASCII码入口al-BCD码mov ah,al ;出口shr ah,1shr ah,1shr ah,1shr ah,1and al,0fhadd ax,'00' ;加上0的ASCII码xchg ah,almov [si],axpop axretBCD endprun:mov ax,datamov ds,axmov ax,351ch ;获取原1ch的入口参数int 21hmov word ptr ds:oldint1c,bx ;保存旧的入口参数mov word ptr ds:oldint1c+2,espush dspush cspop dslea dx,newint1cmov ax,251ch ;设置新1ch的入口参数int 21hpop dsmov dx,offset run + 10h ;1节=16字节mov cl,4shr dx,cl ;相当于除以16以计算节大小call Control ;调用控制子程序call flashmov ah,31h ;结束并驻留, DX:保留的长度(内存大小单位为节)int 21hControl procpush axpush cxpush bxcall HideCursor ;隐藏光标xor bx,bx ;置0,时间显示位置getkey: mov ah,0 ;获取键盘扫描码int 16hcmp ax,011bh ;esc-011bhjz returncmp ax,4800h ;up-4800hjz upcmp ax,5000h ;down-5000h jz downcmp ax,4b00h ;left-4b00h jz leftcmp ax,4d00h ;right-4d00h jz rightjmp changeColor ;up: cmp bx,160jc getkeysub bx,160jmp changePosdown: add bx,160jmp changePosleft: cmp bx,0jz getkeysub bx,2jmp changePosright: add bx,2changePos: call flashmov ds:position , bxjmp getkeychangeColor:;sub al,30hmov ds:color,ahcall flashjmp getkeyreturn: pop bxpop cxpop axretControl endpflash procpush axpush bxpush cxpush dxmov ah,06h ;AH使用显示服务(INT 10H)的向上卷屏功能(06H)mov al,00h ;AL滚动行数,0为整个窗口mov bh,ds:color ;BH显示页面(本程序均使用第0页)mov ch,0mov cl,0 ;CH,CL窗口左上角坐标mov dh,24mov dl,79 ;DH,DL窗口右下角坐标,因为清全屏所以为(0,0)~(24,79)int 10h ;调用中断pop dxpop cxpop bxpop axretflash endpHideCursor procpush axpush dxpush bxmov ah,02mov dh,24mov dl,00mov bh,00int 10Hpop bxpop dxpop axretHideCursor endpcode endsend start。
学 号:200840410103课 程 设 计汇编语言课程设计任务书题 目显示系统时间日期 教 学 院 计算机学院 专 业 计算机科学与技术 班 级 08级计科(1)班姓名指导教师2010 年 12 月 28 日2010~2011学年第一学期学生姓名:专业班级:2008级科学与技术一班指导教师:工作部门:计算机学院一、设计题目:显示系统日期时间程序设计二、设计目的《显示日期时间程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
1.使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
2.培养学生综合运用所学知识独立完成汇编程序课题的能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
三、设计要求1.组成设计小组。
小组成员分工协作完成。
要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。
2.学生查阅相关资料,自学具体课题中涉及到的新知识,能够按照老师的要求对待设计的系统的程序流程图进行正确地绘制。
3.学生在老师的指导下,能够写出相应的源程序代码,采用结构化、模块化程序设计方法,功能要完善,界面要美观。
4.所设计的系统原则上要能够运行无误,结果准确。
在条件允许的情况下,学生能够最终将系统所要实现的功能演示出来。
四、设计内容显示日期时间程序设计要求完成一个显示系统当前日期和时间的程序,即通过按下键盘上某个按键就可以按预先设定的程序显示系统的日期和时间或者终止程序。
(比如:在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。
)此程序涉及到对DOS和BIOS的常用功能的调用,要求学生掌握使用汇编语言对I/O中断的使用。
五、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。
六、课程设计工作计划2010年12月13日~2010年12月14日,指导教师进行与课题相关的基础知识点讲解;2010年12月15日~2010年12月17日,学生进行分组并选定课程设计题目,教师指导学生根据选定题目准备资料;2010年12月18日~2010年12月19日,设计小组进行总体方案设计和任务分工;2010年12月20日~2010年12月22日,每人完成自己承担的程序模块并通过独立编译;2010年12月23日~2010年12月26日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行以及撰写课程设计报告;2010年12月27日~2010年12月28日,验收、修订课程设计报告、答辩及总结。
教研室主任签字:年月日目录1、概述...................................................... - 1 - 1.1 什么是汇编语言........................................................ - 1 - 1.2 课程设计的目的........................................................ - 2 - 1.3 设计要求.............................................................. - 2 -1.4 总结.................................................................. - 3 -2、总体方案设计.............................................. - 4 - 2.1主程序设计思想....................................................... - 4 - 2.2程序设计思想........................................................... - 4 -2.3 我完成部分模块说明................................................... - 5 -3、详细设计.................................................. - 7 - 3.1 主程序流程图.......................................................... - 7 - 3.2 DATE子程序流程图...................................................... - 9 - 3.3 TIME子程序流程图..................................................... - 9 - 3.4程序清单.............................................................. - 10 - 3.5 运行程序............................................................. - 14 -3.6调试程序.............................................................. - 18 -4、总结..................................................... - 18 -5、谢启..................................................... - 21 -1、概述1.1 什么是汇编语言汇编语言(AssemblyLanguage)是面向机器的程序设计语言。
在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
于是汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。
汇编程序把汇编语言翻译成机器语言的过程称为汇编。
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。
在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。
只是,现在计算机最大的领域为IT软件,也是我们常说的 Windows 编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序是成倍的优秀,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。
汇编语言的特点:1).面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
2).保持了机器语言的优点,具有直接和简捷的特点。
3).可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
4).目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
5).经常与高级语言配合使用,应用十分广泛。
对于不同型号的计算机,有着不同的结构的汇编语言。
汇编语言的应用:1).70%以上的系统软件是用汇编语言编写的。
2).某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。
3).某些高级绘图程序、视频游戏程序是用汇编语言编写的。
汇编语言是我们理解整个计算机系统的最佳起点和最有效途径1.2 课程设计的目的对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力。
使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
1.3 设计要求用户在出现的提示信息中输入大写字母“D ”,马上显示系统当前日期;输入大写字母“T ”,马上显示系统当前时间;输入大写字母“ESC ”,则退出程序。
此程序涉及到宏和I/O中断的调用,要求学生掌握对宏的定义和使用,使用汇编语言对I/O中断的使用。
小组成员分工协作完成。
要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。
学生查阅相关资料,自学具体课题中涉及到的新知识,能够按照老师的要求对待设计的系统的程序流程图进行正确地绘制。