(微机原理实验报告)_第1页
(微机原理实验报告)_第2页
(微机原理实验报告)_第3页
(微机原理实验报告)_第4页
(微机原理实验报告)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验报告 课程名称 微机原理与接口(技术) 专 业 通信工程 班 级 通信1301B 学 号 1334140157 学 生 姓 名 刘欢 黄淮学院信息工程学院 实验报告一实验名称调试程序DEBUG及8086指令使用实验时间2015 01 09学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型演示性指导老师禹定臣实验地点1号楼614学 时21、实验目的通过实验掌握下列知识: 1)8086指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG2)DEBUG命令: A,D,E,G,Q,R,T,U,F,H。3)BCD码,ASCII码及用16进制数表示二进制码的方法

2、。4)8086寄存器: AX,BX,CX,DX,F,IP。2、实验预备知识1)熟悉DEBUG命令的使用2)8086、8088常用指令的练习。3、实验内容和步骤一、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。经过比较结果一样。5、用命令 E100 30 31 32 3F将30H-3FH写入地

3、址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H(2)56H,78H(3)A5,79H(4)1284H,5678H(5)A758,347FH经过比较与手算结果相同。7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。8、用R命令将AX,BX内容改写为1050H及23A8H。二、8086/8088常用指令练习1、传送指令2、加减法指令:3、带进位加减法:4、BCD码加减通过8086的单步运行,可以清楚的了解每条指令的运行

4、结果。4、实验电路、程序清单本实验为DEBUG的调用,无程序和电路。5、实验结果6、实验中遇到的问题 上实验课不是太懂 通过老师讲解懂了一些指导教师批阅成绩指导教师签字: 年 月 日实验报告二实验名称内存操作数及寻址方法实验时间20150313学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型验证性指导老师禹定臣实验地点1号楼614学 时21、实验目的通过实验掌握下列知识: 1)8086/8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 2)8086/8088指令:MOV,INC,DEC,LOOP,INT 3,INT 20H,寄存器BX,BP,SI,

5、DI。 3)8086/8088汇编语言伪操作:BYTE PTR,WORD PTR。 4)求累加和程序和多字节加减法程序。 2、实验预备知识 1)了解和掌握有哪些寻址方式2)熟练各种寻址方式的方法。3、实验内容和步骤1)内存操作数及各种寻址方式使用: 步骤: ( 也可用emu8086)1)用A命令键入上述程序,并用T命令逐条运行。2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。注意D命令显示结果中右边的ASCII字符及双字节数存放法。2)求累加和程序:步骤:1、DEBUG调试:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J

6、的实际地址,在键入LOOP指令时LOP用实际地址值代替。2)用E命令在内存地址2000H处键入16个数字3)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。4)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。5)重复G J与T,再检查AX是否正确。6)用G命令使程序运行到结束,检查AX值是否正确。2、用emu8086调试:给程序加上伪指令,观察运行结果。3)多字节加法程序。步骤:1)用命令键入此程序2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均

7、为低字节在前面。3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?4)自编程序:用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。调试并做记录。4、实验电路、程序清单1)内存操作数及各种寻址方式的使用MOVAX,5678H MOV2000H,AXMOVBX,2002HMOVBYTE PTRBX,40HMOVDL,45HINCBXMOVBX,DLDECDLMOVDI,3MOVBX+DI,DLMOVBX+DI+1,DLMOVWORD PTRBX+DI+2,7846H2)求累加和程序 程序:MOVBX,2000HMOVCX,10HSUBAX,AXL

8、OP: ADDAL,BXADC AH,0INCBXJ:LOOPLOPHLT3)多字节加法程序 程序:MOVDI,1000HMOVCX,8MOVSI,2000HCLCLOP: MOVAL,SIADCDI,ALINCSIINCDILOOPLOPHLT5、实验结果6、实验中遇到的问题本次实验比第一次好多了 但是还会遇到一些不会的 通过老师和同学的帮助学会了指导教师批阅成绩指导教师签字: 年 月 日实验报告三实验名称数据串传送及查表程序实验时间2015 03 27学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型综合性指导老师禹定臣实验地点1号楼614学 时21、实验目的

