微机原理与接口实验报告1

合集下载

微机原理实验报告(1)

微机原理实验报告(1)

微机原理与接口技术实验报告学院:计算机科学与工程学院专业:计算机科学与技术班级:计算机四班学号:姓名:指导老师:宋芳2011年12月1日调试程序DEBUG的使用练习一、实验目的:1.学习DEBUG常用命令的使用2.熟悉8086的寄存器3.了解程序运行的过程二、实验内容:分别用DEBUG程序的命令实现对PC机RAM单元、CPU寄存器等的内容修改及简单程序的跟踪运行;三、具体实验过程Debug的R命令查看、改变CPU寄存器的内容Debug的D命令查看内存中的内容Debug的E命令改写内存中的内容Debug的U命令将内存中的机器指令翻译成汇编指令Debug的T命令执行一条机器指令当指令是修改段寄存器SS时,修改SP的指令也一下执行了。

也可以跳到指定代码段执行:-t=0B39:0106Debug的A命令以汇编指令的格式在内存中写入一条机器指令用G是断点执行,用-g=100 106 10D,默认为段地址是CS。

2、在debug中,遇到loop循环指令时,可以用p跳过;实验十八写文件实验一.实验要求编写程序,将内存区域中用DEBUG程序设置好的一连串数据,以ASCII码1AH为结束符作为一个文件,存入磁盘,文件名为DATA.AAA.二.实验目的掌握写文件的DOS功能调用方法。

三.实验说明1.对于文件的读写操作,DOS提供了两种手段,第一种手段使用FCB进行存取,第二种手段是文件代号法进行存取。

文件代号法支持目寻路径,并且对错误采用了更统一的办法处理,是DOS推荐的存取方法。

2.使用文件代号法,要求文件名(含路径)用ASCII串表示,所谓ASCII串,就是以空字符00H结尾的一串ASCII字符。

3.文件代号法存取时出现错误,则功能调用返回时,要将CF标志位置1,同时在AX寄存器中返回统一的出错代码。

程序中要用JC指令进行错误判定,确认出错后再将错误代码显示出来,以便分析出错原因。

四.实验代码DATA SEGMENTBUFFER DB 'my name is tang zhi quan,my number is 0905010215' COUNT EQU $-BUFFER ;the count of ASCII for bufferDA DB 'please enter the file absolute path and file name:$' ADDRESS DB 40,?,40 DUP (?)BUILD_FAIT DB OFFSET AX3,OFFSET AX4,OFFSET AX5AX3 DB 'path cannot find$'AX4 DB 'open file too much$'AX5 DB 'access method is wrong$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA DX,DA ;Prompt for the file absolute pathMOV AH,9INT 21HLEA DX,ADDRESS ;set file pathMOV AH,0AHINT 21HMOV AH,2 ;put crlfMOV DL,0AHINT 21HMOV DL,0DHINT 21HMOV AL,ADDRESS+1 ;the number of path to SI MOV AH,0MOV SI,AXMOV DX,OFFSET ADDRESS+2 ;the first address for file path MOV BX,DXMOV BYTE PTR [BX+SI],'$' ;the end add 'S' to mark the end MOV CX,00H ;file propertyMOV AH,3CH ;create a file,the absolute path is "ADDRESS" INT 21HJNC NEXT ;sign create file succesWRONG_SHOW: MOV BX,OFFSET BUILD_FAIT;show the reason for file establish SUB AX,3 ;fail code of ax is 3,4,5ADD BX,AX ;ds:dx is the wrong information's first address MOV DL,[BX]MOV DH,0MOV AH,9INT 21HNEXT: MOV BX,AX ;ax is the number of file handlesMOV CX,COUNT ;the number of bufferLEA DX,BUFFER ;ds:dx point the first address of buffer MOV AH,40HINT 21HINT 21H ;endMOV AX,4C00HINT 21HCODE ENDSEND STAR开始初始化用int 21H的9号调用显示提示输入文件的绝对路径用int21H的0AH号调用输入并回显在屏幕上,并存入变量ADDRESS中,在后面加入'$'结束符输出换行回车用int21H的3CH号调用创建文件DATA.AAA,属性为默认读写CF=1YN创建文件失败,显示错误信息用int21H中的40H调用将buffer中的数据写入文件用int21H的3EH调用关闭文件结束实验三 8255输出实验一.实验要求编写程序,一8255作为输出口,控制8个单色LED灯。

微机原理与接口技术软件实验报告

微机原理与接口技术软件实验报告

第一篇软件实验实验一存储器块操作实验一、实验目的1. 熟悉KEIL集成调试环境和汇编程序的调试方法。

