微机原理实验指导书_智能

上传人:xzh****18 文档编号:35514027 上传时间:2018-03-16 格式:DOC 页数:26 大小:436.37KB
返回 下载 相关 举报
微机原理实验指导书_智能_第1页
第1页 / 共26页
微机原理实验指导书_智能_第2页
第2页 / 共26页
微机原理实验指导书_智能_第3页
第3页 / 共26页
微机原理实验指导书_智能_第4页
第4页 / 共26页
微机原理实验指导书_智能_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《微机原理实验指导书_智能》由会员分享,可在线阅读,更多相关《微机原理实验指导书_智能(26页珍藏版)》请在金锄头文库上搜索。

1、1实验一实验一 系统认识、数码转换、运算编程实验系统认识、数码转换、运算编程实验一、实验目的一、实验目的 1掌握 TDN86/88 教学系统的基本操作。 2学习数码转换的程序设计方法; 3学习运算编程方法。二、实验设备二、实验设备 1PC 机一台; 2TDN86/88 教学实验系统一台。三、实验内容及步骤三、实验内容及步骤1 1系统认识实验系统认识实验从 3500H 内存单元开始建立 0-15 共 16 个数据。 实验程序如下: STACK1 SEGMENT STACK ;8088 宏汇编程序DW 64 DUP(?) ;定义堆栈段 STACK1 ENDS CODE SEGMENT ;定义代码段

2、ASSUME CS:CODE START: MOV DI,3500H ;程序开始设数据区首址MOV CX,0010H ;字节数送入 CX 中MOV AX,0000H A1: MOV DI,AL ;写入一字节 INC DI ;修改地址指针 INC AX ;修改数据 DAA ;十进制调整 LOOP A1 ;未填完转移A2: JMP A2 CODE ENDS ;代码段结束END START ;程序结束实验步骤实验步骤 (1)启动 Wmd86 联机软件 Wmd86 联机软件的启动方式有两种,可以在【开始】/【程序】/【TangDu】菜单中单 击“Wmd86”的程序组启动,也可以直接双击桌面上的“Wmd

