欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    8086 8088微机原理与接口技术实验指导书.doc

    • 资源ID:2881692       资源大小:163KB        全文页数:56页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    8086 8088微机原理与接口技术实验指导书.doc

    8086/8088微机原理与接口技术目 录8086/8088微机原理与接口技术1前 言3第一章 实验环境介绍51.1汇编语言程序的上机过程51.1.1、源程序的编辑51.1.2、汇编51.1.3、链接51.1.4、调试6第二章 软件部分实验7实验一 汇编语言上机环境及基本操作7实验二 DEBUG调试程序的应用10实验三 顺序程序设计16实验四 分支结构程序设计18实验五 循环结构程序设计20实验六 子程序设计22实验七 EMU8086集成开发环境24实验八 综合程序设计与调试26附录 debug用法大全28前 言认真做好实验,是掌握应用,提高动手能力的一个重要环节。本课程安排了一些接口部件的实验,每个实验2学时,目的在于让同学们了解和掌握汇编语言的程序设计的基本方法和常用的接口器件的使用方法。一个完整的实验过程,包括实验前的准备、实验操作过程和实验后的总结三部分。做好实验前的准备,是做好实验的重要保障,希望同学们一定要做好实验前的准备工作。一、实验前的准备1、认真阅读实验指导书,详细了解本课程实验的软硬件环境。硬件环境:实验仪的基本组成和使用方法。软件环境:调试软件的基本功能和使用方法。这项工作应该在本学期开始,领到实验指导书时就进行。2、详细了解本次实验的基本任务,充分理解实验原理为了实现本次实验的基本任务,硬件电路由哪几个部分组成,各部分电路的主要作用是什么,各部分电路之间如何连接?在此基础上读懂实验电路图。为了实现本次实验的基本任务,软件部分需要完成哪些工作,确定软件由哪些功能模块组成,然后画出程序流程图,再按流程图编写源程序。在软硬件设计过程中,可能需要进行相应的参数计算。3、设计实验的操作流程事先设计好实验的操作流程,进入实验室后,可以有条不紊地工作。二、实验操作过程进入实验室以后,要按照事先设计好的实验操作流程来进行实验。软件实验的基本步骤为:1、启动PC机2、编辑源程序3、编译4、调试三、实验记录如实记录实验的操作过程及实验的数据,这里主要包括:1、实验的相关数据2、实验过程中的问题(包括分析与解决)四、实验报告实验报告是实验结果的总结,一般需要包括以下内容:1、实验名称 这里需要准确无误地写出实验的名称2、实验目的 3、实验任务(实验内容)4、实验原理 、硬件组成(软件实验没有此项内容)首先以文字说明实验电路由哪几个部分组成,各部分电路的主要作用是什么,然后给出实验电路图。、软件设计首先以文字说明软件需要完成哪些工作,因此确定软件由哪些功能模块组成,然后画出程序流程图,再按流程图编写源程序。5、实验操作这里,如实记录实验的操作过程或者是事先设计好的实验操作流程。6、实验记录这里,如实记录相关的实验数据以及实验过程中出现的问题和解决方法。7、实验结果根据前面记录的实验数据,给出实验的结果。一般情况下,有两种实验的结果:其一,实验过程中出现了一些问题,经过分析,解决了问题,最终成功实现了实验任务的要求;其二,实验过程中出现了一些问题,最终未能解决了问题,实验失败。8、实验分析:对实验过程中的问题进行分析。9、实验小结(包括体会)可以从实验的目标、实验环境的掌握、分析问题和解决问题的能力等几个方面来进行小结。也可以抒发一下你的感想。10、思考题的解答如果有思考题,需要认真解答。第一章 实验环境介绍1.1汇编语言程序的上机过程在计算机上运行汇编语言程序的步骤是: 用编辑程序(任何一种文本编辑程序)建立ASM文件; 用MASM程序把ASM文件转换成OBJ文件; 用LINK程序把OBJ文件转换成EXE文件; 用DEBUG程序可以调试目标程序 用DOS命令直接键入文件名就可执行该程序1.1.1、源程序的编辑源程序本质上是文本文件,任何一种文本编辑器都可以用来编写源程序,也可以使用计算机系统内含的全屏幕编辑程序EDIT.EXE。应注意的是: 源程序的编写必须符合汇编语言源程序的语法格式,否则汇编时会报错。 汇编语言源程序的文件后缀必须是ASM,否则汇编程序将不能识别。1.1.2、汇编汇编的目的是将汇编语言源程序转换为机器码,这项工作是由汇编程序来完成的。IBM PC提供了两种汇编程序:ASM.EXE和MASM.EXE。后者具有宏汇编功能。汇编过程中,首先检查源程序的语法。若存在语法错误,则汇编失败。列出有错误的语句、错误的代码、错误的类型和错误的总数,供分析、修改源程序。若不存在语法错误,则汇编成功。汇编后可生成3个文件:l 浮动的目标代码文件(*.OBJ):其中,地址操作数是可浮动的相对地址。l 可打印的列表文件(*.LST):将源程序和目标代码合并制成表。l 符号表文件(*.CRF):反映源程序中符号的定义和引用情况。其中,第1个文件是必须生成的,后2个文件可选择是否生成。1.1.3、链接由汇编生成的目标代码必须经过链接后才能生成可执行文件,这项工作由链接程序(LINK.EXE)来完成。链接后生成可执行文件(*.EXE)1.1.4、调试调试的目的是验证程序的功能是否符合设计的目标。IBM PC提供了一种调试程序:DEBUG.EXE在DEBUG环境下,可以使用DEBUG命令来调试程序。常见的DEBUG命令见附录debug用法大全。第二章 软件部分实验实验一 汇编语言上机环境及基本操作一、 实验目的及要求1 学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2 学会使用EDIT、MASM、LINK、DEBUG等软件工具。3 熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。二、 实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、 实验内容1 建立软件工作环境为了正常运行汇编程序,需要如下程序: masm.exe link.exe debug.exe 等2 建立汇编文件例 在屏幕上输出 'This is a masm sample!'使用edit编辑如下文件,并保存为sample.asm:;Program is an exampledata segment astr DB 'This is a masm sample!',0dh,0AH,'$'data endscode segmentassume CS:code,DS:data start:MOVAX, dataMOVDS, AXLEADX, astrMOVAH, 09hINT21h code ends end start1) 使用汇编c: >masm sample -开始汇编Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981-1985, 1987. -软件提示Object Filenamesample.obj: -提示输入目标文件名,可省略Source listingNul.lst: -提示输入列表文件名,可省略Cross referenceNUL.crf: Warning Severe 注意:若汇编的错误提示不为0,则须重新调用edit sample.asm修改错误,然后再汇编,该过程直到错误提示为0为止。2) 使用link产生EXE文件c:>link sample.Run filesample.exe:-提示输入可执行文件名,可以省略List file NUL.map:-提示输入连接映象文件Libraries.lib -输入文件用到的库文件名.3) 执行c:>sample 或 debug sample.exe附:ms-dos方式,是windows提供的一个字符界面的shell窗口,通过“开始程序ms-dos方式”进入ms-dos方式后,可以按下“ALt+Enter”获得全屏幕的窗口,再该窗口下,主要通过键入命令和观察结果获得交互信息。命令简介1、 DIR命令显示当前目录下的文件和目录格式为:dir2、 CD命令改变当前工作目录格式为:cd d:studentyour_name3、 MD命令建立一个新的目录格式为:md your_name4、 DEL命令删除文件格式为:del first01.asm5、 RD命令删除目录,要求要删除的目录下无任何目录或文件格式为:rd your_name6、 COPY命令拷贝命令格式为:copy first01.asm first02.org (将文件first01.asm复制为first01.org)实验二 DEBUG调试程序的应用一、实验目的及要求1了解并掌握常用DEBUG调试指令。2能够在熟悉汇编程序开发过程的同时,利用DEBUG调试环境对源程序进行调试、跟踪及修改相应的逻辑错误。二、实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、实验内容1直接启动DEBUG程序如DEBUG.exe在C盘的根目录下,启动的方法是:C:>DEBUG这时屏幕上会出现“_"提示符,等待键入DEBUG命令。2启动DEBUG程序的同时装入被调试文件 命令格式如下:C:>DEBUGd:PATHfilename.EXE 其中,【d:】【PATH】是被调试文件所在盘及其路径,filename是被调试文件的文件名, 【.EXE】是被调试文件的扩展名。 例如:BCDSUMEXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下。 C:>DEBUG A:BCDSUN.EXE DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置,当扩展名为EXE时,装入偏移量为0的位置,并建立程序段前缀PSP,为CPU寄存器设置初始值。3退出DEBUG 在DEBUG命令提示符“_"下键入Q命令,即可结束DEBUG的运行,返回DOS操作系统。4在DEBUG环境下建立和汇编程序 在DEBUG环境下用户可以直接建立汇编语言源程序,并可以进行编辑修改,还可以进行汇编。 比如,在DEBUG下运行如下程序: MOV DL,33H ;字符3的ASCII码送DL MOV AH,2 ;使用DOS的2号功能调用 INT 21H 进入功能调用,输出3' INT 20H :BIOS中断服务,程序正常结束。 该程序运行结果是在显示器上输出一个字符3。如果要输出其它字符,请改变程序中33H为相应字符的ASCII码。其中涉及DOS和BIOS功能调用。因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入输出指令直接通过端口输入输出,而必须使用DOS内部提供的子程序完成输入输出。 DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT 21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是BIOS中断服务,这一软中断用来正常结束程序。 运行步骤: (1)进入DEBUG 设C盘上有DEBUG.COM程序,进入DOS环境后键入DEBUG<ENTER>,即 C: >DEBUG 随后屏幕显示: “_"号是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。现在用A命令输入程序如下。 (2)输入程序并汇编 _A 100 169C:0100 MOV DL,33 169C:0102 MOV AH,2 169C:0104 INT 21 169C:0106 INT 20 169C:0108 至此程序已输入完毕,并汇编成机器指令。现在用G命令运行程序如下:(3)执行机器指令程序 _G=100 3Program terminated normally5编程,并对实验一中的源程序进行DEBUG调试。附:常用DEBUG命令 DEBUG命令是在命令提示符”_”下由键盘键入的。每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(ENTER)。命令及参数的输入可以是大小写的结合。Crtl+Break键可中止命令的执行。Crtl+NumLoek键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写H。1.汇编命令A 格式: (1)A<段寄存器名>:<偏移地址> (2)A <段地址>:<偏移地址> (3)A<偏移地址> (4)A 功能:汇编命令是将用户输入的汇编语言指令,汇编为可执行的机器指令。键人该命令后显示段地址和偏移地址并等待用户从键盘逐条键入汇编语言指令。每当输入一行语句后按“ENTER"键,输入的语句有效。若输入的语句中有错,DEBUG会显示“Error",要求用户重新输入,直到显示下一地址时用户直接键入回车键返回到提示符”_”。其中(1)用指定段寄存器内容作段地址;(3)用CS内容作段地址;(4)以cs:100作地址。以后命令中提及的各种地址形式,均指(1)、(2)、(3)中A命令后的地址形式。2比较命令C 格式:C<源地址范围>,<目标地址> 其中<范围>是由<起始地址×终止地址>指出的一片连续单元,或由<起始地址>L<长度>指定的。 功能:从<源地址范围>的起始地址单元起逐个与目标起始地址以后的单元顺序比较单元的内容,直至源终止地址为止。遇有不一致时,以<源地址><源内容><目标内容×目标地址>的形式显示失配单元及内容。3.显示内存单元命令D 格式: (1) D <地址> (2)D<地址范围> (3)D 其中(1)以CS为段寄存器;(3)显示CS:l00为起始地址的一片内存单元内容。功能:该命令将显示一片内存单元的内容,左边显示行首字节的段地址:偏移地址,中间是以十六进制形式显示的指定范围的内存单元内容,右边是与十六进制数相对应字节的ASCII码字符,对不可见字符以'.'代替。4修改内存单元命令E 格式: (1)E<地址><单元内容> (2)E<地址><单元内容表>其中<单元内容>是一个十六进制数,或是用引号'(或")括起来的字符串;<单元内容表>是以逗号分隔的十六进制数,或是用(或")括起来的字符串,或者是二者的组合。功能:(1)将指定内容写入指定单元后显示下一地址,以代替原来内容。可连续键入修改内容,直至新地址出现后键入回车<ENTER>为止;(2)将<单元内容表>逐一写入由<地址>开始的一片单元中,该功能可以将由指定地址开始的连续内存单元中的内容,修改为单元内容表中的内容。例如: _E DS:30 F8,AB,AB 该命令执行后,从DS:30到DS:33的连续4个存储单元的内容将被修改为F8H,ABH,4lH,42H。5填充内存命令F 格式:F<范围><单元内容表>功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。例如:F 05BC:200 L 10 B2,XYZ',3C该命令将由地址05BC:200开始的10H(1 6)个存储单元顺序填充“B2,58,59,5A,3C,B2,58,59,5A,3C,B2,58,59,5A,3C,B2"6. 连续执行命令G 格式: (1)G (2)G=<地址> (3)G=<地址>,<断点>其中(2)、(3)中的”=”是不可缺省的。功能:默认程序从CS:IP开始执行。程序从当前的指定偏移地址开始执行。从指定地址开始执行,到断点自动停止并显示当前所有寄存器、状态标志位的内容和下一条要执行的指令。DEBUG调试程序最多允许设置l0个断点。7. 跟踪命令T 格式:T【=<地址>】【<条数>】 功能:如果键入T命令后直接按“ENTER"键,则默认从CS:IP开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。用户也可以指定程序开始执行的起始地址。<条数>的缺省值是一条,也可以由<条数>指定执行若干条命令后停下来。例如:T该命令执行当前指令并显示所有寄存器、状态标志位的内容和下一条要执行的指令。又例如:T 10 该命令从当前指令开始执行10H条指令后停下来,所有寄存器、状态标志位的内容和下一条要执行的指令。8. 反汇编命令U 格式: (1)U <地址> (2)U<地址范围>功能:反汇编命令是将机器指令翻译成符号形式的汇编语言指令。该命令将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次U指令后下一地址的值。这样可以连续反汇编。9执行过程命令P 格式:P功能:执行一条指令或一个过程(子程序),然后显示各寄存器的状态。说明:该命令主要用于调试程序。它与跟踪命令T的作用类似,T命令是跟踪一条或多条指令,而P命令是执行一条指令(包括带重复前缀的数据串操作指令)或一个完整的过程(子程序)。例如:设有如下指令序列 MOV AH,02HINT 21 H ;当要执行INT 21 H这条指令时,若用T命令进行跟踪,则进入INT 21 H程序(DOS功能调用)后,需要数十次T命令才能返回当前程序;若采用P命令进行调试,则只执行INT 20H一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当以后遇到CALL、INT n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用P命令。10定义待装入文件命令N格式:N 【d:】【PATH】fllename EXE】功能:N命令一般和L命令联合使用,为L命令定义指定路径的待装入文件。11装入文件命令L格式:L<地址><盘号><起始逻辑扇区><所读扇区个数n>其中<地址>的缺省值为CS:100。逻辑扇区可由物理扇区号换算得到,以双面双密度盘为例:物理扇区是按0面0道1区,0面0道2区,0面0道9区,0面l道l区,0面39道9区,l面0道l区,l面39道9区排列。而逻辑扇区与物理扇区号的对应关系为物理扇区0面0道l扇区至9扇区,逻辑扇区号为08;物理扇区l面0道l扇区至9扇区,逻辑扇区号为9l l H:物理扇区0面l道l扇区至9扇区,逻辑扇区号为1 2-1 AH这样每道先0面后l面一直排下去。其中<盘号>为0、l或2,0表示A盘,l表示B盘,2表示硬盘。功能:将<盘号>指定的盘上,从<起始逻辑扇区>起,共n个逻辑扇区上的所有字节顺序读入指定内存地址的一片连续单元。当L后的参数缺省时,必须在L之前由N命令指定(或进ADEBUG时一并指出)所读盘文件名。此时L执行后将该文件装入内存。例如:_N EXAMPLE_L将当前盘上的EXAMPLE文件装入CS:100起始的一片内存单元。12内存单元搬家命令M 格式:M<源地址范围×目标起始地址>其中源及目标地址若仅输入偏移量,则隐含相对DS。功能:把<源地址范围>中的内容顺序搬至<目标起始地址>起的一片连续单元。例如:M CS:100 110 600该命令把由CS:100起到CS:110止共17个字节搬至DS:600至DS:610的一片单元。13写盘命令W 格式:W<地址><盘号><起始逻辑扇区><所写逻辑扇区数n> 功能:该命令是将内存<地址>起始的一片单元内容写入指定扇区。只有W而没有参数时,与N命令配合使用使用户完成写盘操作。用户可用N命令先定义被调试的文件,再将被调试文件的字节长度值送BX、CX(BX寄存器存放字节长度值的高位,CX寄存器存放字节长度值的低位),最后用写盘命令W将被调试文件存入磁盘。例如:欲将D1.COM文件写入磁盘,设文件长度为40字节,可进行如下操作。 _N D1.COM -R CX CX xxxx:0040 _R BX BX xxxx :0000 _W Writing 00040 bytes1 4显示命令R格式: (1)R (2)R<寄存器名> 功能:显示当前所有寄存器内容、状态标志及将要执行的下一指令的地址(即CS:IP)、机器指令代码及汇编语句形式。其中对状态标志寄存器FLAG以状态标志位的形式显示,详见教材。15端口输出命令。格式:O<端口地址><字节>功能:将该<字节>由指定<端口地址>输出。例如:O 2F 4F该命令将4FH从2FH口输出.16搜索指定内存命令S格式:S <地址范围><表>功能:在指定范围搜索表中内容,找到后显示表中元素所在地址例如:S 100 110 41屏幕显示:04BA:0104 04BA:010D表示在l00HllOH之间的一片存储单元中,104H和10DH两个单元有41 H。又如:S CS:100 L 10 AB'表示在当前代码段位移100H至11OH处搜索连续3个字节内容为41H、42H(分别对应A、B的ASCII码)的单元。17十六进制算术运算指令H 格式:H <值l><值2>功能:求十六进制数<值l>和<值>的和与差并显示结果。18端口输入命令I格式:I<端口地址>功能:将从指定端口输入的内容显示出来。19结束DEBUG返回DOS命令Q格式:Q 功能:返回DOS提示符下。实验三 顺序程序设计一、实验目的1 掌握算术运算指令的应用方法。2 理解计算机中除法溢出的含义。3 掌握顺序程序设计的方法。二、实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、实验内容1设W、X、Y、Z均为l 6位带符号数。2要求完成计算表达式(W-(X*Y+Z-220)/X。3将表达式的商和余数存入数据区RESULT单元开始的区域中。四、编程思路 该题目要求掌握乘除法运算中带符号数和无符号数运算的区别。为了实现指定功能,应从以下几个方面考虑: (1)带符号数的乘除法运算应选用的指令。 (2)乘、除法运算中操作数的长度问题。 (3)带符号数的扩展问题。 五、参考程序清单 DATA SEGMENT W DW -304 X DW 1000 Y DW -12 Z DW 20 RESULT DW 2 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,X IMUL Y MOV CX,AX MOV BX,DX MOV AX,Z CWD ADD CX,AX 、 ADC BX,DX SUB CX,220 SBB BX,0 MOV AX,W CWD SUB AX,CX SBB DX,BX IDIV X MOV RESULT,AX MOV RESULT+2,DX MOV AH,4CH INT 21HCODE ENDSEND START六、思考题1)如果是无符号数,乘除时应如何选择指令?2)如果要求表达式中的X,Y,Z,W从键盘输入应如何设计程序?实验四 分支结构程序设计一、实验目的1掌握多分支结构程序设计的方法;2掌握无符数和带符号数比较大小转移指令的区别。二、实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、实验内容1在数据区中定义三个带符号字节变量。2编写程序将其中的最大数找出送到MAX单元中。四、编程思路该题目要求掌握多分支程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1) 确定编程的算法思想。(2) 确定带符号数比较大小转移应选择哪一组条件转移指令。五、参考程序清单DATA SEGMENT X DB 115 Y DB 23 Z DB -20 MAX DB ? DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV AL,X CMP AL,Y JG NEXT MOV AL, Y CMP AL,Z JG EXIT MOV AL,Z JMP EXITNEXT: CMP AL,Z JG EXIT MOV AL,ZEXIT: MOV MAX,AL MOV AH,4CH INT 21H CODE ENDSEND START ;返回DOS六、思考题1)如果用子程序的方法来设计程序,应如何修改此程序?2)如果是无符号数比较大小,条件转移时应选择哪一组指令?实验五 循环结构程序设计一、实验目的 1掌握循环结构程序设计的方法;2掌握数据块传送程序设计的方法;3掌握串传送指令的应用。二、实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、实验内容1 编写程序实现将数据段STR1单元开始的20个字符移到STR2开始的存储区。2 假设STR1+20>STR2,可以用串传送指令,也可以用MOV传送指令。四、编程思路该题目要求掌握单循环程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1)数据串操作的起始位置从高地址还是从低地址开始。(2)确定使用串传送指令,还是用MOV指令。(3)确定循环程序的结构。五、参考程序清单DATA SEGMENT STR1 DB 'WHAT IS YOUR NAME?',0AH,0DH,'$' CN EQU $-STR1STR2 EQU STR1+CN-5CODE SEGMENT ASSUME DS:DATA,CS:CODE,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,OFFSET STRI MOV AH,09H INT 21H MOV SI,OFFSET STR1MOV DI,OFFSET STR2MOV CX,CNADD SI,CN-1ADD DI,CN-1STDREP MOVSBMOV DX,OFFSET STR2MOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDS END START六、思考题 1)如果要求字符串从键盘中输入,应如何设计程序?2)用子程序方法,且不使用MOVSB指令来完成数据块的传输,应如何设计程序?实验六 子程序设计一、实验目的1. 掌握子程序的结构和设计方法;2. 掌握子程序的调用和返回指令的用法及执行情况;3. 掌握在子程序调用时堆栈的变化情况;4. 掌握主程序与子程序间参数传递的方法;5. 掌握现场的保护与恢复方法。二、实验器材:计算机一台,MASM汇编软件及DEBUG调试程序三、实验内容 已知当前数据段中BUF开始分别存放若干二进制字节数据,编制程序将这些数据分别转换为十六进制数据在屏幕上显示出来,要求十六进制转换ASCII码用子程序实现。四、编程思路该题目要求掌握单循环程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1)主、子程序各自需实现的的功能。(2)主、子程序间参数的传递方式。(3)确定子程序的结构。五、实验源程序;CONV.ASMDATA SEGMENTBUF DB 0ABH,0CDH,0DEH,01H,02H,03H DB 3AH,4BH,5CH,6FHDATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUFAGAIN: MOV AL, BX CALL HEX2ASC ;调用十六进制转换ASCII码子程序;*显示ASCII码* PUSH CX MOV CX, DX MOV DL, CH ;显示高位 MOV AH, 2 INT 21H MOV DL,CL ;显示低位 MOV AH, 2 INT 21H MOV DL,' ' ;显示空格 MOV AH,2 INT 21H POP CX INC BX LOOP AGAIN MOV AH, 4CH ;返回dos INT 21H;*十六进制转换ASCII码子程序*HEX2ASC PROC NEAR MOV DH,AL PUSH CX MOV CL,4 SHR DH,CL CMP DH,9 JBE NEXT1 ADD DH,7NEXT1: ADD DH,30H MOV DL,AL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7NEXT2: ADD DL,30H POP CX RETHEX2ASC ENDPCODE ENDS END START上面主程序通过AL寄存器将需要判断字符的ASC码传递给子程序,而子程序将判断结果通过标志寄存器的CF位传递给主程序。如果是数字字符,则CF=0,否则CF=1。实验七 EMU8086集成开发环境一、实验目的:掌握EMU8086的使用方法。二、实验器材:计算机一台,emu8086程序三、实验内容:从键盘输入一行字符(以回车符结束),并按字母、数字及其字符分类计数,最后显示出这3个计数结果。要求在EMU8086集成开发环境中进行。四、编程思路 该题目要求掌握多分支、单循环程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1)数据是由键盘输入产生的,为此应调用键盘输入中断程序。(2)确定使用多分支判断的设计。(3)确定循环程序的结构。五、参考程序清单data segment buf db 50 dup(?) count1 db 0 count2 db 0 count3 db 0 data ends code segment assume ds:data,cs:code main proc far push ds mov ax,0 push ax lea bx,buf input:mov ah,1 int 21h mov bx,al inc bx cmp al,13 jnz input lea bx,buf again: mov al,bx inc bx cmp al,13 jz ok cmp al,'0' jb next2 cmp al,'9' ja next1 inc count1 jmp again next1:cmp al,'A' jb next2 cmp al,'Z' ja next2 inc count2

    注意事项

    本文(8086 8088微机原理与接口技术实验指导书.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开