微机原理实验报告—同济大学

上传人:豆浆 文档编号:25752329 上传时间:2017-12-17 格式:DOC 页数:31 大小:748.05KB
返回 下载 相关 举报
微机原理实验报告—同济大学_第1页
第1页 / 共31页
微机原理实验报告—同济大学_第2页
第2页 / 共31页
微机原理实验报告—同济大学_第3页
第3页 / 共31页
微机原理实验报告—同济大学_第4页
第4页 / 共31页
微机原理实验报告—同济大学_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《微机原理实验报告—同济大学》由会员分享,可在线阅读,更多相关《微机原理实验报告—同济大学(31页珍藏版)》请在金锄头文库上搜索。

1、同济大学电子与信息工程学院信息与通信工程系实验报告实验一 显示程序实验1. 实验目的 (1) 掌握在 PC 机上以十六进制形式显示数据的方法。 (2) 掌握部分 DOS 功能调用使用方法。 (3) 熟悉 Tddebug 调试环境和 Turbo Debugger 的使用。 2. 实验设备 PC 微机一台。 3. 实验内容及说明 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过 DOS 功能调用完成一些提示信息的显示。实验中可使用 DOS 功能调用(INT 21H) 。 (1) 显示单个字

2、符输出 入口:AH=02H 调用参数: DL=输出字符 (2) 显示字符串 入口:AH=09H 调用参数: DS:DX=串地址, S为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数: AL=输出字符 (4) 返回 DOS 系统 入口:AH=4CH 调用参数: AL=返回码 4. 实验步骤 (1) 运行 Tddebug 软件,选择 Edit 菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图 2-1-1 示。 (2) 使用 Compile 菜单中的 Compile 和 Link 对实验程序进行汇编、连接。 (3) 使用 Rmrun 菜单中的 Run,运行程序,观

3、察运行结果。 (4) 使用 Rmrun 菜单中的 Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,考察程序的正确性。 图 1 显示程序实验流程图5. 实验程序 ;显示程序实验STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENT USE16MES DB Press any key to exit!,0AH,0DH,0AH,0DH,$MES1 DB Show a as hex:,0AH,0DH,$SD DB aDATA ENDSCODE SEGMENT USE16ASSUME

4、 CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES ;显示退出提示MOV AH,09HINT 21HMOV DX,OFFSET MES1 ;show messageMOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:SIAND AL,0F0H ;取高 4 位SHRAL,4CMP AL,0AH ;是否是 A 以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HMOV AL,DS:SIAND AL

5、,0FH ;取低 4 位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HKEY: MOV AH,1 ;判断是否有按键按下?INT 16H JZ KEYMOV AX,4C00H ;go back to dosINT 21HCODE ENDSEND START6. 实验结果:a 的十六进制数表示为 3D。7. 实验小结 初步了解掌握部分 DOS 功能调用使用方法。 并且熟悉Tddebug 调试环境和 Turbo Debugger 的使用。实验二 数码转换程序实验1. 实验目的 掌握不

6、同进制数及编码相互转换的程序设计方法。 2. 实验设备 PC 微机一台。 3. 实验内容及说明 计算机输入设备输入的信息一般是由 ASCII 码或 BCD 码表示的数据或字符,CPU 一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为 ASCII 码、BCD 码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图 2-3-1 所示,数码对应关系如表 2-3-1 所示。 图 1 计算机与外设间的数码转换关系(1) 将 ASCII 码表示的十进制数转换为二进制数 十进制数可以表示为: ,其中10010ninniiD

7、DDi代表十进制数 1、2、3 9、0。 上式可转换为: 12100 0nii nnni D 由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位 Dn开始作乘 10 加次位的操作,依次迭代类推,则可求出二进制数结果。 本实验要求将缓冲区中的一个五位十进制数 00012 的 ASCII 码转换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图 2 所示。 表 1 数码转换对应关系图 2 十进制 ASCII 转换为二进制数参考流程;A2-1.asm;将 ASCII 码十进制数转换为二进制数STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDS

8、DDATA SEGMENTMES1 DB The ascii code of decimal code are:$BUF DB 30H,30H,30H,31H,32HDB 10H DUP(0)DDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOV AX,DDATAMOV DS,AXMOV SI,OFFSET BUFMOV BX,000AHMOV CX,0004HMOV AH,00HMOV AL,SISUB AL,30HA1: IMUL BXADD AL,SI+01 ( ADC AL,SI+01SUB AL,30H JNC A2ADD AH

9、, 01HA2:SUB AL , 30H) INC SILOOP A1MOV SI,AXMOV DX,OFFSET MES1MOV AH,09HINT 21HINC SI ;显示高字节CALL SHOWDEC SI ;显示低字节CALL SHOWMOV AX,4C00HINT 21HSHOW PROC NEARMOV AL,DS:SIAND AL,0F0H ;取高 4 位SHR AL,4CMP AL,0AH ;是否是 A 以上的数JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02HINT 21HMOV AL,D

10、S:SIAND AL,0FH ;取低 4 位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HRETENDPCODE ENDSEND START(2) 将十进制数的 ASCII 码转换为 BCD 码 本实验要求将键盘输入的一个五位十进制数 54321 的 ASC码存放在数据区中,转换为 BCD 码后 ,并将转换结果按位分别显示于屏幕上 。若输入的不是十进制数的 ASC码,则输出 “FF”。提示:一字节 ASC码取其低四位即变为 BCD 码。转换部分的实验流程参见图 3。 图 3 十

11、进制 ASCII 转换为 BCD 码数参考流程;A2-2.asm;将十进制数的 ASCII 码转换为 BCD 码STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDDATA SEGMENTMES1 DBThe BCD code of decimal are:$BUF DB 31H,32H,33H,34H,35HDB 10H DUP(0)DDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOV AX,DDATAMOV DS,AXMOV CX,0005HMOV DI,OFFSET BUFA1: MOV BL

12、,0FFHMOV AL,DICMP AL,3AH ;比较 AL 中的数是否是 09 的;ASCII 码JNB A2SUB AL,30H JB A2MOV BL,ALA2: MOV AL,BLMOV DI+05H,ALINC DILOOP A1MOV SI,DIMOV CX,05HMOV DX,OFFSET MES1MOV AH,09HINT 21HA3: CALL SHOWMOV DL,20HMOV AH,02HINT 21HINC SILOOP A3MOV AX,4C00HINT 21HSHOW PROC NEARMOV AL,DS:SIAND AL,0F0H ;取高 4 位SHR AL,4

13、CMP AL,0AH ;是否是 A 以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HMOV AL,DS:SIAND AL,0FH ;取低 4 位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HRET ENDPCODE ENDSEND START附:括号内的为更改后的程序。 4. 实验步骤 (1) 运行 Tddebug 软件,选择 Edit 菜单,根据实验内容描述的数码转换内容分

14、别编写实验程序。 (2) 利用 Compile 菜单中的 Compile 和 Link 对实验程序进行汇编、连接。(3) 利用 Rmrun 菜单中的 Run,运行程序,观察运行结果。 (4) 使用 Rmrun 菜单中的 Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 更改数据区中的数据,考察程序的正确性。5. 实验结果 (1)30H,30H,30H,31H,32H000C30H,30H,30H,31H,32H00FF30H,30H,30H,31H,32H0100(2)01 02 03 04 056. 实验小结 本次实验使我对编码转换的程序有了进一步的掌握。实

15、验三 循环程序设计实验1. 实验目的掌握循环程序的设计方法。2. 实验设备PC 微机一台。3. 实验内容及说明一个循环程序通常由以下几个部分组成:1) 循环初始化部分:用于对相关内存单元及寄存器设置初始值,如设置地址指针、循环次数、某些标志位等。只有正确地进行了初始化设置,循环程序才能正确运行并及时停止。2) 循环体:对要求重复执行的程序段部分,对应于要求重复执行的操作。3) 循环控制部分:为下一轮处理修正地址指针及循环次数等,并判断循环结束的条件是否满足,若满足则退出循环。4) 循环结束部分:用于保存循环运行的结果等。(1) 编写程序完成对 10 个数的求和分析:需分配空间保存和数(SUM) ,在循环体中进行求和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号