3、86”快捷键启动该程序组。启 动应用程序进入主界面窗口后,应显示“串口通讯成功”小窗口,若显示“串口通讯不成 功”,说明上位机和下位机的连接不正常或下位机死机,请确认下位机电源已经打开,串 口线两端接触良好。 (2)输入源程序,检查无误后存盘。2(3)对源程序进行编译、链接和加载,可以使用编译菜单项,也可以使用编译工具栏。(4)运行程序,观察结果。 连续运行程序,在输出区中的调试区用 DEBUG 命令观察运行结果,即键入 D0000:3500 ,可查看 3500H-350FH 单元中的内容是否为 0-15 共 16 个数。注意,因本 程序的结尾为死循环,应在程序运行后停止运行再观察结果。 (5

4、)熟悉系统提供的单步运行、断点运行等功能,可以使用调试菜单项,也可以使用 调试工具栏。2 2数码转换实验(数码转换实验(将十进制数的 ASC码转换为 BCD 码)设从键盘输入的五位十进制数的 ASC码已存放在 3500H 起始的内存单元内,把它转 换为 BCD 码后,再按位分别存入 350AH 起始的内存单元内。若输入的不是十进制数的 ASC码,则对应存放结果的单元内容为“FF” 。具体方法是,一字节 ASC码取其低四位 即变为 BCD 码。实验程序如下:STACK1 SEGMENT STACKDW 64 DUP(?) STACK1 ENDS CODE SEGMENTASSUME CS:COD

5、E START: MOV CX,0005H ;循环计数器赋初值 MOV DI,3500H ;ASC码首址 A1: MOV BL,0FFH ;将错误标志送入 BL MOV AL,DI ;送 ASC码至 AL CMP AL,3AH ;比较 AL 与 3A JNB A2 ;不低于 3A 则转 A2 SUB AL,30H ;低于 3A 则取 ASC码低 4 位 JB A2 ;低于 30 则转 A2 MOV BL,AL ;否则 AL 内容送入 BL,取代 FF A2: MOV AL,BL ;结果或错误标志送入 ALMOV DI+0AH,AL INC DI LOOP A1 A3: JMP A3 CODE

6、ENDS END START实验步骤实验步骤 (1)阅读程序,画出程序流程图。 (2)输入源程序,进行编译、链接和加载。 (3)在 3500-3504H 单元中存放五位十进制数的 ASC码,即在调试区键入 E0000:3500,并输入 31、32、33、34、35。 (4)连续运行程序后停止运行,查看运行结果,即在调试区键入 D0000:350A , 显示结果应为:0000:350A 01 02 03 04 05 CC 3(5)反复试几组数,并运行程序,观察结果。3 3运算编程实验运算编程实验(二进制双精度加法运算)计算 X+Y=Z,将结果 Z 存入某存储单元。实验程序如下:STACK1 SE

7、GMENT STACK DW 64 DUP(?) STACK1 ENDS DATA SEGMENT XLDW 08H ;请在此处给 X 低位赋值 XHDW 04H ;请在此处给 X 高位赋值 YLDW 06H ;请在此处给 Y 低位赋值 YHDW 02H ;请在此处给 Y 高位赋值ZLDW ? ZH DW ? DATAENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,XL ;X 低位送 AX ADD AX,YL ;X 低位加 Y 低位 MOV ZL,AX ;存低位和 MOV AX,XH ;X

8、 高位送 AX ADC AX,YH ;X 高位加 Y 高位MOV ZH,AX A1: JMP A1CODE ENDS END START 本实验程序是双精度(2 个 16 位,即 32 位)运算,利用累加器 AX,先求低十六位和, 并存入低址存储单元,后求高 16 位和,再存入高址存储单元。由于低位和可能向高位有进 位,因而高位字相加语句需用 ADC 指令,则低位相加有进位时,CF=1,高位字相加时,同 时加上 CF 中的 1。实验步骤实验步骤 (1)输入源程序,进行编译、链接和加载。 (2)运行程序并检查结果。 (3)反复试几组数,考察程序的正确性。实验结果:45实验二实验二 分支、循环程序

9、设计分支、循环程序设计一、实验目的一、实验目的1掌握分支程序的设计、调试方法。2掌握循环程序的设计、调试方法。二、实验设备二、实验设备1PC 机一台; 2TDN86/88 教学实验系统一台。三实验内容及步骤三实验内容及步骤1 1求某数据区内负数的个数求某数据区内负数的个数设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最 后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然 后将所有数据中凡是符号位为 1 的数据的个数累加起来,即得区内所包含负数的个数。 实验程序如下:STACK1 SEGMENT STACK DW 64 DUP(?) STAC

10、K1 ENDS CODE SEGMENT ASSUME CS:CODE START:MOV DI,3000H ;设数据区首址 MOV CL,DI ;送数据个数 XOR CH,CH ;CH 清 0 MOV BL,CH ;BL 清 0 INC DI ;指针指向第一个数据 A1: MOV AL,DI TEST AL,80H ;数据首位是否为 1JE A2 INC BL ;负数个数累加A2: INC DI LOOP A1 MOV DI,BL ;存结果A3: JMP A3 CODE ENDS END START6实验步骤:实验步骤:(1)输入源程序,进行编译、链接和加载。 (2)键入 E0000:300

11、0,输入数据如下:3000=06(数据个数) 3001=12、88、82、90、22、33。 (3)运行程序,查看结果,即在调试区键入 D0000:3007,显示结果应为 03。2 2修改程序 2,使其能分别求出数据区中正数、零和负数的个数。3 3设在变量单元 A、B 和 C 中存放有三个数,若三个数都不为 0,则求出三个数之和 存入 D 单元中;若有一个为 0,则将其它两个单元也清 0,试编写程序。7实验三实验三 子程序设计实验子程序设计实验一、实验目的一、实验目的1学习子程序的定义和调用方法。2掌握子程序的程序设计、编制及调用。二、实验设备二、实验设备TDN86/88 教学实验系统一台三、

12、实验内容及步骤三、实验内容及步骤1 1求无符号字节序列中的最大值和最小值求无符号字节序列中的最大值和最小值设有一字节序列,其存储首址为 3000H,字节数为 08H。利用子程序的方法编程求出该序列中的最大值和最小值。实验程序及流程如下: SI C X STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV SI,3000HMOV CX,0008HCALL branchA1: JMP A1branch: JCXZ A4PUSH SI PUSH CXPUSH BX8 C X=0SI C XBX S

13、I BH BH BLSI +1SI SI ALALBHALBLALBHAL BLC X-1C XR ETC X=0SI C XBXYNNNNYYY实验步骤实验步骤(1)输入源程序,进行编译、链接和加载。(2)在调试区键入 E0000:3000,输入 8 个字节的数据:D9、07、8B、C5、EB、04、9D、F9。(3)运行程序,查看结果,在调试区键入 R AX,显示结果应为 AX=F9 04,AH中为最大值,AL 中为最小值。2数组求和数组求和设有一字节序列(存储地址和字节数可自定义) ,编写程序,求出该序列的和,求和工作由子程序来实现。MOV BH,SIMOV BL,BHA1: LODSB

14、CMP AL,BHJBE A2MOV BH,ALJMP A3A2: CMP AL,BLJAE A3MOV BL,ALA3: LOOP A1MOV AX,BXPOP BXPOP CXPOP SIA4: RETCODE ENDSEND START9实验四实验四 软件中断和软件中断和 82598259 应用编程实验应用编程实验一、实验目的一、实验目的1了解 INT 10H 各功能块的作用及用法。2认识 TDN86/88 系统的中断特性。3掌握 8259 中断控制器的工作原理。4掌握 8259 可编程中断控制器的应用编程。二、实验设备二、实验设备1 TDN86/88 教学实验系统。2 排线、导线若干。三、实验原理及说明三、实验原理及说明1 180888088 软件中断说明软件中断说明软件中断 INT 10 使用说明:(1)显示单个字符入口:AH=01H,AL=数据功能:写 AL 中的数据到屏幕上(2)显示字符串入口:AH=06H,DS:BX=字串首址,且字符串尾用 00H 填充。功能:显示一字串,直到遇到 00H 为止2 2系统中的系统中的 82598259 芯片芯片(1)系统中的 8259A 芯片系统中

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

当前位置:首页 > IT计算机/网络 > 计算机原理

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