9、通过实验掌握下列知识:1)堆栈、堆栈指示器SP和堆栈操作指令PUSH、POP。2)段寄存器和物理地址计算。3)查表法和查表指令XLAT。4)数据串传送程序和数据串传送指令MOVS、STOS及重复前辍REP。5)循环指令ROL、逻辑与指令AND和清方向位指令CLD。6)伪操作指令DB。2、实验预备知识 1)了解相应指令符的应用2)知道什么是入栈、出栈及相应操作3)知道段寄存器和物理地址的计算,了解查表法的程序格式4)知道字符串是如何传送的5)熟悉循环指令ROL逻辑与指令AND和清零指令CLD,以及伪指令的掌握。3、实验内容和步骤一、利用查表方法把DX的内容(16进制数)转换成ASCII码:二、数

10、据串搬家程序:三、段寄存器概念及字符串传送指令练习:4、实验电路、程序清单1)利用查表法把DX的内容(16进制数)转换成ASCII码 MOVBX,1000HMOVDI,2000HMOVCX,4LOP: PUSHCXMOVCL,4ROLDX,CLPOPCXMOVAL,DLANDAL,0FHXLATCLDSTOSBLOOPLOPINT20H2)数据串搬家程序 MOVSI,1000HMOVDI,1500HMOVCX,0FHLOP: MOVAL,SIMOVDI,ALINCSIINCDILOOPLOPINT20H3)段寄存器概念及字符串传送指令练习MOVSI,0MOVDI,0MOVAX,1000HMOV

11、DS,AXMOVAX,1500HMOVES,AXMOVCX,0FHCLDREPMOVSBINT20H5、 实验结果一二三6、6、实验中遇到的问题 遇到了程序运行出错的问题,还有运行结果与实际不符的问题。指导教师批阅成绩指导教师签字: 年 月 日实验报告四实验名称屏幕字符显示程序实验时间2015 04 10学生学号1334140157 学生姓名刘欢同组人员专业班级通信1301B实验类型综合性指导老师禹定臣实验地点1号楼614学 时21、实验目的通过实验掌握下列知识:1、8086/8088指令: JMP,ROR,XOR,HLT。2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。

12、3、直接向RAM(VRAM)送ASCII码进行屏幕显示的方法。4、IBM-PC机的ASCII码表及控制字符。5、命令(.COM)文件及使用方法。6、利用Break退出程序的方法及局限性。2、实验预备知识 1)利用INT2109H号功能调用显示字符串2)利用INT21H2号功能显示字符3)直接向VRAM送ASCII码显示字符4)自己编写一个程序要求在AX中显示内容,即显示AX=xxx.3、实验内容和步骤一、利用INT 21 09H号功能调用显示字符串。二、利用INT 21H 2号功能显示字符:三、直接向VRAM送ASCII码显示字符四。自编一个程序,要求显示AX的内容,即能显示AX=xxxx。4

13、、实验电路、程序清单第一个实验程序清单MOVAH, 9MOVDX,110INT21HINT20H DB'This is a sample!$'第二个程序清单:XORDL,DLMOV CX,100HLOP:MOVAH,2HINT21HINCDLLOOPLOPINT20H第三个程序清单:DATA SEGMENTBUFF DB '0123456789ABCDEF'BUFF1 DB 'AX='BUFF2 DB 4 DUP(?)BUFF3 DB 'H$'DATA ENDSESS SEGMENTESS ENDSCODE SEGMENT ASS

