微机原理与接口技术实验教案.doc

上传人:sk****8 文档编号:2240051 上传时间:2019-05-02 格式:DOC 页数:29 大小:430KB
下载 相关 举报
微机原理与接口技术实验教案.doc_第1页
第1页 / 共29页
微机原理与接口技术实验教案.doc_第2页
第2页 / 共29页
微机原理与接口技术实验教案.doc_第3页
第3页 / 共29页
微机原理与接口技术实验教案.doc_第4页
第4页 / 共29页
微机原理与接口技术实验教案.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、1微机原理与接口技术实验讲义物理与电子工程学院罗长更2显示程序实验 3数据传送实验 5运算类程序实验 6分支程序设计实验 17循环程序设计实验 20综合程序设计实验 223显示程序实验实验目的(1) 掌握在 PC 机上以十六进制形式显示数据的方法。(2) 掌握部分 DOS 功能调用使用方法。(3) 熟悉 Tdpit 集成环境和调试器的使用。实验内容及说明 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过 DOS 功能调用完成一些提示信息的显示。实验中可使用 DOS 功能调用(INT 2

2、1H)。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,$为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数:AL=输出字符 (4) 返回 DOS 系统 入口:AH=4CH 调用参数:AL=返回码 实验步骤 (1) 运行 Tdpit 软件,选择文件菜单,点击新建,进入一个源文件编辑界面。根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图 1 所示。 (2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4)

3、使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,检查程序的正确性。 参考程序清单 DATASEGMENT MES DB Show a as hex:,0AH,0DH,$ SD DB a DATAENDS CODESEGMENT ASSUME CS:CODE,DS:DATA 29START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES ;显示提示信息 MOV AH,09HINT 21HMOV DI,OFFSET SD MOV AL,DS:DI AND AL,0F0H ;取高 4 位 SHR

4、 AL,4 图 1CMP AL,0AH ;是否是 A 以上的数 JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;显示字符 1MOV AH,02H INT 21H MOV AL,DS:DI AND AL,0FH ;取低 4 位 CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AX,4C00H ;返回 DOS INT 21H CODEENDS END START 数据传送实验实验目的 (1) 熟悉 Tdpit 集成环境和调试器的使用。 (2) 掌握与数

5、据有关的不同寻址方式。 实验内容 本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。实验步骤 (1) 运行 Tdpit 软件,选择文件菜单,点击新建进行实验程序的编写。 (2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,考察程序的正确性。 参考程序:DDATA SEGMENT ;定义源数据段 MSR DB “HELLO,WORLD!$“ LEN EQU $- MSR

6、 DDATA ENDS EXDASEGMENT ;定义附加数据段 MSD DB LEN DUP(?) 1EXDAENDS MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK ENDS CODESEGMENT ;定义代码段 ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA MOV DS,AX ;装载数据段寄存器 MOV AX,EXDA MOV ES,AX ;装载附加数据段寄存器 MOV SI,OFFSET MSR ;设置 SI MOV DI,OFFSET MSD ;设置 DI MOV CX,LE

7、N NEXT:MOV AL,SI ;开始传输数据 MOV ES:DI,AL INC SI INC DIDEC CX JNZ NEXT PUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器 MOV DX,OFFSET MSDMOV AH,9 INT 21H MOV AX,4C00H ;利用 DOS 功能调用返回 DOS 状态 INT 21H CODEENDS END START 将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示: MOV BX,0 MOV CX,LEN NEXT: MOV AL,MSRBX MOV ES:MSDBX,AL INC BX LOOP N

8、EXT 运算类程序实验实验目的 (1) 掌握运算类指令编程及调试方法。 1(2) 掌握运算类指令对各状态标志位的影响及测试方法。 实验内容及说明 80x86 指令系统提供了实现加、减、乘、除运算的基本指令,可对表 1所示的数据类型进行算术运算。 表 11二进制双精度加法运算 本实验要求计算 X+Y=Z,将结果 Z 输出到屏幕,其中X=001565A0H,Y=0021B79EH。 实验利用累加器 AX,先求低十六位和,并存入低址存储单元,后求高 16 位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用 ADC 指令,则低位相加有进位时,CF=1,高位字相加时,同时加上C

9、F 中的 1。在 80386 以上微机中可以直接使用 32 位寄存器和 32 位加法指令完成本实验的功能。 2十进制数的 BCD 码减法运算 本实验要求计算 X-Y=Z,其中,X、Y、Z 为 BCD 码,其中X=0400H,Y=0102H。 3乘法运算 本实验要求实现十进制数的乘法,被乘数和乘数均以 BCD 码形式存放于内存中,被乘数为 54320H,乘数为 3H,运算结束后,将乘积在屏幕上显示。 4用减奇数开平方运算 80x86 指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。用减奇数法可求得近似平方根,获得平方根的整数部分。我们知道,N 个自然数中的奇数之和等于

10、 N2,即: 1+3+5=9=32 1+3+5+7=16=42 1+3+5+7+9+11+13+15=64=82 若要做 S 的开方运算,那麽就可以从 S 中逐次减去自然数中的奇数1,3,5,7,一直进行到相减数为 0 或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,它就是 S 的近似平方根。 本实验要求利用减奇法计算 0040H 的开平方值,并将运算结果显示在屏幕上。 实验步骤 (1) 运行 Tdpit 软件,选择文件菜单进行实验程序的编写。 1(2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译

11、菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,考察程序的正确性。 参考程序两个字节数据相加STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$X DB 03HY DB 05HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AH,00H MOV SI,OFFSET XMOV AL,SIADD AL,SI+01H AND AL,

12、0FH MOV BL,AL MOV DX,OFFSET MES1MOV AH,09HINT 21HMOV AX,BXCALL SHOWMOV AX,4C00HINT 21H SHOW PROC NEAR MOV AL,BL1AND AL,0F0H ;取高 4 位SHR AL,4CMP AL,0AH ;是否是 A 以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;取低 4 位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HM

13、OV DL,AL ;show character MOV AH,02HINT 21H RETENDPCODE ENDSEND START;A4-1.asm;二进制双精度加法运算STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$XL DW 65A0HXH DW 0015HYL DW 0B79EHYH DW 0021HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA1START: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES

14、1MOV AH,09HINT 21HMOV AX,XLADD AX,YLMOV BX,AXMOV AX,XHADC AX,YHPUSH BXCALL SHWORDPOP BXMOV AX,BXCALL SHWORDMOV AX,4C00HINT 21HSHWORD PROC NEARMOV BL,AHCALL SHOWMOV BL,ALCALL SHOWRETENDPSHOW PROC NEARPUSH AXPUSH DXMOV AL,BLAND AL,0F0H ;取高 4 位SHR AL,4CMP AL,0AH ;是否是 A 以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;show character MOV AH,02HINT 21HMOV AL,BL

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

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。