




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告一、实验目的汇编语言程序设计是计算机专业的重要的专业基础课,通过本综合性、设计性实验使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。二、实验要求编写一个程序,让红心和严在(0,0)到(140,140)的斜线上移动。时钟的常驻内存程序,要求:右上角显示时分秒。三、实验原理分析1、INT 10H 是一个中断向量,是由 BIOS 对屏幕及显示器所提供的服务程序。2、先在数据段定义好“心”的图形,代码段选定坐标,调用显示子程序显示在桌面上。3、将时间数值转换成ASCII码字符4、设置显示方式为40*25彩色文本方式开始5、MOV AH,2CH 取系统时间四、流程图退出时间显示?显示时间初始化屏幕 Y N初始化动画起点坐标、颜色显示图像是否到达终点 改变图像坐标 否 是结束五、源程序(加必要注释)和程序运行时的截屏STACK SEGMENT STACK DW 200 DUP (?)STACK ENDSDATA SEGMENT SPACE DB 1000 DUP ( ) PATTERN DB 24 DUP ( ),0C9H,8 DUP (0CDH),0BBH,6 DUP ( ) DB 24 DUP ( ),0BAH,8 DUP (20H),0BAH,6 DUP ( ) DB 24 DUP ( ),0C8H,8 DUP (0CDH),0BCH,6 DUP ( ) DBUFFER DB 8 DUP (:),12 DUP ( ) DBUFFER1 DB 20 DUP ( ) STR DB 0DH,0AH, INPUT Q TO QUIT!$ DELAY1 DW 0 ;延迟时间设置 DELAY2 DW 0 COLOUR DB 0 ;颜色设置 S_MOV DB 0 ;擦出或画图方式选择 LINE DW 0 ;行号 ROW DW 0 ;列号 PIX DB 0 ;颜色 XX DW 0 ;坐标(xx,yy) YY DW 0 ; Y_NUM DW 0 ;行数 L_NUM DW 0 ;行数 R_NUM DW 0 ;列数 P1 DB 0,0,00H ,00H ,00H ,00H ,0FH ,00H ,0F0H ,01H ,0FH ,00H ,0F0H ,03H ,0FH ,00H ,0F0H ,07H ;图形“严” DB 0FH ,30H ,0F0H,0EH ,0FH ,38H ,0F0H ,1CH ,0FH ,1CH ,0FFH ,0F8H ,0FH ,0EH ,0FFH ,0F0H DB 0FH ,0FFH,0FFH,0E0H ,0FH ,0FFH,0F0H ,00H ,0FH ,0FFH,0F0H ,00H ,0FH ,00H ,0F0H ,000H DB 0FH ,00H ,0F0H,00H ,0FH ,00H ,0F0H ,00H ,0FH ,00H ,0F0H ,00H ,0FH ,00H ,0F0H ,00H DB 0FH ,00H ,0F0H,00H ,0FH ,00H ,0F0H ,00H ,0FH ,0FFH,0F0H ,00H ,0FH ,0FFH,0F0H ,00H DB 0FH ,0FFH,0F0H,00H ,0FH ,0EH ,0F0H ,00H ,0FH ,1CH ,0F0H ,00H ,0FH ,38H ,0F0H ,00H DB 0FH ,30H ,0F0H,00H ,0FH ,00H ,0F0H ,00H ,0FH ,00H ,0F0H ,0H ,0FH ,00H ,0F0H ,00H DB 00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H P2 DB 0,0,00H , 00H , 00H , 00H ,00H , 0FH , 00H , 00H ,00H ,03FH ,0C0H , 00H ,00H ,0FFH ,0F0H ,00H ;图形“心” DB 01H ,0FFH ,0F8H , 00H ,03H ,0FFH ,0FCH , 00H ,07H ,0FFH ,0FEH , 00H ,0FH ,0FFH ,0FFH ,00H DB 0FH ,0FFH ,0FFH , 80H ,0FH ,0FFH ,0FFH ,0C0H ,07H ,0FFH ,0FFH ,0E0H ,03H ,0FFH ,0FFH ,0F0H DB 01H ,0FFH ,0FFH ,0F8H ,00H ,0FFH ,0FFH ,0FCH ,00H , 7FH ,0FFH ,0FEH ,00H , 3FH ,0FFH ,0FFH DB 00H , 1FH ,0FFH ,0FFH ,00H , 3FH ,0FFH ,0FFH ,00H , 7FH ,0FFH ,0FEH ,00H ,0FFH ,0FFH ,0FCH DB 01H ,0FFH ,0FFH ,0F8H ,03H ,0FFH ,0FFH ,0F0H ,07H ,0FFH ,0FFH ,0E0H ,0FH ,0FFH ,0FFH ,0C0H DB 0FH ,0FFH ,0FFH , 80H ,0FH ,0FFH ,0FFH , 00H ,07H ,0FFH ,0FEH , 00H ,03H ,0FFH ,0FCH ,00H DB 01H ,0FFH ,0F8H , 00H ,00H ,0FFH ,0F0H , 00H ,00H ,03FH ,0C0H , 00H ,00H , 0FH , 00H ,00H DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,0001H ;设置显示方式为40*25彩色文本方式 INT 10H MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0300H MOV CX,1000 MOV BX,0030H MOV AX,1300H INT 10H MOV BP,OFFSET PATTERN ;显示矩形条 MOV DX,0300H MOV CX,120 MOV BX,002EH MOV AX,1301H INT 10H LEA DX,STR ;显示提示信息 MOV AH,9 INT 21H CALL TIME ;显示系统时间 EXIT: MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,51H ;AL=Q? JNE EXIT CALL INIT_WORD CALL W_END MOV AH,4CH ;返回dos状态 INT 21HTIME PROC NEAR ;显示时间子程序DISPLAY1:MOV SI,0 MOV BX,100 DIV BL MOV AH,2CH ;取时间 INT 21H MOV AL,CH CALL BCDASC ;将时间数值转换成ASCII码字符 INC SI MOV AL,CL CALL BCDASC INC SI MOV AL,DH CALL BCDASC MOV BP,OFFSET DBUFFER MOV DX,0419H MOV CX,8 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018HRE: MOV CX,0FFFFHREA: LOOP REA DEC BX JNZ RE MOV AH,01H INT 16H JE DISPLAY1 JMP EXIT MOV AX,4C00H INT 21H RETTIME ENDPBCDASC PROC NEAR ;时间数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,0 MOV DBUFFERSI,AL INC SI ADD AH,0 MOV DBUFFERSI,AH INC SI POP BX RETBCDASC ENDPINIT_WORD PROC NEAR ;初始化屏幕 MOV AH,0 MOV AL,5H INT 10H MOV AH,0BH MOV BH,01H MOV BL,0 INT 10H RET INIT_WORD ENDP W_END PROC NEAR ;让“心”和“严”分别从两侧向中间靠拢 MOV R_NUM,4 MOV L_NUM,4 MOV COLOUR,2;颜色为红 MOV AX,0 K1: MOV XX,0 MOV YY,0 ADD XX,AX ADD YY,AX MOV DI,OFFSET P2 MOV S_MOV,1 CALL DISP MOV XX,310 MOV YY,0 SUB XX,AX ADD YY,AX MOV DI,OFFSET P1 MOV S_MOV,1 CALL DISP MOV DELAY1,100 MOV DELAY2,100 CALL DELAY INC AX CMP AX,140 JZ K2 JMP K1 K2: RET W_END ENDP DISP PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI MOV SI,R_NUM mov cl,3 SAL SI,cl MOV ROW,0 MOV Y_NUM,0 GO: MOV Y_NUM,0 L1: MOV LINE,0 ADD DI,1 MOV BX,DI L2: SAL BX,1 JNC L3 ;CF=0,跳转 CMP S_MOV,0 JZ L3 MOV AL,COLOUR MOV PIX,AL JMP L4 L3: MOV PIX,0 L4: MOV DX,YY ADD DX,LINE MOV CX,Y_NUM CMP Y_NUM,0 JZ L6 L5: ADD DX,8 LOOP L5 L6: MOV CX,XX ADD CX,ROW MOV AH,0CH MOV AL,PIX INT 10H INC LINE CMP LINE,8 JNZ L2 INC Y_NUM MOV AX,L_NUM CMP Y_NUM,AX JNZ L1 INC ROW CMP ROW,SI JNZ GO POP SI POP DX POP CX POP BX POP AX RET DISP ENDP DELAY PROC NEAR PUSH CX PUSH DX MOV DX,DELAY1 D11: MOV CX,DELAY2 D12: LOOP D12 DEC DX JNZ D11 POP DX POP CX RET DELAY ENDPCODE ENDS END START 这是时间显示器,输入大写字母“Q”退出后是动画。因为“心”和“严”图形是全屏的,无法截屏,大概运行情况如下(win7不能全屏)* * * * * * * * * * * * * * * * * * * * * * * 两个图形同时向中下方移动,靠拢后结束,退出程序六、体会通过这次汇编语言的综合性课程设计,我觉得自己真的学到了不少的东西,加深了自己以前没掌握的知识,还学到不少的新知识。通过课程设计的编程和对编程过程中遇到的问题的思考,确实有效地提高了我对编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃甘南州专业化管理的村党组织书记招聘45人笔试备考试题及参考答案详解一套
- 2024-2025学年广播电视编辑记者综合提升测试卷及参考答案详解【基础题】
- 2024-2025学年燃气职业技能鉴定模拟题库含答案详解(综合题)
- 2023年度档案管理职称题库及答案详解(名师系列)
- 2025年度生态环境部松辽流域生态环境监督管理局生态环境监测与科考前自测高频考点模拟试题及参考答案详解
- 2025年浙江省湖州市市级医疗卫生单位招聘事业编制卫生人才97人笔试高频难、易错点备考题库带答案详解
- 2024-2025学年度公务员(国考)考前冲刺试卷【A卷】附答案详解
- 全国统考教师资格考试《教育教学知识与能力(小学)》考前冲刺测试卷及完整答案详解【名师系列】
- 2025年法律职业资格考试模考模拟试题附答案详解【培优B卷】
- 考点解析公务员考试《常识》定向攻克练习题(含答案详解)
- 2025年宪法知识竞赛全套题库及答案(共150题)
- 特种设备安全风险管控清单
- 2025年体育与健康初中学业水平考试体育综合知识考试题库(附答案)
- 电子版全国普通高等学校毕业生就业协议书模板
- 设备事故培训课件
- 人武专干考试题型及答案
- 岐黄天使中医药理论和中医护理技术专项培训考核答案
- 《体育新课程标准》课件
- 2024装配式碳纤维增强免拆底模钢筋桁架楼承板建筑构造
- 伤口的营养治疗
- 文化传媒公司抖音代运营合同
评论
0/150
提交评论