14、UME CS:CODE,DS:DATA,ES:ESS SATRT:MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,78EFH MOV BX,OFFSET BUFF MOV DI,OFFSET BUFF2 MOVCX,4 LOP: PUSH CXMOVCL,4ROLAX,CLPOPCXPUSH AXANDAL,0FHXLATCLDSTOSBPOP AXLOOPLOPMOV DX,OFFSET BUFF1MOV AH,09HINT 21H INT20H CODE ENDSEND ST第四个程序:DATA SEGMENT STRING DB 'WANGYONGC

15、UN$'DATA ENDSSTACK1 SEGMENT PARA STACK DW 30 DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING MOV AH,09 INT 21H CODE ENDSEND START5、实验结果第一个程序运行结果:第二个程序运行结果:第三个程序运行结果:第四个程序运行结果6、实验中遇到的问题 在这次屏幕字符显示程序中实验中,遇到了程序运行出错的问题,还有运行结果与实际不符的问题,这些问题后来在老师和同学的帮

16、助下得到了解决。指导教师批阅成绩指导教师签字: 年 月 日实验报告五实验名称二进制数显示成十六进制数的屏幕字符显示程序实验时间2015 04 24学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型综合性指导老师禹定臣实验地点1号楼614学 时21、实验目的通过实验掌握下列知识:1)8086/8088指令: MOV,XLAT,LEA,JNE,CALL,RET,PUSH,POP,CMP,INT。2)数据段的定义方法。3)XLAT指令的使用方法。4)子程序的嵌套调用及子程序参数传递的方法。5)利用DOS功能调用INT 21H的4CH号功能返回DOS的方法。6)MASM、L

17、INK、DEBUG、EMU8086等汇编、调试工具的使用方法。2、实验预备知识 1)JG,SHR,MOV,OR,CMP,INC,LEA,INT等命令符的使用2)了解怎么利用DOS功能调用INT21H的9号功能进行屏幕显示的方法3、实验内容和步骤1.利用INT2109H号功能字显示字符串。1、字符串显示09H功能说明功能:在屏幕上显示在存储器内以“$”为结束符的字符串( “$” 不显示)。入口参数:DS:DX = 串首址。例4 一个以“$”结束的字符串已存放在mess为首地址的内存缓冲区中, 利用09号功能调用如下:mov ah,9mov dx,seg mess ; ds:dx=串地址mov d

18、s,dxmov dx,offset messint 21h2、从mess开始处存放下列字符串的ASCII码:This is a sample!$写程序把它显示出来。3、把上面你写出的程序存为4、在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误2自己编写一个程序,要求把NUM单元存放的一个8位的二进制数,显示成十六进制数如NUM单元式01001011要求能显示RESULT=48h4、实验电路、程序清单DATA SEGMENT NUM DB 01001011B BUF DB 0DH,0AH,'

19、;RESUL=' STR DB 4 DUP(?)DATA ENDSSTACK SEGMENT STACK DB 200 DUP(0) STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AL,NUM LEA DX,BUF LEA DI,STR MOV CH,2 MOV AH,AL MOV CL,4 SHR AL,CLNEXT: CMP AL,9 JNC NEXT1 ADD AL,30H JMP NEXT2NEXT1: ADD AL,37HNEXT2: MOV DI,

20、AL INC DI MOV AL,AH AND AL,0FH DEC CH JNZ NEXT MOV DI,'H' MOV DI+1,'$' MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START5、实验结果6、实验中遇到的问题 在二进制数显示成十六进制数的屏幕字符试验中 遇到了好多麻烦 最终解决了 指导教师批阅成绩指导教师签字: 年 月 日实验六实验名称查表指令及子程序嵌套实验实验时间2015 05 14学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型设计性指导老师禹定臣实

21、验地点1号楼614学 时21、实验目的通过实验掌握下列知识:1、8086/8088指令: MOV,XLAT,LEA,JNE,CALL,RET,PUSH,POP,CMP,INT。2、数据段的定义方法。3、XLAT指令的使用方法。4、子程序的嵌套调用及子程序参数传递的方法。5、利用DOS功能调用INT 21H的4CH号功能返回DOS的方法。6、MASM、LINK、DEBUG、EMU8086等汇编、调试工具的使用方法。2、实验预备知识计算机,EMU8086软件使用。3、实验内容和步骤 1、打开emu8086软件,并且新建立一个文件。2、开始调试第一个程序调试出错的地方有5处,并且修改ENGLISH应

