微机原理与接口技术--实验二 屏幕字符显示程序
- 格式:doc
- 大小:45.50 KB
- 文档页数:4
微机原理与接口技术实验报告实验一、认识tddebug集成操作软件一.实验内容(一)实验题目:数据传输实验1.编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2.修正此程序,使用字符串传输指令顺利完成。
(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各个寄存器及数据区的内容。
(三)实验步骤:1.运行tddebug软件,选择edit菜单编写实验程序件。
3.使用rmrun菜单中的run运行程序,观察运行结果。
4.采用rmrun菜单中的debug调试程序,查阅程序段、数据段、额外段放入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:1)按f7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:方法1:在cpu窗口按tab键并使内存数据表明区沦为活动区,按ctrl+g键,?输入:“ds或es寄存器的值:偏移地址”,即可显示用户指定的数据区方法2:选择菜单view|dump,弹出内存数据显示窗口。
3)查阅继续执行结果:按alt+f5,转换至用户窗口。
5.修改数据区中的数据,实地考察、调试程序的正确性。
二.分析设计思想,绘制实验原理图、流程图。
汇编语言程序的研发过程例如图1.1右图,这个过程主要存有编辑、编程、链接几个步骤形成。
三.程序清单及相关注释。
ddatasegmentmsrdb\lenequ$-msrddataendsexdasegmentmsddblendup(?);定义源数据段;定义额外数据段1exdaends;定义堆栈段mystacksegmentstackdw20dup(?)mystackendscodesegment;定义代码段assumecs:code,ds:ddata,es:exdastart:movax,ddatamovds,axmovax,exdamovmovmovmovmoves,axsi,offsetmsrdi,offsetmsdcx,lenbx,0;装载数据段寄存器;装载附加数据段寄存器next:moval,msr[bx];已经开始传输数据moves:msd[bx],al inclooppushbxnextes;将附加段寄存器指向的段值赋给数据段寄存器popdsmovdx,offsetmsdmovah,9int21hmovah,4chint21h;显示字符串;返回dos状态codeendsendstart四.实验结果并分析。
微机原理及接口技术实验一、实验目的本实验旨在通过学习微机原理和接口技术,了解和掌握微机系统的基本原理和接口技术的应用,培养学生对微机系统的认识和实践操作能力。
二、实验内容1. 微型计算机系统设计与搭建2. 微机输入输出接口技术应用实验3. 微机总线技术应用实验4. 微机存储器技术应用实验5. 微型计算机中断和DMA技术应用实验三、实验原理1. 微型计算机系统设计与搭建微型计算机主要由中央处理器、存储器、输入输出设备和总线组成。
本实验通过选择适当的芯片、电路连接和控制程序设计,实现一个基本的微型计算机系统。
2. 微机输入输出接口技术应用实验输入输出是微型计算机的重要组成部分,通过实验学习各种输入输出接口的原理和使用方法,并进行实际应用。
3. 微机总线技术应用实验总线是微型计算机各个部件之间传送数据和控制信息的公共通信路径。
通过实验学习总线的分类、结构和时序要求,掌握总线的实际应用。
4. 微机存储器技术应用实验存储器是微型计算机中存储数据和程序的重要设备。
通过实验学习不同类型存储器的原理和应用,掌握存储器的选择和使用。
5. 微型计算机中断和DMA技术应用实验中断和直接存储器访问(DMA)是微型计算机连接外部设备的重要技术。
通过实验学习中断和DMA的工作原理,掌握中断和DMA的应用方法。
四、实验步骤1. 根据实验要求,设计并搭建微型计算机系统;2. 连接输入输出设备,并编写控制程序;3. 进行输入输出接口技术应用实验,如串行通信、并行通信等;4. 进行总线技术应用实验,如总线传输数据测试等;5. 进行存储器技术应用实验,如读写存储器数据等;6. 进行中断和DMA技术应用实验,如中断服务程序编写等;7. 完成相关实验报告并进行总结。
五、实验设备和材料1. 微型计算机实验箱、电源适配器;2. 8051单片机、存储器芯片、输入输出芯片,如74HC164等;3. LED数码管、LCD液晶显示器、键盘、计算器等输入输出设备;4. 可编程芯片编程器、逻辑分析仪等实验设备。
微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。
实验一,微机原理。
在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。
通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。
同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。
实验二,接口技术。
在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。
我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。
实验三,实验综合。
在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。
通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。
总结。
通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。
微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。
希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。
以上就是本次实验的实验报告,希望对大家有所帮助。
感谢大家的阅读!。
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理及接口技术实验报告实验项目名称:显示一个字符串实验日期:实验成绩:实验评定标准:一、实验目的1.熟悉汇编语言源程序上机的过程和方法2.掌握宏汇编程序MASM5.1的链接程序LINK3.6的使用方法。
3.了解DEBUG调试汇编语言程序的过程和方法。
二、实验器材电脑、微型计算机原理及应用实验指导书及教科书三、实验内容(实验过程)1.编辑源程序利用文本编辑工具,生成一个汇编程语言程序的纯文本文件ASM。
在汇编源程序中,一行只能写一条语句。
2.汇编源程序3.链接目标程序4.调试可执行程序四、实验程序data segmentmesage db" how do you do" ,0dh,0ah,24hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axlea dx,mesagemov ah,09hint 21hmov ah,4chint 21hcode endsend start四、实验结果及分析分析:在汇编链接目标文件之后执行文件会出现“how do you do”。
若改变mesage db" how do you do" ,0dh,0ah,24h中的how do you do输入你想输出的字符串就可以了。
如果程序执行情况与预期不同,或执行时操作系统报告出错信息,就要通过调试工具进行动态调试,查找程序的问题。
查到问题后,又重回到第一步,重新开始,修改源程序问题。
微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。
一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。
根据显示屏上的自检信息,可以判断计算机硬件的工作状态。
2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。
首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。
在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。
通过观察实验结果,判断串口通信是否正常。
3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。
首先,将并行口接口连接到计算机主机。
然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断并口通信是否正常。
4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。
首先,将USB接口连接到计算机主机。
然后,在计算机中安装相应的驱动程序。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断USB接口是否正常工作。
5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。
首先,将计算机连接到局域网中的其他计算机。
然后,进行相应的设置,包括IP地址、子网掩码等。
通过编写程序,实现计算机之间的数据交互。
观察实验结果,判断网络接口是否正常工作。
三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。
通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。
微机原理与接口技术实验报告(二)1、实验内容一:实验目的:(1) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。
2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。
如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。
运行后程序正常, 调试完毕。
如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。
STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。
微机原理与接口技术实验报告实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。
二、实验所用设备1. PC微机一台。
三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。
实验中可使用DOS功能调用(INT 21H)。
(1) 显示单个字符输出入口:AH=02H调用参数:DL=t出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX串地址,’$'为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=t出字符(4) 返回DO系统入口:AH=4CH调用参数:AL=M回码四、实验步骤1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;4. 使用Rmrun菜单中的Debug调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。
图1-1显示程序实验流程图五、程序清单DATA SEGMENTMES DB 'laoshihao:', 0AH,0DH,'$' SD DB 'b'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESMOV AH, 09HINT21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0HSHR AL,4CMP AL, 0AHJB L1ADD AL, 07HL1: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AL, DS:[DI]AND AL, 0FHCMP AL, 0AHJB L2ADD AL, 07HL2: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AX, 4C00HINT21HCODE ENDSEND START六、实验调试过程调试过程中出现警告,显示没有使用堆栈段。
北京X X大学实验报告课程(项目)名称:实验二屏幕字符显示程序学院:专业:班级:学号:姓名:成绩:2013年 12月 10 日一、任务与目的1. 实验任务:(1) 熟悉和掌握利用DOS调用进行屏幕显示的方法;(2) 掌握屏幕字符显示程序的编写。
2. 实验目的:(1) 熟悉字符串表示的语法结构;(2) 熟悉利用DOS调用编写字符屏幕显示的基本程序。
二、原理(条件)1.相关知识:(1) 字符串显示格式;(2) 熟悉DOS调用使用方法。
2.实验条件:MASM汇编程序及TD调试软件。
三、内容步骤1.编写程序在屏幕上显示“Our Team: 姓名拼音+姓名拼音!”,观察执行情况并分析结果。
参考程序如下,请在参考程序之上改写。
DATA SEGMENTSTRING DB 'hello,everybody!.You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.',0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START四、数据处理(现象分析)实验结果:实现代码:DATA SEGMENTSTRING DB 'Our team:Lingwei zhangzhengqiangcaoruanruan',0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START五、结论通过参照示例程序完成实验时,对实验结果的观察并结合课本对实验现象的分析可得知:DOS系统功能调用是利用软中断指令INT 21来实现的,方法如下,1.AH←功能号;2.在指定寄存器中放入该功能所要求的入口参数;3.执行INT 21H指令;4.分析出口参数此外,要将一个字符串送到显示器显示,需要调用DOS功能的9号功能,该功能要求被显示的字符串必须以“$”字符作为结束符,否则会引起屏幕乱码。
微机原理与接口技术实验报告实验一,微机原理实验。
1. 实验目的。
本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。
3. 实验步骤。
(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。
(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。
(3)了解存储器与I/O接口的基本概念和工作原理。
(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。
通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。
实验二,接口技术实验。
1. 实验目的。
本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。
2. 实验内容。
本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。
3. 实验步骤。
(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。
(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。
(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。
(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。
4. 实验结果。
通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。
通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。
总结。
通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。
希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。
微机接口实验报告实验一简单I/O口扩展实验一、实验目的1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
二、实验内容1、由键盘输入字符,然后通过74LS273将其ASCII码锁存输出,并通过LED显示出来。
2、逻辑电平开关的状态输入74LS244,经过PCI总线读入并以16进制显示在屏幕上。
3、逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
三、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
四、实验步骤1、实验接线:(←→表示相互连接)CS0←→CS244,CS1←→CS273,平推开关的输出K1~K8←→IN0~IN7(对应连接)00~07←→发光二极管的输入LED1~LED8。
2、编辑程序,用debug调试程序,单步运行。
3、调试通过后,全速运行程序,观看实验结果。
4、编写实验报告。
五、实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
六、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2 应该点亮。
七、程序框图(如图1)实验程序:实验 1; * cs0<->cs273,D0~D7依次接LED1~LED8*;IOPOR T EQU 0A800HLS273 EQU IOPORT+0A0HCODE SEGMENTASSUME CS:CODESTART: MOV AH,2 ;回车符MOV DL,0DHINT 21HMOV AH,1 ;等待键盘输入INT 21HCMP AL,27 ;判断是否为ESC键JE EXIT ;若是则退出MOV DX,LS273 ;若不是,从2A8H输出其ASCII码OUT DX,ALJMP START ;转startEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START实验结果:从键盘输入数字0~9可以通过LED显示相应的二进制代码(亮灯为0,熄灯为1)例如从键盘输入数字3,灯亮情况led4~led1对应0011;即led4~led1从到左表示0011,led4、led3低位,led2、led1高位。
微机原理及接口技术实验报告课程(项目)名称:微机原理与接口技术学院:自动化专业:自控姓名:学号:指导教师:成绩:2014年11 月26 日实验一认识实验及多字节加减法程序一、任务与目的1. 实验任务:(1) 熟悉和掌握MASM汇编程序及TD调试软件的使用;(2) 熟悉代码段、数据段、堆栈段的结构;(3) 掌握8086/8088汇编程序的结构;(4) 掌握多字节加减法程序的编写。
2. 实验目的:(1). 掌握8086/8088汇编程序及调试程序的基本使用方法;(2) 熟悉8086/8088汇编语言编写的基本结构;(3) 熟悉多字节加减算术运算的基本方法。
二、原理(条件)1.相关知识:(1) MASM汇编程序及TD调试软件的使用方法;(2) 8086/8088汇编程序结构及算术运算等相关指令。
2.实验条件:MASM汇编程序及TD调试软件。
三、内容步骤1.启动TD(Turbo Debugger)输入程序段,观察执行情况并分析结果:(1) MOV BL,08HMOV CL,BLMOV AX,03FFHMOV BX,AXMOV [0200H],BXMOV ES:[0300H],AX(2) MOV AX,0A268HMOV SI,9D1CHADD AX,SIAX= 3F84H CF= 1 AF= 1 ZF= 0 PF= 1 OF= 1 SF= 0 ADD AL,30HAX= 3FB4H CF= 0 AF= 0 ZF= 0 PF= 1 OF= 0 SF= 1ADC AX,0FFFFHAX= 3FB3H CF= 1 AF= 1 ZF= 0 PF= 0 OF= 0 SF= 0分析:第一个是两个字相加,第二个是两个字节相加,第三个是两个字带进位相加,AX内结果改变的同时,FLAGS标志位也相应发生变化。
(3) 输入程序段,分步运行:MOV AX,0102HMOV BX,0304HMOV CX,0506HMOV DX,0708HPUSH AXPUSH BXPUSH CXPUSH DXPOP DXPOP CXPOP BXPOP AX分析:该段程序是对栈的操作,将AX,BX,CX,DX先后栈之后再出栈,观察到进栈出栈时栈内变化及SP指针值的变化。
微机原理实验2 字符及字符串的输入与输出班级学号姓名实验时间:年月日实验成绩:1.实验目的利用汇编及连接程序,实现字符及字符串的输入与输出,要求运用系统功能调用INT21H。
完成创建源程序文件,汇编,连接,运行,实验结果的查看。
完成下面两个任务:a.在屏幕上显示‘hello,world!’b.从键盘上输入一个英文字符,然后显示其ascii二进制代码。
2.实验原理a.输入单字符这是1号系统功能调用,使用格式如下所示:它没有入口参数,执行1号系统功能调用时,系统等待键盘输入,待程序员按下任何一键,系统先检查是否Ctrl-Break键,如果是则退出,否则将键入字符的ASCII码置入AL寄存器中,并在屏幕上显示该字符b.输入字符串这是0AH号系统功能调用,其功能是将键盘输入的字符串写入到内存缓冲区中,因此必须事先在内存储器中定义一个缓冲区。
其第1字节给定该缓冲区中能存放的字节个数,第2字节留给系统填写实际键入的字符个数,从第3个字节开始用来存放键入的字符串,最后键入回车键表示字符串结束。
如果实际键入的字符数不足填满缓冲区时,则其余字节填“0”;如果实际键入的字符数超过缓冲区的容量,则超出的字符将被丢失,而且响铃,表示向程序员发出警告。
0AH号系统功能调用的使用格式如下所示:……BUF DB 20DB ? 定义缓冲区DB 20 DUP(?)……MOV DX,OFFSET BUFMOV AH,0AH 0AH号系统功能调用INT 21H以上程序中,由变量定义语句定义了一个可存放20个字节的缓冲区,执行到INT21H 指令时,系统等待用户键入字符串。
程序员每键入一个字符,其相应的ASCII码将被写入缓冲区中,待程序员最后键入回车键时,由系统输出实际键入的字符数,并将其写入缓冲区的第2字节中。
c.单字符这是2号系统功能调用,使用格式如下所示:MOV DL,‘A’MOV AH,2INT 21H执行2号系统功能调用时,将置入DL寄存器中的字符从屏幕上显示输出(或打印机打印输出)。
西北工业大学明德学院实验报告实验项目微机原理与接口技术实验班级 122202姓名杜昊昀学号 121764指导老师李茹时间 2014-03-18实验题目显示程序实验实验目的利用计算机语言输出一个字符和字符串,并且输出自己的姓名,班级和学号。
实验内容DATA SEGMENTMES1 DB ‘name:dhy’,0AH,0DH,'$' MES2 DB ‘number:121764’ ,0AH,0DH,'$' MES3 DB ‘class:122202’,OAH,ODH,’$’SD DB '3'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES1 ;显示提示信息MOV AH,09HINT 21HMOV DX,OFFSET MES2 ;显示提示信息MOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:[SI]AND AL,0F0H ;取高4位SHR AL,4CMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;显示字符 MOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位 CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;显示字符 MOV AH,02HINT 21HMOV AX,4C00H ;返回DOS INT 21HCODE ENDSEND START实验步骤1、阅读老师给的原程序,再利用相关的软件输入源代码。
2、根据老师要求修改源代码,分别将将自己的班级,学号和姓名及字符“3”,编写进程序。
3、编程完整个程序之后,检查无错误之后,经过编译,链接和运行得到输出结果。
实验二初级程序的编写与调试实验一、实验目的1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出.3、掌握各种寻址方法以及简单指令的执行过程.二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX 的内容进行交换.请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试.程序:MOV AX,3000MOV BX,5000MOV SP,2000PUSH AXPUSH BXPOP AXPOP BXHLT2、设DS=当前段地址,BX=0300H,SI=0002H请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入OAH,OBH,OCH,ODH,OEH.在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?-E 300 0A,0B,0C,0D,0E-AMOV BX,0300MOV SI,0002MOV AX,BXMOV AX,0304MOV AX,[0304]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI] HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成. 程序:MOV AX,0002MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXMOV CL,1SHL AX,CLHLT实验四加法及判断程序的编写与调试一、实验目的1、熟练掌握编写汇编语言源程序的基本方法和基本框架.2、学会编写顺序结构,分支结构和循环结构的汇编程序3、掌握程序中数据的产生与输入输出的方法.二、实验内容1、用汇编语言编写一个加法程序:1325+9839请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出.程序:DATA SEGMENTDATA1 DB '5','2','3','1'DATA2 DB '9','3','8','9'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DA TA1LEA DI,DATA2MOV CX,4MOV AH,0 NEXT:MOV AL,[SI]ADC AL,[DI] ADC AL,AHMOV AH,0AAAADD AL,30HMOV [DI],ALINC DIINC SILOOP NEXTMOV CX,5ADD AH,30HMOV [DI],AH NEXT1:MOV DL,[DI]MOV AH,02INT 21HDEC DILOOP NEXT1MOV AH,4CHINT 21H CODE ENDSEND START2、假设有一组数据:5,-4,0,3,100,-51,请编写一程序,判断:每个数是否大于0?等于0?还是小于0?并输出其判断结果,即即:1当X>0Y=0当X=0-1 当X<0程序:DATA SEGMENTDATA1 DB 5, -4, 0 ,3,100,-51STRING1 DB'Y=1','$'STRING2 DB'Y=0','$'STRING3 DB'Y=-1','$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DA TA1MOV CX,6NEXT: MOV AL,[SI]CMP AL,0JZ NEXT1JNS NEXT2JS NEXT3NEXT1: MOV DX,OFFSET STRING2MOV AH,09HINT 21HJMP NEXT4NEXT2: MOV DX,OFFSET STRING1MOV AH,09HINT 21HJMP NEXT4NEXT3: MOV DX,OFFSET STRING3MOV AH,09HINT 21HNEXT4: INC SILOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START实验五大小写字母互换程序的编写与调试一、实验目的进一步熟悉汇编语言源程序的编写方法及宏汇编程序的使用方法二、实验内容设内存数据区有大小写混合英文ASCII码字母:‘AbCdEfGChinaAgriculturalUniversity’。
微机原理与接口技术实验报告实验目的,通过本次实验,掌握微机原理与接口技术的基本知识,了解并掌握微机接口技术的应用方法。
实验仪器与设备,微机实验箱、接口卡、示波器、电源等。
实验原理,微机接口技术是指微机与外部设备进行数据交换的技术。
它是微机与外部设备之间的桥梁,通过接口技术可以实现微机与外部设备之间的数据传输和通信。
实验内容与步骤:1. 实验一,串行通信接口实验。
a. 将串行通信接口卡插入微机实验箱的接口槽中;b. 连接示波器和外部设备,并进行数据传输测试;c. 观察并记录数据传输的波形和数据传输情况。
2. 实验二,并行通信接口实验。
a. 将并行通信接口卡插入微机实验箱的接口槽中;b. 连接外部设备,并进行数据传输测试;c. 观察并记录数据传输的情况。
3. 实验三,AD转换接口实验。
a. 将AD转换接口卡插入微机实验箱的接口槽中;b. 连接外部模拟信号源,并进行模拟信号转换测试;c. 观察并记录模拟信号转换的波形和数据传输情况。
实验结果与分析:1. 串行通信接口实验结果分析:通过实验发现,在串行通信接口实验中,数据传输的波形稳定,数据传输速度较快,适用于对数据传输速度要求较高的应用场景。
2. 并行通信接口实验结果分析:在并行通信接口实验中,数据传输稳定,但数据传输速度相对较慢,适用于对数据传输速度要求不高的应用场景。
3. AD转换接口实验结果分析:经过实验发现,AD转换接口可以将模拟信号转换为数字信号,并且转换精度较高,适用于对信号转换精度要求较高的应用场景。
实验总结与展望:通过本次实验,我们深入了解了微机原理与接口技术的基本知识,掌握了串行通信接口、并行通信接口和AD转换接口的应用方法。
同时,也发现不同接口技术在数据传输速度、稳定性和精度方面各有优劣,需要根据实际应用场景进行选择。
未来,我们将继续深入学习和探索微机接口技术的应用,为实际工程项目提供更好的技术支持。
结语:通过本次实验,我们对微机原理与接口技术有了更深入的了解,实验结果也验证了接口技术在数据传输和信号转换方面的重要作用。
一、实验目的1. 了解字符显示微机的基本原理和结构;2. 掌握字符显示微机的编程方法;3. 学会使用字符显示微机进行简单的数据处理和显示。
二、实验原理字符显示微机是一种基于微处理器的字符显示设备,它可以用于显示文本、图形等信息。
字符显示微机主要由以下几个部分组成:1. 微处理器:字符显示微机的核心部分,负责控制和协调各个模块的工作;2. 存储器:包括只读存储器(ROM)和随机存储器(RAM),用于存储程序和数据;3. 输入设备:如键盘、鼠标等,用于输入数据和指令;4. 输出设备:如显示器、打印机等,用于输出结果和显示信息;5. 接口电路:用于连接各个模块,实现数据传输和通信。
字符显示微机的基本工作原理是:微处理器根据程序指令,从存储器中读取数据,进行计算和逻辑判断,然后将结果输出到显示器上显示。
三、实验仪器与设备1. 字符显示微机一台;2. 键盘一个;3. 显示器一个;4. 电源一个。
四、实验步骤1. 启动字符显示微机,进入操作系统界面;2. 编写程序,实现以下功能:(1)定义一个字符数组,用于存储要显示的文本;(2)使用循环语句,逐个字符地在显示器上显示数组中的内容;(3)使用条件语句,实现显示内容的换行;(4)使用延时函数,实现显示内容的暂停效果;3. 编译程序,生成可执行文件;4. 运行程序,观察显示效果。
五、实验结果与分析1. 编写程序:```c#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main() {char text[] = "Hello, world!";int i = 0;while (text[i] != '\0') {printf("%c", text[i]);i++;usleep(200000); // 延时200毫秒}printf("\n");return 0;}```2. 编译程序,生成可执行文件:`gcc -o display_text display_text.c`3. 运行程序,观察显示效果:在显示器上,程序将逐个字符地显示文本“Hello, world!”,每个字符之间有200毫秒的暂停效果。
微机原理与接口技术实验报告实验二实验名称:试验箱软件环境搭建实验实验内容:流水灯显示实验:首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。
参考实验程序流程如图所示:实验步骤:(1)实验接线图如图6所示,按图连接实验线路图。
(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接。
(3)运行程序,观察LED灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
实验代码:代码一:;T8255-2.asm;8255流水灯显示实验IOY0 EQU 3000H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDA TA SEGMENTLA DB ? ;定义数据变量LB DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;定义8255工作方式MOV AL,80H ;工作方式0,A口和B口为输出OUT DX,ALMOV DX,MY8255_A ;写A口发出的起始数据MOV AL,80HOUT DX,ALMOV LA,ALMOV DX,MY8255_B ;写B口发出的起始数据MOV AL,01HOUT DX,ALMOV LB,ALLOOP1: CALL DALL YMOV AL,LA ;将A口起始数据右移再写入A口ROR AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LB ;将B口起始数据左移再写入B口ROL AL,1MOV LB,ALMOV DX,MY8255_BOUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16HJZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21HDALL Y PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND START运行结果:流水灯从两边往中间依次闪烁。
《微机原理与接口技术》实验报告安徽工业大学计算机学院姓名专业班级学号指导教师实验一 8255A应用—数码管动态显示一、实验目的1、掌握8255A的工作方式、编程原理和微机接口方法。
2、了解LED数码管动态显示的工作原理及编程方法。
二、实验内容编制程序,使数码管显示“DICE88”字样。
三、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌面OTA图标或通过开始-程序-dj8086k-DJ8086k微机原理与接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)数码管显示“DICE88”字样。
脱机模式:(1)在P.态下,通过单板机小键盘,从2DF0地址开始输入机器码(参见附录三),完成后返回监控,输入起始地址2DF0,再按EX键执行。
(2)数码管显示“DICE88”字样。
四、实验程序清单CODE SEGMENT ; display "DICE88"ASSUME CS:CODEORG 2DF0HSTART: JMP START0PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90 h,88h,83h,0c6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0HSTART0: CALL BUF1CON1: CALL DISPJMP CON1DISP: MOV AL,0FFH;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH;01HJZ LX1MOV AL,0FFH;00HMOV DX,PAOUT DX,ALINC BXROR CL,1 ;SHR CL,1 JMP DIS1 LX1: MOV AL,0FFHMOV DX,PB OUT DX,ALRETBUF1: MOV BUF,0DH;实验修改 mov buf,0ahMOV BUF+1,01HMOV BUF+2,0CHMOV BUF+3,0EH MOV BUF+4,08H ;实验修改mov buf+4,00h MOV BUF+5,08H;实验修改mov ,buf+5,09hRET CODE ENDS END START实验二 8259单级中断控制器实验一、实验目的1.掌握8259中断控制器的接口方法。
北京X X大学
实验报告
课程(项目)名称:实验二屏幕字符显示程序学院:专业:
班级:学号:
姓名:成绩:
2013年 12月 10 日
一、任务与目的
1. 实验任务:
(1) 熟悉和掌握利用DOS调用进行屏幕显示的方法;
(2) 掌握屏幕字符显示程序的编写。
2. 实验目的:
(1) 熟悉字符串表示的语法结构;
(2) 熟悉利用DOS调用编写字符屏幕显示的基本程序。
二、原理(条件)
1.相关知识:
(1) 字符串显示格式;
(2) 熟悉DOS调用使用方法。
2.实验条件:
MASM汇编程序及TD调试软件。
三、内容步骤
1.编写程序在屏幕上显示“Our Team: 姓名拼音+姓名拼音!”,观察执行情况并分析结果。
参考程序如下,请在参考程序之上改写。
DATA SEGMENT
STRING DB 'hello,everybody!.You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,STRING
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
四、数据处理(现象分析)
实验结果:
实现代码:
DATA SEGMENT
STRING DB 'Our team:Lingwei zhangzhengqiang
caoruanruan',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,STRING
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、结论
通过参照示例程序完成实验时,对实验结果的观察并结合课本对实验现象的分析可得知:DOS系统功能调用是利用软中断指令INT 21来实现的,方法如下,
1.AH←功能号;
2.在指定寄存器中放入该功能所要求的入口参数;
3.执行INT 21H指令;
4.分析出口参数
此外,要将一个字符串送到显示器显示,需要调用DOS功能的9号功能,该功能要求被显示的字符串必须以“$”字符作为结束符,否则会引起屏幕乱码。
显示时,如果希望光标
能够自动换行,则在字符串结束前加上回车及换行的ASCII码0DH和0AH。
当执行完显示器输出的指令后,为了能使程序正常的退出并返回DOS,要使用DOS功能调用的4CH号功能,用4CH号功能返回DOS的程序段如下:
MOV AH,4CH ;功能号送AH
INT 21H ;返回DOS
六、参考资料
《微机原理与接口技术》实验指导书
七、评语。