2. 掌握存储器读写方法;3. 了解内存块的移动方法;二、实验说明实验1 指定某存储器的其实地址和长度,要求能将其内容赋值。

通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。

块移动是单片机常用操作之一,多用于大量的数据复制和图像操作。

例程2给出起始地址,用地址加1方法移动块,将指定源地址和长度的存储块移到指定目标为起始地址的单元中去。

移动3000H起始的256个字节到4000H起始的256个字节。

三、实验内容1. 试编程将片内RAM中的数据依次复制到片外RAM。

假设源数据区的首地址为40H,目的数据区的首地址为1000H,数据块长度为10H。

流程图:程序:运行结果:Memory显示,片内RAM中40H开始数据为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明测试数据已经成功输入片内RAM。

从片外RAM中1000H位置开始记录为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明片内RAM从40H开始的数据已经成功复制到片外从1000H开始的地址。

2. 两个16位无符号二进制数分别存放在片外RAM首址为2000H和2002H单元内,将它们相加,结果存入RAM 30H(低8位)、31H(高8位)。

程序(以0506H+CDEFH为例):0506H和CDEFH已存入片外单元,运算结果D2F5已存入30H和31H中。

四、思考题1. 如何将存储块的内容置成某固定值(例全填充为0FFH)?请用户修改程序,完成此操作。

答:将源程序中的MOV A, #01H 改为MOV A,#0FFH即可。

2. 若源块地址和目标地址有重叠,该如何避免?答:先执行一次数据转移操作将源块地址中的数据先暂存入一块地址与目标地址和源块地址均不重叠的存储区,再执行一次数据转移操作将暂存区的数据移入目标地址区域。

微机原理与接口技术实验报告一

微机原理与接口技术实验报告一

微机原理与接口技术实验报告(一)实验内容一:1、实验目的: 考察对内存寻址方式、8086指令的理解内存中的数据排列如上表所示,各寄存器内容如下DS=2100H ES=2111H SS=2000H BX=106H CX=3H SI=106H DI=12H BP=1100H SP=1100HFR=3402H (FR 标志寄存器,FR 中的DF -字符串操作方向位为1)在执行下列指令后,写出寄存器AX中的内容 0) pop ax; AX= 1) mov ax,bx; AX= 2) mov ax,[bx];AX= 3) mov ax,102H;AX= 4) mov ax,[102H];AX= 5) mov ax,6[SI];AX= 6) lea ax,6[BX][DI];AX= 7) mov ax,[BP+DI];AX= 8) rep lodsw;AX= , 还需写出SI=2、实验内容: (1)开始菜单下选择运行,输入cmd 回车,在开启的窗口中输入debug 后回车,进入程序输入环境(2)利用r 指令显示当前各寄存器储值并按照上文中的寄存器值进行修改 结果如下:物理地址 内容(字节) 物理地址 内容(字节)21100H BEH 21110H 99H 21101H 02H 21111H 00H 21102H 01H 21112H E8H 21103H 8BH 21113H 7EH 21104H 44H 21114H E0H 21105H 02H 21115H 74H 21106H 29H 21116H 06H 21107H 44H 21117H E8H 21108H 04H 21118H 17H 21109H 9CH 21119H 01H 2110AH 50H 2111AH ACH 2110BH E6H 2111BH EBH 2110CH 99H 2111CH 34H 2110DH C6H 2111DH 00H 2110EH 06H 2111EH 30H 2110FHE8H2111FH0BH(3)d指令查看21100H——2111FH内存单元的内容(4)e指令对该段内存单元进行赋值(5)a指令按顺序输入要求中列出的指令(6)u指令进行反汇编(7)t指令(跟踪命令)逐条运行指令,观察记录指令运行结果3、实验结果0) pop ax; AX=02be1) mov ax,bx; AX=01062) mov ax,[bx];AX=44293) mov ax,102H;AX=01024) mov ax,[102H];AX=8b015) mov ax,6[SI];AX=c6996) lea ax,6[BX][DI];AX=011e7) mov ax,[BP+DI];AX=7ee88) rep lodsw;AX=4429, SI=0108实验内容二:1、实验目的:熟悉masm for windows 软件的应用,体会汇编程序的编写、编译、执行及调试等各个环节。

微机原理与接口技术实验1报告

微机原理与接口技术实验1报告

微机原理与接口技术实验报告实验一实验名称:试验箱硬件连接实验实验一:地址译码电路设计实验实验内容:用74LS138译码器设计地址译码电路,并用其输出作为基本输入输出单元的片选信号,使用设计的端口地址编写程序,实现数据的输入输出。

实验原理:微机接口电路中,常采用74LS138译码器来实现I/O端口或存储器的地址译码。

