已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁工程技术大学上机实验报告成绩课程名称计算机硬件基础实验题目综合程序设计(一)院系软件学院专业软件工程班级10-03班姓名章睿学号1020010331实验日期2012-11-01实验目的 1熟练掌握子程序的结构。 2掌握子程序设计的思想、方法及上机调试过程。 3熟练掌握系统功能调用的作用。 4掌握系统功能调用的思想、方法。实验准备 18086/8088汇编语言指令及伪指令的用法 2子程序设计的思想和方法 3DOS和BIOS中断调用是机器及操作系统提供的中断调用功能 4DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、目录管理和文件管理三个方面的功能实验进度本次共有 2 个练习,完成 2 个。实验内容【练习1】编写主程序调用一个过程,实现将两个非压缩BCD码转换为一个压缩BCD码,并用字符显示功能和字符串显示功能完成在屏幕上显示一个字符串“Hello World!”的功能。(1) 实现方法数据段中定义3个八位字节型存储单元分别为X、Y、Z,其中X、Y为非压缩BCD码,将它们压缩后存入Z单元为压缩BCD码。再在数据段中定义一个字符串STRING,“Hello World!”实验内容(续)(2) 程序代码DATA SEGMENT X DB ? Y DB ? Z DB ? STRING DB Hello World!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART : MOV AX,DATA MOV DS,AX MOV CL,4 CALL BCD MOV DX,OFFSET STRING MOV AH,09H INT 21H MOV AH,4CH INT 21HBCD PROC PUSH DS PUSH AX MOV AL,X MOV DL,Y SHL AL,CL ADD DL,AL MOV Z,DL POP AX POP DS RETBCD ENDP DATA ENDS END START 【练习2】在内存建立一个表TABLE,其中存放20个字节型无符号数,从键盘输入一个数X(一位数),查找该数X在TABLE中是否存在,若存在,则在RESULT单元存入1,否则存入-1。(1)实现方法 数据段中定义一个字节型存储单元分别为X,其起始地址指向2000H,定义一个字节型数据表格TABLE,存储20个字节单元,每个单元存入一实验内容(续)个字节数,其起始地址指向2010H,定义一个字节型数据单元RESULT,用于存入最后运算结果(3) 程序代码STACK SEGMENT STACK DB 64 DUP(?)STACK ENDSDATA SEGMENT ORG 2000H X DB ? ORG 2010H TABLE DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ORG 2030H RESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV SI,OFFSET X MOV AH,01H INT 21H SUB AL,30H MOV SI,AL LEA BX,TABLE MOV CX,20SELECT: MOV AL,SI CMP AL,BX JNZ NEXT MOV DL,1 MOV RESULT,DL JMP EXITNEXT :INC BX LOOP SELECT MOV DL,-1 MOV RESULT,DLEXIT :MOV AH,4CH INT 21HCODE ENDS END START实验分析【练习1】(1)该源程序取名bcd.ASM,通过汇编、连接后生成可执行文件bcd.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察上面数据可得起始地址为1809,接下来我用-E命令来对内存中的数据X,Y进行修改赋值,并运行,查看结果对X、Y分别赋值02H,03H,运算的出来的结果为Z:23H,且在输入运行指令-G后,运行输出字符串“Hello World!”实验分析日【练习2】(1) 该源程序取名table.ASM,通过汇编、连接后生成可执行文件table.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察上面数据可得起始数据段地址为1471,X的起始地址为2000H,TABLE的起始地址为2010H,RESULT的起始地址为2030H,接下来输入运行指令-G,等待从键盘输入一位数字:实验分析(续)我分别输入1,0,当我输入1时,如上图所示,查询运行结果,得1在表格中,输出结果1存入RESULT中。当我输入0时,如下图所示,查询运行结果,得0不在表格中,输出-1,十六进制表示为FF,存入RESULT中实验总结【练习1】1 存在的问题 在数据段定义字符串时要以$结尾,不然无法输出字符串,在输出字符串的时候需要直接调用“mov ah,09h int 21h”,不然无法在运行之后输出字符串。2 实验结论 功能号不同对应调用不同的功能,在最后程序结束必须需要有一个返回dos状态的功能调用语句“mov ah,4ch int 21h”3 收获和体会 通过对字符串输出的定义,初步了解掌握一些dos系统调用功能的运用,虽然距离灵活运用相差很远,但是多多练习会更好地掌握!【练习2】1 存在的问题 对于从键盘读入一个十进制数,但这个数是以ASCALL码的形式存入内存的,需要在运算时减去30H来实现对相对应数的转换,以达到自己想要形式来参与运算,那个从键盘读入一个数的dos系统功能调用是将读入的数直接存入AL中,而不是存入其它存储单元,所以运算时必须要将其数据从AL中提取出来实验总结(续
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店员工合同范本模板
- 礼服闲置收购合同范本
- 演出赞助协议合同范本
- 美容店长聘用合同范本
- 数学沪科版19.2 平行四边形教学设计
- 物业小改工程合同范本
- 滋补药品买卖协议合同
- 2. Flood!教学设计-2025-2026学年小学英语6b典范英语(Good English)
- 社保委托代理合同范本
- 物业出租楼梯合同范本
- 幼儿心理咨询室创业计划书
- 2025年少先队辅导员技能大赛考试测试题及参考答案(共四套)
- 2025湖南常德金鹏印务有限公司招聘拟录用人员笔试历年典型考点题库附带答案详解2套试卷
- 停车棚建设合同范本
- (2025年)烟花爆竹储存特种作业证考试题库(及答案)
- 2025高中英语3500词汇必背手册乱序版
- CQI-9 第四版 热处理系统审核表中文完整版-
- JT-T-325-2018营运客运类型划分及等级评定
- 高中数学 对数函数的概念(第一课时)课件
- 中药方剂学课件.ppt
- 船舶航次安全风险评估管理须知制度
评论
0/150
提交评论