22、该与前面的ENGLIST对照此处XTAL后面的TAB应该去掉此处的DEL应该为DEC此处的数字78后面的句号应该改为逗号第二个实验:此处的RESNLT应该与前面的RESULT对照此处的MOV应该改为MUL4、实验电路、程序清单1、已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量ENGLISH中。编写程序如下:STACKSEGMENT STACKDB200 DUP(0)STACKENDSDATASEGMENTTABDB 80,85,86,71,79,96 DB 83,56,32,66,78。84NODB 10ENGLISTD

23、B?DATAENDSCODESEGMENT ASSUMEDS:DATA,SS:STACK,CS:CODEBEGIN:MOVAX,DATA MOVDS ,AX LEABX,TAB MOVAL,NO DELAL XLATTABMOVENGLISH,AL MOVAH,4CH INT21HCODEENDSENDBEGIN2、计算5!的程序示例, RESULT是保存阶乘的存储单元。程序如下:STACKSEGMENT STACKDB 200 DUP(0)STACKENDSDATASEGMENTNDW 5RESULTDW ?DATAENDSCODESEGMENT ASSUME CS:CODE, SS:STA

24、CK,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVAX,NCALL FACT MOVAX,RESULTMOVAH,4CH INT21HFACT PROC CMP AX,0JNEL1 MOVRESULT,1 JMPEXITL1:PUSH AXDECAX CALL FACTPOPAX MOVRESULT MOVRESNLT,AXEXIT:RETFACTENDPCODEENDSENDSTART二、读一读以下程序,看一看运行结果。(选作)DATASEGMENTATRIDB 6EH,52H,94H,52H,6EHDATAENDSSTACKSEGMENT PARA STACK

25、'STACK' DB 200 DUP(0)STACKENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKST:MOVAX,DATA MOVDS,AX MOVAH,0;设置80×25彩色文本方式 MOVAL,3 INT10HLEASI,ATRI;属性字节值表首址存SI MOVDI,5;显示5个字符 MOVDX,0A13H;显示位置 MOVAH,15;取当前页号 INT10HLP:MOVAH,2;置光标位置 INCDL INT10HMOVAL,5;显示梅花形字符 MOVBL,SI MOVCX,1MOVAH,9 INT10H INCS

26、I;指向下一属性字节DECDI;判显示完否 JNZLP;未完转LP再显示 MOVAH,4CH;完,返回DOS INT21HCODEENDSENDST5、 实验结果最终运行阶乘的结果为1206、 实验中遇到的问题在老师和同学的帮助下解决了问题。在本次的8255接口电路实验的时候,和上次一样,也是遇到了电路图再编译的时候老是出错,程序写不进去等问题指导教师批阅成绩指导教师签字: 年 月 日实验报告七实验名称8255接口电路实验实验时间2015.05.22学生学号1334140157学生姓名刘欢同组人员专业班级通信1301B实验类型设计性指导老师禹定臣实验地点1号楼614学 时21、实验目的1、进一

27、步了解8255A芯片的结构及编程方法。2、掌握通过8255A并行口读取开关数据的方法。2、实验预备知识计算机,protues软件使用,8255A芯片的结构和编程方法。3、实验内容和步骤1打开protues软件,并且新建立一个设计,并保存设计。2通过库查找,把元件清单,拉入到工作面板内。对应原理图,器件连线4、实验电路、程序清单实验电路:程序清单DATA SEGMENT A EQU 0FF40H B EQU 0FF42H C EQU 0FF44H K EQU 0FF46HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV AL,82H;8255初始化,A口方式0输出,B口方式0输入 MOV DX,K OUT DX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论