74LS138有3个输入引脚、3个控制引脚及8个输出引脚,其管脚信号如图1所示。

当3个控制信号有效时,相应于输入信号A、B、C状态的那个输出端为低电平,该信号即可作为片选信号。

32位总线地址是由XA2开始,所以地址是以4字节边界对齐的。

实验系统的I/O地址空间共有256字节,偏移地址一般从00H~FFH。

起始地址由PC机系统分配,可以查看端口资源得到起始地址。

所以设计地址译码电路,主要是针对XA7以下低8位地址线译码,得到偏移在00H~FFH之间的端口。

本实验要求不使用总线上的片选信号,自行设计端口偏移地址为E0H~FFH的译码电路,然后用译码输出作为I/O接口单元的片选。

编写程序,完成I/O数据操作。

实验步骤:(1) 实验接线图如图2所示,按图连接实验线路图。

(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,对实验程序进行编译、链接。

(3)运行程序,拨动开关,观看数据灯显示是否正确。

运行结果:屏幕上能够正确显示开关所表示的十进制数。

实验二:点阵LED显示设计实验实验内容:(1) 在TD-PIT+上使用基本输入输出单元中的两路输出OA[7:0]、OB[7:0]分别控制点阵LED的行控制R[7:0]和列控制L[7:0]。

编写程序,使点阵LED的每一行和每一列依次循环显示。

(2) 在TD-PIT++上使用32位I/O接口单元的32位输出O0~O31控制点阵LED 单元R0~R15和L0~L15。

编写程序,在16×16点阵上循环显示汉字。

实验原理:8×8点阵LED相当于8×8个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。

微机原理及接口技术实验报告

微机原理及接口技术实验报告

实验一 DEBUG命令及其基本操作一.实验目的:1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。

2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。

3.掌握各种寻址方法,了解简单指令的执行过程。

二、实验容:1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。

2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容:(具体到每个计算机所产生的段地址和偏移地址可能有所不同)这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序:3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。

4.现在让我们用“d”命令来看一下存储器在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。

5.下面我们用反汇编命令来查看一下所键入的程序。

“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。

键入:大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。

6.现在我们修改存储单元的容,看看显示情况和变化。

我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。

7.下面我们给程序命名并存盘。

在键入“n”后紧跟程序名及扩展名因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。

8.结束后可用Q命令退出DEBUG程序。

三、实验习题1.写出完成下列功能的指令序列(1)传送20H到AL寄存器(2)将(AL)*2(3)传送25H到BL寄存器(4)(AL)*(BL)问最后的结果(AX)=?单步执行结果:2.分别写出完成下列指令要求的指令:(1)将BX的低4位清零;(2)将AX的高4位置1;(3)将DX的低4位取反;(4)将CX的中间八位清零;(5)将AX中与BX中的对应位不相同的位均置1. 解答:(1)and bx,fff0。

微机原理与接口技术-清零程序实验报告

微机原理与接口技术-清零程序实验报告

《微机原理与接口技术》课程实验报告
一、实验目的和要求
实验目的:掌握汇编语言设计和调试方式;
实验要求:通过本实验,掌握8051汇编程序设计以及仿真实验的流程及方法。

二、实验环境
DVCC单片机仿真实验系统独立工作以及连PC机。

三、实验内容及实施
【实验内容】把50H~5FH单元的内容清零。

【源程序】
【实验步骤】
DVCC仿真实验系统连PC机时
(1)连接好相应的实验线路;
(2)在闪动“P.”状态,按PCDBG键;
(3)在PC机处于在Win95/98软件平台下,单击DVCC图标;
(4)在系统设置选项中设定仿真模式应设定为内程序、外数据;
(5)根据屏幕提示进入51/96动态调试菜单;
(6)连接DVCC实验系统;
(7)装载目标文件;
(8)设置PC起始地址;
(9)从起始地址开始连续运行程序;
(10)调出外部数据窗口,检查50H~5FH单元的内容是否全部被清零。

四、实验结果
五、实验讨论
通过8051汇编程序的设计、编译及运行,调出外部数据窗口,我们可以观察到从50H~5FH单元的内容已经被全部清零。

刚开始我们并没有做到全部单元清零,后来通过不断地调试错误和运行,实现了实验目的。

通过本次实验,掌握了汇编语言的设计,实现了清零操作,并且熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用。

微机原理及接口技术实验一

微机原理及接口技术实验一

微机原理与接口技术实验报告班级:学号: 姓名: 实验日期:2010-10-17预习报告成绩:实验成绩:实验一系统认识实验一、实验目的掌握微型计算机汇编软件调试源程序的基本操作。

熟悉传送类指令、简单运算类指令来编写汇编语言源程序,掌握调试过程及实验结果分析。

二、实验内容1、从3500H内存单元开始建立0~15共16个数据(建立的数据为00H,01H~09H,0AH~0FH),并运行之,检查记录结果。

实验程序清单:DATA SEGMENTORG 3500H ;设定起始偏移地址MEM1 DB 16 DUP(?)DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DI,3500H ;设数据区首址MOV CX,0010H ;字节数送入CXMOV AH,00HSAHF ;清标志寄存器MOV AL,00HA1: MOV [DI],AL ;写入一字节ITC DI ;修改地址指针INC AL ;修改数据LOOP A1 ;未填完转移MOV AH,4CHINT 21HCODE ENDS ;代码段结束END START2、如果1建立的数据为BCD码表示的十进制数据(即建立的数据为00H,01H-09H,10H-15H),修改上述程序并完成调试,检查记录结果。

●实验程序清单:DATA SEGMENTORG 3500HMEM1 DB 16 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DI,3500HMOV CX,0010HMOV AH,00HSAHFMOV AL,00HDAAA1: MOV [DI],ALINC DIINC ALDAALOOP A1MOV AH,4CHINT 21HCODE ENDSEND START3、编程完成1+2+3+4+5+6+7+8+9求和运算。

微机原理实验报告

微机原理实验报告

校区实验报告课程名称____________________________ 专业班级_____________________________ 学生及学号____________________________指导教师____________________________实验地点————————————————2015 ~2016 学年第二学期《微机原理与接口技术》实验一(1)实验名称存贮器部数据传送姓名系院专业电子信息类班级学号实验日期2016.6.14 指导教师成绩一、实验目的和要求1、初步掌握星研集成环境工具软件的使用方法。

2、掌握存储器部不同位置间数据传送的方法。

3、认真预习本节实验容,尝试自行编写程序,填写实验报告。

二、实验容(包括实验步骤和代码)1、编写源程序,要求将数据段中3000H~30FFH 单元的容传送给6000H~60FFH 单元中。

2、编译、连接所编写的源程序。

3、执行程序前,利用存贮器窗口将DS:3000H~300FH 中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,存贮器窗口支持数据的直接修改功能,在相对应的地址中直接输入数据即可。

4、进入调试状态后,分别以“全速运行”、“全速断点”、“单步”、“单步进入”等方式运行程序,同时在工作区窗口的CommonRegister 视图中查看本程序所使用的寄存器(CX、DI、SI)容的变化。

5、在如下图所示的存贮器窗口中检查程序运行结果是否正确。

程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DI,6000HCLDREPE MOVSBMOV CX,100HMOV SI,3000HMOV DI,6000HREPE CMPSBJNE ERRORTRUE: JMP $ERROR: JMP $END START三、实验结果及其分析1、通过该实验,成功地将数据段中3000H~30FFH 单元的容传送到了6000H~60FFH 单元中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口实验报告计算机与信息工程学院11级通信工程20111105438 李楠
2.4 分支程序设计实验
一、实验目的
1. 掌握分支程序的结构。

2. 掌握分支程序的设计、调试方法。

二、实验设备
PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。

三、实验内容
设计一数据块间的搬移程序。

设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。

源数据块和目的数据块在存储中可能有三种情况.
实验程序清单(例程文件名为:A4-1.ASM)
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV CX, 0010H
MOV SI, 3100H
MOV DI, 3200H
CMP SI, DI
JA A2
ADD SI, CX
ADD DI, CX
DEC SI
DEC DI
A1: MOV AL, [SI]
MOV [DI], AL
DEC SI
DEC DI
DEC CX
JNE A1
JMP A3
A2: MOV AL, [SI]
MOV [DI], AL
INC SI
INC DI
DEC CX
JNE A2
A3: MOV AX,4C00H
INT 21H ;程序终止
CODE ENDS
END START
四、实验步骤
1. 按流程图编写实验程序,经编译、链接无误后装入系统。

2. 用E命令在以SI为起始地址的单元中填入16个数。

3. 运行程序,待程序运行停止。

4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。

5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。

2.5 循环程序设计实验
一、实验目的
1. 加深对循环结构的理解。

2. 掌握循环结构程序设计的方法以及调试方法。

二、实验设备
PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。

三、实验内容及步骤
计算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。

编写实验程序,计算上式的结果。

实验程序清单(例程文件名为:A5-1.ASM)
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,0001H
MOV BL,02H
A1: MOV AL,BL
INC BL
MUL BL
ADD DX,AX ;结果存于DX中
CMP AX,00C8H ;判断N(N+1)与200的大小
JNA A1
MOV AX,4C00H
INT 21H ;程序终止
CODE ENDS
END START。

相关文档
最新文档