微机原理实验指导书
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/018f724469eae009581bec82.png)
实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。
二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。
当每条数据传送完毕时,AX中的内容是什么。
程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。
三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。
2、本实验要求在PC机上完成。
3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。
4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。
如果用堆栈作为中间存储单元,必须遵循先进后出的原则。
(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。
[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。
微机原理实验学生实验指导书
![微机原理实验学生实验指导书](https://img.taocdn.com/s3/m/0cd9af886bec0975f465e2bd.png)
微型计算机原理实验指导书河北大学电子信息工程学院2017年10月目录实验一系统认识及编程初步实验 (1)实验二输入输出程序设计实验 (7)实验三8255并行接口实验 (9)实验四8259中断控制实验 (13)实验五8254定时/计数器应用实验 (19)实验六综合实验 (24)实验一系统认识及编程初步实验一、实验目的1. 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
2. 掌握使用运算类指令编程及调试方法。
3. 学习使用软件监视变量的方法。
二、实验设备PC机一台,TD-PITE实验装置一套。
三、实验内容(一)基础实验1. 系统认识实验编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
2. 运算编程实验80X86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1-1所示的数据类型进行算术运算。
本实验以二进制双精度加法运算为例,计算X+Y=Z,将结果Z存入某存储单元。
表1-1 数据类型算术运算表(二)提高实验1. 在系统认识实验中,编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。
通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。
2. 在运算编程实验中,求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H。
四、实验步骤(一)系统认识实验1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1-1、图1-2所示。
设置选择后,下次再启动软件,语言环境保持这次的修改不变。
图1-1 语言环境设置界面图1-2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-3所示。
微机原理实验指导书(新版)
![微机原理实验指导书(新版)](https://img.taocdn.com/s3/m/ed3cfe1dcc7931b765ce1557.png)
微机原理与接口技术实验指导书主编:王青岳陈超波张晓倩许韫韬西安工业大学电信学院软件实验部分 (1)1 汇编基本原理 (2)1.1 程序,可直接运行的程序,汇编源程序,汇编 (2)1.2 CPU取指令、执行指令的过程 (3)2汇编工具MASM5.0使用方法 (3)2.1汇编源程序文件的建立方法 (3)2.2编译阶段 (5)2.3链接阶段 (6)2.4 程序调试阶段 (7)3软件实验项目 (9)软件实验一清零实验 (9)软件实验二码制转换实验 (11)软件实验三数据区移动实验 (13)软件实验四冒泡法排序实验 (16)软件实验五存储器校验实验 (18)软件实验六实时时钟显示实验 (19)硬件实验部分 (21)1 微机实验系统简介 (22)2 实验系统上位机软件使用方法 (23)2.1 软件启动 (23)2.2 如何使用星研集成环境软件 (23)3 硬件实验项目 (32)硬件实验一8255 PA口控制PB口实验 (32)硬件实验二8255控制交通灯实验 (34)硬件实验三74HC138译码器实验 (37)硬件实验四8253方波实验 (39)硬件实验五8259A中断控制器实验 (41)硬件实验六8250可编程通信实验(与微机) (44)硬件实验七简易电子琴实验 (49)硬件实验八LED8 * 8点阵实验 (58)软件实验部分1 汇编基本原理1.1 程序,可直接运行的程序,汇编源程序,汇编程序程序以文件的形式存在,它是由若干条“指令”顺序排列存储构成的。
指令是对符合CPU指令集的所有信息的统称,“指令”在程序中以两种形式存在,一种是以“指令代码”的形式(在可直接运行的程序文件中),另一种是以“助记符”的形式(在汇编源程序文件中)。
无论“可直接运行的程序”还是“汇编源程序”,其中的指令都是以顺序排列的方式存储的,只是指令存在的方式不同。
可直接运行的程序当程序中的指令是以可执行的“指令代码”的形式存在时,该程序即为可直接运行的程序,该程序所在的文件即为“可执行程序文件”。
微机原理实验指导书 何小海 严华
![微机原理实验指导书 何小海 严华](https://img.taocdn.com/s3/m/85d0502552ea551810a687fc.png)
实验一数据传送一、实验目的熟悉星研集成环境软件的使用方法。
熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容1、熟悉星研集成环境软件。
2、编写程序,实现数据段的传送、校验。
使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中。
三、程序流程图(学生根据实验内容设计)四、实验步骤在DS段内3000H~30FFH中输入数据;使用单步、断点方式等调试程序,检测DS段内6000H ~60FFH中的内容。
熟悉查看特殊功能寄存器、CS段、DS段的各种方法。
五、程序清单(参考)本实例的源程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DX,2000HSTART1: MOV AL,[SI]OUT DX,ALINC SIINC DXLOOP START1MOV DI,6000HMOV DX,2000HMOV CX,100HSTART2: IN DX,ALMOV [DI],ALINC DIINC DXLOOP START2SJMP $Move ENDPEND START六、思考题编写一个程序,将数据段中2000H~20FFH单元的内容传送给数据段的6000H~60FFH中。
实验内容:1、用所学过的寻址方式编程实现将存储单元DS:1000H单元的内容送到DS:2020H单元。
2、设各寄存器及存储单元的内容如下:(DS)=0500H,(BX)=0010H,(SI)=0001H,(05010)=12H,(05011)=34H,(05012)=56H,(05013)=78H,(05120)=ABH,(05121)=CDH,(05122)=EFH,说明下列各条指令执行完后AX寄存器中的内容。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/5b669fc358f5f61fb7366695.png)
前言《微型计算机原理及应用》是一门实践性很强的专业技术基础课,因此,必须在课堂教学的基础上配以足够的实验或实践性教学环节,以便理论联系实际,使学生能深入理解课堂教学内容,加强学生动手能力,以加深对理论学习的理解和掌握,提高学生分析问题﹑解决问题的能力。
本实验指导书是《微型计算机原理及应用》一书的配套教材。
该实验指导书紧密结合教材内容,使用复旦大学科教仪器厂生产的FD-SJ8088A微机实验系统,合理安排了微机实验。
全书共分二部分。
第一部分汇编语言上机操作及程序调试方法及软件部分实验第二部分FD-SJ8088A微机实验系统介绍及硬件部分实验对于每一个实验都给出了实验目的﹑实验内容﹑预习要求﹑报告要求﹑实验提示﹑思考题。
实验提示部分我们仅给出部分文字提示和参考流程图,以作为学生自己编程时的参考。
我们主张学生在做实验前,必须要充分预习,充分准备,要依靠自己在实验前编出的程序,经过实验调试改正程序,得出正确的结果。
这样做实验,才能真正有收获,才能真正提高分析问题和解决问题的能力。
本实验指导书在编写的过程中,得到了本系的领导和老师的支持﹑指导和帮助,在此表示衷心的谢意。
由于编者水平有限,书中不妥或错误之处在所难免,欢迎大家在使用中提出宝贵意见。
编者2005年8月目录实验须知 (3)第一部分汇编语言上机操作及软件部分实验实验一汇编语言上机环境的熟悉和命令使用 (4)实验二利用D E B U G命令调试程序 (7)实验三利用中断指令进行输入输出程序设计 (9)实验四汇编语言综合编程实验 (11)第二部分硬件部分实验FD88调试软件 (12)实验五简单I/O接口控制实验 (21)实验六 8255 接口控制实验 (21)实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的、内容和实验任务。
2.每次实验前做好充分的预习,对所需预备知识做到心中有数。
3.实验前应编好源程序,并对调试过程、实验结果进行预测。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/686471320912a21614792909.png)
实验一数据传送一、实验目的1、熟悉SH51仿真器的使用方法。
2、练习设计简单的程序。
3、掌握8031片内RAM和片外RAM的数据传送的方法,从而了解这两部分存储器的特点二、实验设备和器件PC一台、DP-51PROC单片机实验仪一台、仿真器一台。
三、实验内容将8031内容RAM40H—4FH置初值00H—0FH,然后将40H—4FH 的内容传送到外RAM4800H—480FH,再将4800H—480FH传回到内部RAM50H—5FH。
设置断点B1、B2、B3,每运行到断点时检查相应的CPU现场和存储单元的内容。
四、实验步骤1、向机器输入程序2、运行程序至第一个断点B1,检查内容RAM40H—4FH单元的内容及累加器A 的内容;3、运行程序至第二个断点B2,检查RAM4800H—480FH单元的内容及累加器A、数据指针DPTR的内容;4、运行程序至第三个断点B3,检查内容RAM50H—5FH单元的内容及累加器A、数据指针DPTR的内容;五、实验程序ORG 0000HSTART: LJMP MAINORG 0040HMAIN: MOV R0, #40HMOV R2, #10HCLR AA1: MOV @R0, AINC R0INC ADJNZ R2, A1 B1: MOV R0, #40HMOV DPTR, #4800HMOV R2, #10HA2: MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R2, A2B2: MOV R0, #50HMOV DPTR, #4800HMOV R2, #10HA3: MOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R2, A3B3: SJMP $END实验二并行口一、实验目的:通过实验了解8031并口输入方式和输出方式的工作原理和编程方法。
二、实验设备及器件:PC一台、DP-51PROC单片机实验仪一台、仿真器一台。
微机原理实验指导书(修改1023)
![微机原理实验指导书(修改1023)](https://img.taocdn.com/s3/m/fd9007d9ad51f01dc281f1f2.png)
微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。
⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。
⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。
2.启动调试程序(Debug)。
3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。
(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。
2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。
3.输入不同的字符串,可得到不同的结果。
⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。
⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。
◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。
《微机原理》实验指导
![《微机原理》实验指导](https://img.taocdn.com/s3/m/8c884d0f5901020207409c7d.png)
《微机原理》实验指导书制订教师:王晓锐2015年4月目录实验1 EMU8086操作 (3)实验2 简单程序设计 (4)实验3 分支程序设计 (5)实验4 循环程序设计 (6)实验5 简单LED控制实验 (7)附录A:Emu8086使用指南 (8)附录B:源程序代码 (17)实验1 EMU8086操作1 实验目的:熟悉仿真软件emulator的使用。
熟悉指令系统和常用的伪指令,掌握简单程序的设计方法。
2 实验内容1:编写计算F=XY+Z-500的程序,其中X,Y,Z均为无符号的字节操作数。
程序代码如下所示。
DATA SEGMENTX DB 29Y DB 8Z DB 25F DW ?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV AL,XMUL YMOV BH,0MOV BL,ZADD AX,BXSUB AX,500MOV F,AXMOV AX,4C00HINT 21HCODE ENDSEND START(1)请阅读该程序,并写出注释。
(2)在emulator中输入以下代码,进行调试。
(3)请写出计算的结果是多少。
(4)请说明变量X,Y,Z和F的物理地址是多少。
4 实验报告:请采用标准的实验报告纸,按照以上实验要求完成实验报告,最后进行实验总结,给出在调试过程中遇到的问题以及如何实验2 简单程序设计实验题目:进一步熟悉指令系统和常用的伪指令,掌握简单程序设计的方法、熟悉逻辑运算指令与算术运算指令。
实验内容:编写一个32位无符号数除法的程序。
存放在NUM1中的32位无符号数与存放在NUM2中的16位无符号数相除,商和余数分别存放在NUM3和NUM4中。
数据段的定义如下以及除法程序片段如下所示。
写出该程序,并在emulator中调试这个程序。
数据定义片段:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?除法程序片段:MOV AX,WORD PTR NUM1MOV DX,WORD PTR [NUM1]+2DIV NUM2MOV NUM3,AXAND NUM4,DX实验知识点:伪指令,简单的程序设计,逻辑操作,算术运算指令实验报告:1、画出实验程序的流程图。
2023年微机原理实验指导书
![2023年微机原理实验指导书](https://img.taocdn.com/s3/m/83474c64657d27284b73f242336c1eb91b37334b.png)
2.1系统生疏试验【试验目的】把握TD 系列微机原理及接口技术教学试验系统的操作,生疏Wmd86 联机集成开发调试软件的调试环境。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写试验程序,将00H~0FH 共16 个数写入到内存3000H 开头的连续16 个存储单元中。
【试验步骤】1.运行Wmd86 软件,进入Wmd86 集成开发环境。
2.在设置菜单中选择“汇编语言”和“16 位存放器”。
3.单击文集菜单的建命令,建一个文档,默认文件名为Wmd861。
4.编写试验程序,并保存,此时系统会提示输入的文件名,输完后点击保存。
5.单击编译文件,假设程序编译无误,则科技连续单击进展链接,链接无误前方可以加载程序。
6.连接PC 与试验系统的通讯电缆,翻开试验系统电源。
7.编译、链接都正确并且上下机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
8.将输出区切换到调试窗口,试验命令D0000:3000 查看内存3000H 起始地址的数据。
9.点击按钮运行程序,等待程序运行停顿后,通过命令来观看程序结果。
10.也可以设置端点,要修改内存中的数据可以使用命令E,如E0000:3000 可以修改地址0000:3000 处的数据,修改完一个后,可按“空格”键连续输入下一个数。
输入完成后按“回车”键退出。
2.2数制转换试验【试验目的】1 把握不同进制数及编码相互转换的程序设计方法,加深对数值转换的理解。
2.生疏程序调试的方法。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写程序,将ASCII 码表示的十进制数转换为二进制数。
【试验步骤】1.依据程序流程图编写程序。
微机原理实验指导书_智能
![微机原理实验指导书_智能](https://img.taocdn.com/s3/m/be1f3320ccbff121dd3683bb.png)
实验一系统认识、数码转换、运算编程实验一、实验目的1.掌握TDN86/88教学系统的基本操作。
2.学习数码转换的程序设计方法;3.学习运算编程方法。
二、实验设备1.PC机一台;2.TDN86/88教学实验系统一台。
三、实验内容及步骤1.系统认识实验从3500H内存单元开始建立0-15共16个数据。
实验程序如下:STACK1 SEGMENT STACK ;8088 宏汇编程序DW 64 DUP(?) ;定义堆栈段STACK1 ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART: MOV DI,3500H ;程序开始设数据区首址MOV CX,0010H ;字节数送入CX中MOV AX,0000HA1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2: JMP A2CODE ENDS ;代码段结束END START ;程序结束实验步骤(1)启动Wmd86联机软件Wmd86联机软件的启动方式有两种,可以在【开始】/【程序】/【TangDu】菜单中单击“Wmd86”的程序组启动,也可以直接双击桌面上的“Wmd86”快捷键启动该程序组。
启动应用程序进入主界面窗口后,应显示“串口通讯成功”小窗口,若显示“串口通讯不成功”,说明上位机和下位机的连接不正常或下位机死机,请确认下位机电源已经打开,串口线两端接触良好。
(2)输入源程序,检查无误后存盘。
(3)对源程序进行编译、链接和加载,可以使用编译菜单项,也可以使用编译工具栏。
(4)运行程序,观察结果。
连续运行程序,在输出区中的调试区用DEBUG命令观察运行结果,即键入D0000:3500 ↙,可查看3500H-350FH单元中的内容是否为0-15共16个数。
注意,因本程序的结尾为死循环,应在程序运行后停止运行再观察结果。
(5)熟悉系统提供的单步运行、断点运行等功能,可以使用调试菜单项,也可以使用调试工具栏。
微机原理实验指导书.
![微机原理实验指导书.](https://img.taocdn.com/s3/m/956d4886b0717fd5360cdcbe.png)
微机原理与接口实验指导书皖西学院机械与电子工程学院2012.10实验一 DOS命令与汇编源程序输入、汇编、连接、运行一、实验目的掌握在计算机上运行汇编语言程序的整个操作过程。
学会将自己编制的汇编语言源程序用EDIT编辑程序输入计算机并存盘;学会用MASM宏汇编程序对汇编语言源程序进行汇编形成二进制目标文件;学会用LINK连接程序对二进制目标文件连接形成可执行文件;学会运行经汇编和连接后形成的可执行文件;学会用DEBUG调试程序运行和调试可执行文件。
二、实验设备1、PC系列不低于80286档次的微型机;2、DOS3.3以上版本的操作系统;3、EDIT,MASM,LINK,DEBUG执行程序。
三、实验步骤1、用EDIT编辑汇编源程序(1)MS-DOS Editor的启动与退出Editor是在DOS系统提示符下启动,其命令格式为:C:EDIT [Path] [filename]在编辑完成后,选择屏幕菜单的File命令(按“ALT+F”键)中的Exit项即可退出Editor。
(2)建立文本文件在MS-DOS Editor的屏幕菜单栏中File命令就是对文本文件的建立、存储和打印的操作。
A.建立文件(New)打开屏幕菜单栏中File下拉菜单,选择New项。
B.编辑文件将写好的汇编语言源程序输入到编辑文本区。
输入时,一行结束后按回车键(Enter)换行。
C.保存文件(Save)打开屏幕菜单栏中File下拉菜单,选择Save项在弹出的对话框中键入文件名。
如果要把文件保存到非默认路径下,则在键入文件名的同时键入路径。
D.打开文件(Open)打开屏幕菜单栏中File下拉菜单,选择Open项。
该窗口中有三个区可以选择要打开的文件:文件名区:可以直接键入要打开的文件名;文件表区:文件表中列出要打开的所有文件名,供用户选择;目录/磁盘区:键入的文件名是哪个磁盘目录中的,在该区中选择。
在Open对话框中用“Tab”或“Shift+Tab”键选择各区。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/c38f9e9d51e79b89680226f8.png)
微机原理实验指导书第一章DEBUG调试系统的使用。
1一、DEBUG的作用。
1二、DEBUG的使用。
1第二章 Intel 80x86 指令系统及寻址方式和基本程序设计。
18一、数据传送指令。
18二、算术运算类指令及线性程序设计。
20三、逻辑及移位类指令与线性程序设计。
22四、转移类指令与分支型程序设计。
24五、循环控制类指令与循环程序设计。
25第三章 DOS 功能调用。
28一、源程序的编辑和可执行文件的形成。
28二、输入输出程序设计。
29第四章循环和分支结构汇编语言程序设计。
30一、循环程序结构。
30二、分支程序结构。
31三、综合程序练习。
32第五章子程序结构汇编语言程序设计。
32一、子程序之一___原程序结构的编辑和可执行文件的形成。
32二、子程序之二___子程序的设计。
38第六章高级汇编语言程序设计。
39一、宏汇编语言程序的结构。
39二、宏汇编语言程序设计。
40三、重复汇编技术。
40第七章键盘程序设计。
40一、键盘输入程序。
40第八章音乐程序设计。
42一、发音程序。
42二、音乐程序。
42第九章活动图形显示程序。
44一、活动字符图形显示。
44二、静止复合图形显示。
45第十章磁盘文件操作程序。
47一、文本文件内容显示。
47二、磁盘文件拷贝。
50 第十一章绝对磁盘读写程序。
53一、误删除文件的恢复。
53二、磁盘目录显示程序。
53第一章DEBUG调试系统的使用一、DEBUG的作用DEBUG是DOS提供的用于程序调试的系统,作为DOS的外部命令随DOS的其它外部命令一起由DOS的提供产商向用户提供。
因此用户在使用DEBUG系统时一定要注意当前用户所使用的DOS 的外部命令中是否提供该命令(若DOS命令不全,有可能没有此命令)。
二、DEBUG的使用1、DEBUG的调用由于DEBUG是DOS的外部命令,因此必须在DOS的提示符状态下进行调用。
调用的方法如下:C:\>DEBUG [FILENAME]此处FILENAME应是文件的全名,即应包括文件的主名和扩展名(若文件有扩展名),如文件不在当前目录,则还因包括文件所存放的目录名。
【最新推荐】微机原理实验指导书-实用word文档 (18页)
![【最新推荐】微机原理实验指导书-实用word文档 (18页)](https://img.taocdn.com/s3/m/1118ed8e284ac850ac02420a.png)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==微机原理实验指导书篇一:微机原理实验指导书(新版)微机原理与接口技术实验指导书主编:王青岳陈超波张晓倩许韫韬西安工业大学电信学院软件实验部分 (1)1 汇编基本原理 .................................................................. . (2)1.1 程序,可直接运行的程序,汇编源程序,汇编 .................................................... 2 1.2 CPU取指令、执行指令的过程 .................................................................. .............. 3 2汇编工具MASM5.0使用方法 .................................................................. .. (3)2.1汇编源程序文件的建立方法 .................................................................. ................... 3 2.2编译阶段................................................................... .................................................. 5 2.3链接阶段................................................................... .................................................. 6 2.4 程序调试阶段 .................................................................. .......................................... 7 3软件实验项目 .................................................................. .. (9)软件实验一清零实验 .................................................................. ................................... 9 软件实验二码制转换实验 .................................................................. ......................... 11 软件实验三数据区移动实验 .................................................................. ..................... 13 软件实验四冒泡法排序实验 .................................................................. ..................... 16 软件实验五存储器校验实验 .................................................................. ..................... 18 软件实验六实时时钟显示实验 .................................................................. .. (19)硬件实验部分 ................................................................211 微机实验系统简介 .................................................................. .......................................... 22 2 实验系统上位机软件使用方法 .................................................................. . (23)2.1 软件启动................................................................... ............................................... 23 2.2 如何使用星研集成环境软件 .................................................................. ................ 23 3 硬件实验项目 .................................................................. .. (32)硬件实验一 8255 PA口控制PB口实验 .................................................................. ... 32 硬件实验二 8255控制交通灯实验 .................................................................. ............ 34 硬件实验三 74HC138译码器实验 .................................................................. ............ 37 硬件实验四 8253方波实验 .......................................................................................... 39 硬件实验五 8259A中断控制器实验 .................................................................. ......... 41 硬件实验六 8250可编程通信实验(与微机) ...............................................................44 硬件实验七简易电子琴实验 .................................................................. ..................... 49 硬件实验八 LED8 * 8点阵实验 .................................................................. . (58)软件实验部分1 汇编基本原理1.1 程序,可直接运行的程序,汇编源程序,汇编程序程序以文件的形式存在,它是由若干条“指令”顺序排列存储构成的。
微机原理试验指导书
![微机原理试验指导书](https://img.taocdn.com/s3/m/20df37fe844769eae009edfb.png)
《微型计算机原理》实验指导书上海行知学院计算机系二零零六年五月实验一DEBUG 调试指令的认识实验一、实验目的(1)熟悉 DEBUG的调试命令和 DEBUG的调试指令的使用方法(2)掌握各种寻址方式和指令的功能二、实验内容1、已知:(DS)=3000H、(ES)=3500H、(SS) =4000H、(BX)=0038H 、(BP)=0019H 、(SI) =0012H、(3005AH)=56H、(3005BH)=78H、(30068H)=11H、(30069H)=22H、(32000H)=12H、(32000H)=34H、( 35038H) =0AAH、( 35039H) =0BBH、( 4002BH) =88H、( 4002BH) =99H。
分别下列指令, 请说明其源操作数的寻址方式、有效地址和物理地址,以及AX寄存器中的内容。
(1)MOV AL,2000H(2)MOV AX , [2000H](3)MOV AX,BX(4) MOV AL , ES: [BX](5)MOV AX , 30H[BX](6)MOV AX , [BP][SI](7)MOV AL,10H[BX][SI](8)MOV DX , ES: [BX](9) MOV AL,ES:[BX]2、已知: (SS)= 2200H,(SP)=0010H,(DX)=ABCDH,(CX)=5678H执行下列指令段:PUSHDXPOPCX请说明 DX、CX以及 SP寄存器中的内容,用T 命令跟踪,观察执行结果3、已知:(BX) =82A8H、( AX) =9FA3H执行面这指令,求 AX寄存器及 CF, SF, ZF 和 OF 的内容是什么?ADD AX,BX4、假设( DX) =97B5H,确定下列各条指令单独执行后的结果。
(1) AND DX, 0F54H(2) XOR DX, 0FFFFH三、实验要求(1)掌握 DEBUG的调试 R 、 A、 U、 D、 E、T 命令使用方法(2)掌握数据传送、算术和逻辑运算指令的功能四、实验步骤1、首先进入DEBUG状态,用R 命令修改各寄存器的内容,以满足题目的要求。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/dbf62cebf8c75fbfc77db2f5.png)
目录目录 (1)实验一ARM汇编基础实验 (3)一.实验目的 (3)二.实验内容 (3)三.预备知识 (3)四.实验设备与工具 (3)五.实验原理 (3)六.实验步骤 (9)七.思考题 (10)实验二ARM控制LED实验 (12)一、实验目的 (12)二、实验内容 (12)三、预备知识 (12)四、实验设备与工具 (12)五、实验原理及说明 (12)六、实验步骤 (14)七、思考题 (14)实验三ARM汇编实现串口通信实验 (15)一.实验目的 (15)二.实验内容 (15)三.预备知识 (15)四.实验设备与工具 (15)五.实验原理 (15)六.实验步骤 (20)七.思考题 (21)实验四基于ARM的嵌入式Linux开发环境建立 (22)一.实验目的 (22)二.实验内容 (22)三.预备知识 (22)四.实验设备与工具 (22)五.实验原理与说明 (22)六.实验步骤 (24)七、思考题 (27)实验五基于ARM的模块方式驱动程序实验 (28)一.实验目的 (28)二.实验内容 (28)三.预备知识 (28)四.实验设备与工具 (28)五.实验原理与说明 (28)六.实验步骤 (32)七. 思考题 (35)实验六基于ARM的键盘及数码管驱动实验 (36)一.实验目的 (36)二.实验内容 (36)三.预备知识 (36)四.实验设备与工具 (36)五.实验原理与说明 (36)六.实验步骤 (42)七. 思考题 (42)实验七基于ARM的LCD驱动程序设计实验 (43)一.实验目的 (43)二.实验内容 (43)三、预备知识 (43)四、实验设备及工具 (43)五.实验原理与说明 (43)六.实验步骤 (49)实验八基于ARM的触摸屏驱动程序设计实验 (52)一.实验目的 (52)二.实验内容 (52)三.预备知识 (52)四.实验设备与工具 (52)五.实验原理与说明 (52)实验九SD卡读写及文件系统设计实验 (61)一、实验目的 (61)二、实验内容 (61)三、预备知识 (61)四、实验设备及工具 (61)实验十AC97音频驱动及应用实验 (74)一.实验目的 (74)二.实验内容 (74)三.预备知识 (74)四.实验设备与工具 (74)五.实验原理与说明 (74)六.实验步骤 (77)实验十一以太网通讯实验 (78)一、实验目的 (78)二、实验内容 (78)三、预备知识 (78)四、实验设备及工具 (78)五、实验原理及说明 (78)六、思考题 (85)实验一ARM汇编基础实验一.实验目的1.掌握ARM汇编指令及ARM汇编语言编程2.学习掌握C语言与汇编语言混合编程3.熟练使用ARM处理器平台调试工具RVDS进行程序调试操作二.实验内容1.ARM汇编语言编程实现1+2+...+N功能2.ARM汇编语言实现冒泡算法的程序3.C语言程序调用汇编语言程序的实验(实现字符串拷贝功能)4.汇编语言程序调用C语言程序的实验5.上述程序的编译(汇编)、调试和运行验证三.预备知识1.C语言、ARM汇编语言2.RVDS调试工具的使用四.实验设备与工具硬件:ARM嵌入式开发平台,PC机Pentium100以上软件:Windows操作系统,RVDS软件五.实验原理1.自然整数累加程序自然数累加的算法基本过程很简单,就是使用寄存器保存需累加的变量和累加结果,其算法参考流程图如下:2.冒泡算法简介冒泡算法的基本思想:将待排序的元素(数据)看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/41f6b3d19f3143323968011ca300a6c30c22f1fe.png)
微机原理实验指导书实验一数据传送实验目的 :1. 熟悉 8086 指令系统的数据传送指令及 8086 的寻址方式。
2. 利用 Turbo Debugger 调试工具来调试汇编语言程序。
实验任务 :1.通过下述程序段的输入和执行来熟悉Turbo Debugger 的使用,并通过显示器屏幕观察程序的执行情况。
练习程序段如下:MOV BL , 08HMOV CL , BLMOV AX , 03FFHMOV BX , AXMOV DS : [0020H] , BX2.用以下程序段将一组数据压入( PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。
压栈程序段如下:MOV AX , 0102HMOV BX , 0304HMOV CX , 0506HMOV DX , 0708HPUSH AXPUSH BXPUSH CXPUSH DX出栈程序段请自行编写(用不同的出栈顺序)。
.3. 指出下列指令的错误并加以改正,上机验证之。
(1) MOV [BX] , [SI](2) MOV AH , BX(3) MOV AX , [SI][DI](4) MOV BYTE PTR[BX] , 2000H(5) MOV CS , AX(6) MOV DS , 2000H4. 设置各寄存器及存储单元的内容如下:(BX) = 0010H , (SI) = 0001H(10010H) = 12H , (10011H) = 34H , (10012H) = 56H ,(10013H) =78H (10120H) =0ABH ,(10121H) =0CDH ,(10122H) = 0EFH说明下列各条指令执行完后 AX 寄存器中的内容,并上机验证。
(1) MOV AX , 1200H(2) MOV AX , BX(3) MOV AX , [0120H](4) MOV AX , [BX](5) MOV AX , 0110H[BX](6) MOV AX , [BX][SI](7) MOV AX , 0110H[BX][SI]5. 将 DS : 1000H 字节存储单元中的内容送到 DS : 2020H 单元中存放。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/766053f90975f46526d3e10e.png)
1 / 14四. 实验任务4.1 实验一按键检测和LED 显示1.实验目的(1) 掌握STM32的I/O 模块的使用;(2) 理解独立按键检测和阵列按键检测原理,编程并实现按键检测功能;(3) 理解八段数码管显示原理,编程并实现数码管的显示;(4) 熟悉JTAG 调试工具和调试技术。
2.重点、难点重点:按键检测及数码管显示的实现。
难点:按键去抖技术、在线调试技术。
3.作业及课外学习要求课前预习,撰写预习报告,课后书写实验报告。
4.实验原理单微处理器与外部芯片或设备最常见的交互,就是通过对I/O 口的操作实现的。
无论MCU 对外界进行何种数字控制,或接受外部的何种数字控制,都可以通过I/O 口进行。
键盘、LED 、等外设都是通过I/O 口的输入、输出来进行读取或控制的。
LED 显示电路如下。
(1) 独立按键检测原理图4.1 按键检测基础知识本实验箱用的按键为弹性按键,存在按下和弹起的抖动问题,可通过延时去抖法实现按键检测。
如图4.1中的流程图所示。
实验例程参见“实验一_IAR_GPIO_独立按键测试”。
本实验箱独立按键和独立LED 的硬件定义如下:#define LED0(x) GPIO_WriteBit(GPIOA, GPIO_Pin_8, x)#define LED1(x) GPIO_WriteBit(GPIOC, GPIO_Pin_9, x)#define LED2(x) GPIO_WriteBit(GPIOC, GPIO_Pin_8, x)#define LED3(x) GPIO_WriteBit(GPIOC, GPIO_Pin_7, x)#define LED4(x) GPIO_WriteBit(GPIOC, GPIO_Pin_6, x)#define LED5(x) GPIO_WriteBit(GPIOG, GPIO_Pin_7, x)#define LED6(x) GPIO_WriteBit(GPIOG, GPIO_Pin_6, x)#define LED7(x) GPIO_WriteBit(GPIOB, GPIO_Pin_0, x)#define KEY0 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_8)//读取按键0#define KEY1 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_9)//读取按键1#define KEY2 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_10)//读取按键2#define KEY3 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0)//读取按键3F8F9F10FC0MCUSTM32F103ZCT6(2) 阵列按键检测原理在MCU系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式,如下图4.2所示。
微机原理实验指导书
![微机原理实验指导书](https://img.taocdn.com/s3/m/05a0d582cc22bcd126ff0c52.png)
湖北工业大学
图 2-1
12 电类 3 班
(2)CZ4:打印接口;
图 2-2 (3)JX0,JX17 为系统提供的数据总线接口;
图 2-7 (3)单脉冲电路:实验台上单脉冲产生电路如图 2-8,标有
“
”和“
”的两个引线插孔为正负单脉冲输出端。
AN 为单脉冲产生开关,每拨动一次产生一个单脉冲。
图 2-3 (4)CZ7:系统提供的扩展接口;
12 电类 3 班
⒋4 总操作过程 8088 十六位微机实验系统上电总清以后,显示器上显示监控提 示符“P.”,各寄存器的初始化值如下: SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H, IP=l000H,FL=0000H 注意:·所有命令均在提示符“P.”状态输入。
(8)数码管显示电路
图 2-12
(9)键盘电路
图 2-13
湖北工业大学
图 2-14(2)
第三章 系统安装与使用 1、把系统开关设置为出厂模式。 (1)SW3、SW4、SW5:为键盘/显示选择开关,开关置 ON(出 厂模式),键盘/显示控制选择系统配置的 8155 接口芯片,反之由用 户选择自定义的 I/O 接口芯片控制,在本机实验中,除 8279 实验外, 键盘/显示为出厂模式。 (2)KB6:通讯选择开关,KB6->SYS-C 为系统通讯(出厂模 式),KB6->EXT-C 为扩展通讯。 2、将随机配送的串行通讯线,一端与实验仪的 RS232D 型插座 CZ1 相连,另一端与 PC 机 COM1 或 COM2 串行口相连。 3、接通实验系统电源,+5V LED 指示灯应正常发光,实验仪 数码管应显示闪动 P.,说明实验仪初始化成功,处于待命状态。(否 则应及时关闭电源,待修正常后使用) 4、打开 PC 机电源,执行 8086K 的集成调试软件,关于该软件 的详细说明请参阅《第五章 8086K 实验系统与 PC 机联机操作》。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理及应用实验指导书南京理工大学机械工程学院2011年10月10日实验1 基本操作实验1. 实验目的(1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
(2) 掌握使用运算类指令编程及调试方法;(3) 掌握运算类指令对各状态标志位的影响及其测试方法;(4) 学习使用软件监视变量的方法。
2. 实验设备PC机一台,TD-PITC 实验装置一套。
3. 实验内容及步骤通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会:●如何设置断点;●如何单步运行程序;●如何连续运行程序;●怎样查看寄存器的内容;●怎样修改寄存器的内容;●怎样查看存储器的内容;●怎样修改存储器的内容。
3.1 实验内容1――――BCD码转换为二进制数实验内容:将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。
参考实验程序清单如下:SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: XOR AX, AXMOV CX, 0004HMOV SI, 3500HMOV DI, 3510HA1: MOV AL, [SI]ADD AL, ALMOV BL, ALADD AL, ALADD AL, ALADD AL, BLINC SIADD AL, [SI]MOV [DI], ALINC SIINC DILOOP A1A2: JMP A2CODE ENDSEND START实验步骤:1)运行Wmd86 软件,进入Wmd86 集成开发环境。
2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。
语言选择后,下次再启动软件,语言环境保持这次的修改不变。
在这里,我们选择汇编语言。
图1-1 语言环境选择界面3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。
默认文件名为Wmd861。
图1-2 新建文件界面4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图1-3 程序编辑界面5)点击,编译文件,若程序编译无误,则输出如图1-4所示的输出信息,然后再点击进行链接,链接无误输出如图1-5所示的输出信息。
图1-4 编译输出信息界面图1-5 链接输出信息界面6)连接PC与实验系统的通讯电缆,打开实验系统电源。
7)编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
如图1-6所示。
8)将四个二位十进制数的BCD 码存入3500H~3507H 中,即:将输出区切换到调试窗口,先键入E3500,然后输入01 02 03 04 05 06 07 08(每个数用空格隔开),如图1-7所示。
存储器在初始状态时,默认数据为CC。
9)点击按钮运行程序,然后再点击来停止程序运行,接下来观察程序运行结果,使用命令D3510 显示转换结果,应为:0C 22 38 4E。
10)反复输入几组数据,验证程序功能。
图1-7 内存地址单元数据图1-6 加载成功输出显示界面思考题:1)叙述修改实验数据有几种方法?这些方法各有什么特点?2)能否利用“调试窗口”直接对程序进行修改?3)在调试窗口中用什么命令查看和修改寄存器的内容、查看存储器的内容、修改存储器的内容?3.2实验内容2――――二进制双精度加法运算实验内容:计算X+Y=Z,将结果Z存入某存储单元。
实验程序参考如下。
本实验是双精度(2 个16 位,即32 位)加法运算,编程时可利用累加器AX,先求低16位的和,并将运算结果存入低地址存储单元,然后求高16 位的和,将结果存入高地址存储单元中。
由于低16 运算后可能向高位产生进位,因此高16 位运算时使用ADC 指令,这样在低16位相加运算有进位时,高位相加会加上CF中的1。
参考实验程序清单:SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSPUBLIC XH, XL, YH, YL, ZH, ZL ;设置全局变量DATA SEGMENTXL DW ? ;X低位XH DW ? ;X高位YL DW ? ;Y低位YH DW ? ;Y高位ZL DW ? ;Z低位ZH DW ? ;Z高位DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, XLADD AX, YL ;X低位加Y低位MOV ZL, AX ;低位和存到Z的低位MOV AX, XHADC AX, YH ;高位带进位加MOV ZH, AX ;存高位结果JMP START ;在此行设置断点,以观察变量值CODE ENDSEND START实验步骤(1)编写程序,经编译、链接无误后装入系统;(2)程序装载完成后,点击‘变量区’标签将观察窗切换到变量监视窗口;(3)点击菜单条上,将变量XH,XL,YH,YL,ZH,ZL 添加到变量监视窗中,然后修改XH,XL,YH,YL 的值,如图1-7 所示,修改XH 为0015,XL为65A0,YH 为0021,YL为B79E;(4)在JMP START语句行设置断点,然后运行程序;(5)当程序遇到断点后停止运行,查看变量监视窗口,计算结果ZH 为0037,ZL为1D3E;思考题:1、如何利用E命令直接修改XH、XL、YH、YL变量的值,并求出ZL、ZH?2、直接修改源程序,将XH 为0015H,XL为65A0H,YH 为0021H,YL为0B79EH,求出ZL、ZH的值。
图1-7 变量监视窗口实验2 分支程序设计实验1 实验目的(1)掌握分支程序的结构;(2)掌握分支程序的设计、调试方法。
2 实验设备PC机一台,TD-PITC 实验装置一套。
3 实验内容及步骤设计一数据块间的搬移程序。
设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。
源数据块和目的数据块在存储中可能有三种情况,如图2-1所示。
图2-1 源数据块与目的数据块在存储中的位置情况对于两个数据块分离的情况,如图2-1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。
但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图2-1(b)所示。
当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图2-1(c)所示。
实验程序流程图如图2-2所示。
参考实验程序清单:SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV CX, 0010HMOV SI, 3100HMOV DI, 3200HCMP SI, DIJA A2ADD SI, CX图2-2 分支实验程序流程图ADD DI, CXDEC SIDEC DIA1: MOV AL, [SI]MOV [DI], ALDEC SIDEC DIDEC CXJNE A1JMP A3A2: MOV AL, [SI]MOV [DI], ALINC SIINC DIDEC CXJNE A2A3: JMP A3CODE ENDSEND START4 实验步骤:1)按流程图编写实验程序,经编译、链接无误后装入系统;2)用E 命令在以SI为起始地址的单元中填入16 个数;3)运行程序,然后再停止运行;4)通过D 命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同;5)通过改变SI、DI 的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。
5 思考题:试编写一个程序,该程序的功能是:当BL寄存器内容为0时,将0-255这256个数据按从小到大的顺序放入到以3100H为起始单元的地址中去;当BL寄存器内容为1时,将0-255这256个数据按从大到小的顺序放入到以3100H为起始单元的地址中去。
输入程序,编辑、调试通过,连接、下载、运行程序,查看结果。
实验3 排序程序设计实验1 实验目的(1)掌握分支、循环、子程序调用等基本的程序结构;(2)学习综合程序的设计、编制及调试。
2 实验设备PC机一台,TD-PITC 实验装置一套。
3 实验内容及步骤3.1 实验内容1――――气泡排序法实验内容:在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求采用气泡法对该数据区中的数据按递增关系排序。
设计思想:(1)从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N 个数与第N-1 个数比较,第N-1 个数与第N-2 个数比较等等;若第N-1 个数大于第N 个数,则两者交换,否则不交换,直到N 个数的相邻两个数都比较完为止。
此时,N 个数中的最小数将被排在N 个数的最前列。
(2)对剩下的N-1 个数重复(1)这一步,找到N-1 个数中的最小数。
(3)再重复(2),直到N 个数全部排列好为止。
参考实验程序清单:SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV CX, 000AHMOV SI, 300AHMOV BL, 0FFHA1: CMP BL, 0FFHJNZ A4MOV BL, 00HDEC CXJZ A4PUSH SIPUSH CXA2: DEC SIMOV AL, [SI]DEC SICMP AL, [SI]JA A3XCHG AL, [SI]MOV [SI+01H], ALMOV BL, 0FFHA3: INC SILOOP A2POP CXPOP SIJMP A1A4: JMP A4CODE ENDSEND START实验步骤:(1)分析参考程序,绘制流程图并编写实验程序;(2)编译、链接无误后装入系统;(3)键入E3000 命令修改3000H~3009H 单元中的数,任意存入10 个无符号数;(4)先运行程序,然后再停止程序运行;(5)通过键入D3000 命令查看程序运行的结果;(6)可以反复测试几组数据,观察结果,验证程序的正确性。