ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:37.01KB ,
资源ID:24751045      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24751045.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术实验教案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、微机原理与接口技术实验教案微机原理与接口技术实验讲义物理与电子工程学院罗长更显示程序实验 3数据传送实验 5运算类程序实验 6分支程序设计实验 17循环程序设计实验 20综合程序设计实验 22显示程序实验实验目的(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) 更改数据区中的数据,检查程序的正确性。 参考程序清单 DATA SEGMENT MES DB Show a as hex:,0AH,0DH,$ SD DB a DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES ;显示提示信息 MOV AH,09H INT 21H MOV DI,OFFSET SD MOV AL,DS:DI AND AL,0F0H ;取高4位 SHR AL,4

4、 图1 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07HC2: ADD AL,30H MOV DL,AL ;显示字符 MOV 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 CODE ENDS END START 数据传送实验 实验目的 (1) 熟悉Tdpit集成环境和调试器的使用。 (2) 掌握与数据有关的不同寻址方

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

6、XDA SEGMENT ;定义附加数据段 MSD DB LEN DUP(?) EXDA ENDS MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK ENDS CODE SEGMENT ;定义代码段 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,LEN NEXT:MOV AL

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

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

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

10、3+15=64=82 若要做S的开方运算,那麽就可以从S中逐次减去自然数中的奇数1,3,5,7,一直进行到相减数为0或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,它就是S的近似平方根。 本实验要求利用减奇法计算0040H的开平方值,并将运算结果显示在屏幕上。 实验步骤 (1) 运行Tdpit软件,选择文件菜单进行实验程序的编写。 (2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,考察

11、程序的正确性。 参考程序两个字节数据相加STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$X DB 03HY DB 05HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,00H MOV SI,OFFSET X MOV AL,SI ADD AL,SI+01H AND AL,0FH MOV BL,AL MOV DX,OFFSET MES1 MOV AH,09H INT 21H

12、MOV AX,BX CALL SHOW MOV AX,4C00H INT 21H SHOW PROC NEAR MOV AL,BL AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H MOV AL,BL AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT

13、 21H RET ENDP CODE ENDS END START;A4-1.asm;二进制双精度加法运算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$XL DW 65A0HXH DW 0015HYL DW 0B79EHYH DW 0021HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV AX,XL A

14、DD AX,YL MOV BX,AX MOV AX,XH ADC AX,YH PUSH BX CALL SHWORD POP BX MOV AX,BX CALL SHWORD MOV AX,4C00H INT 21HSHWORD PROC NEAR MOV BL,AH CALL SHOW MOV BL,AL CALL SHOW RET ENDP SHOW PROC NEAR PUSH AX PUSH DX MOV AL,BL AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV D

15、L,AL ;show character MOV AH,02H INT 21H MOV AL,BL AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H POP DX POP AX RET ENDP CODE ENDS END START;A4-2.asm;十进制数的BCD码减法运算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$X

16、 DW 0400HY DW 0102HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,00H SAHF MOV SI,OFFSET X MOV AL,SI SBB AL,SI+02H DAS PUSHF AND AL,0FH POPF MOV BL,AL INC SI MOV AL,SI SBB AL,SI+02H DAS PUSHF AND AL,0FH POPF MOV BH,AL MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV AX,BX

17、CALL SHWORD MOV AX,4C00H INT 21HSHWORD PROC NEAR MOV BL,AH CALL SHOW MOV BL,AL CALL SHOW RET ENDP SHOW PROC NEAR PUSH AX PUSH DX MOV AL,BL AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H MOV AL,BL AND AL,0FH ;取低4位 CMP AL,0A

18、H JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H POP DX POP AX RET ENDP CODE ENDS END START;A4-3.asm;乘法运算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES1 DB The result is:$ERRMES DB Error exist!$DATA1 DB 00H,02H,03H,04H,05HDATA2 DB 03HRESULT DB 06H DUP(0)DAT

19、A ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DATA2 MOV BL,SI AND BL,0FH CMP BL,09H JNC ERROR MOV SI,OFFSET DATA1 MOV DI,OFFSET RESULT MOV CX,0005HA1: MOV AL,SI+04H AND AL,0FH CMP AL,09H JNC ERROR DEC SI MUL BL AAM ADD AL,DI+05H AAA MOV DI+05H,AL DEC DI MOV DI

20、+05H,AH LOOP A1 MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV CX,06H MOV SI,OFFSET RESULTA2: CALL SHOW MOV DL,20H MOV AH,02H INT 21H INC SI LOOP A2 MOV AX,4C00H INT 21HERROR: MOV DX,OFFSET ERRMES MOV AH,09H INT 21H MOV AX,4C00H INT 21HSHOW PROC NEAR MOV AL,DS:SI AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否

21、是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H MOV AL,DS:SI AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H RET ENDP CODE ENDS END START ;A4-4.asm;用减奇法开平方运算STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDDATA

22、SEGMENTMES1 DB The square root of $MES2 DB is:$NUMB DW 0040HDDATA ENDSCODE SEGMENT ASSUME CS: CODE,DS:DDATA START: MOV AX,DDATA MOV DS,AX MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV SI,OFFSET NUMB MOV AX,SI CALL SHWORD MOV DX,OFFSET MES2 MOV AH,09H INT 21H MOV AX,SI MOV CL,00H MOV DX,0001HA1: SUB AX,D

23、X JB A2 INC CL ADD DX,02H JMP A1A2: MOV BL,CL CALL SHOW MOV AX,4C00H INT 21H SHWORD PROC NEAR MOV BL,AH CALL SHOW MOV BL,AL CALL SHOW RET ENDP SHOW PROC NEAR PUSH AX PUSH DX MOV AL,BL AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;show character MOV AH,02H

24、 INT 21H MOV AL,BL AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H POP DX POP AX RET ENDP CODE ENDS END START 分支程序设计实验实验目的 掌握分支程序的设计方法。 实验内容及说明 程序有顺序、循环、分支和子程序四种结构形式,分支结构的示意图如图1所示。本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。 图1 图2实验可以使用BH,BL作为暂存现行的最大值

25、和最小值,且在程序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容大或比BL中的内容小,则修改之。当循环结束操作时,将BH,BL分别送屏幕显示。参考实验流程如图2所示。实验步骤 (1) 运行Tdpit软件,选择文件菜单编写实验程序;提供8字节的数据:0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。 (2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 更改数据区中的数据,考察程序的正确性

26、。 参考程序;A5.asm;分支程序设计实验STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDDATA SEGMENTMES1 DB The least number is:$MES2 DB 0AH,0DH,The largest number is:$NUMB DB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATASTART: MOV AX,DDATA MOV DS,AX MOV SI,OFFSET NUMB MOV CX,0008H J

27、CXZ A4 MOV BH,SI MOV BL,BHA1: LODSB ;AL=DS:SI,SI=SI+1 CMP AL,BH JBE A2 MOV BH,AL JMP A3A2: CMP AL,BL JAE A3 MOV BL,ALA3: LOOP A1A4: MOV DX,OFFSET MES1 ;show mes1 MOV AH,09H INT 21H MOV AL,BL ;show the least number AND AL,0F0H ;get the highest 4 bits SHR AL,4 CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30

28、H MOV DL,AL ;show character MOV AH,02H INT 21H MOV AL,BL AND AL,0FH ;get the lowest 4 bits CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H MOV DX,OFFSET MES2 ;show mes2 MOV AH,09H INT 21H MOV AL,BH ;show the largest number AND AL,0F0H ;get the highest 4 bits SHR AL,4 CMP AL,0AH JB C22 ADD AL,07H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1