欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    80868088微机原理及应用Ⅰ实验指导书.docx

    • 资源ID:10896133       资源大小:94.74KB        全文页数:41页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    80868088微机原理及应用Ⅰ实验指导书.docx

    1、80868088微机原理及应用实验指导书8086/8088微机原理与接口技术实验指导书第一部分 软件部分实验实验一 汇编语言上机环境及基本操作一、实验目的及要求1学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2学会使用EDIT、MASM、LINK、DEBUG等软件工具。3熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。二、实验内容1建立软件工作环境为了正常运行汇编程序,需要如下程序: masm.exe 或 tasm.exe link.exe debug.exe 等2建立汇编文件例 在屏幕上输出 This is a masm sample!使用edit

    2、编辑如下文件,并保存为sample.asm:;Program is an exampledata segment astr DB This is a masm sample!,0dh,0AH,$data endscode segmentassume CS:code,DS:data main proc farstart:PUSH DSXOR AX, AXPUSH AXMOV AX, codeMOV DS, AXLEA DX, astrMOV AH, 09hINT 21hRET main endp code ends end start1)使用汇编c: masm sample -开始汇编Micro

    3、soft (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 f

    4、ilesample.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

    5、_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调试环境对源程序进行调试、跟踪及修改相应的逻辑错误。二、实验内容1直接启动DEBUG程序如

    6、DEBUGCOM在C盘的根目录下,启动的方法是:C:DEBUG这时屏幕上会出现“_提示符,等待键入DEBUG命令。2启动DEBUG程序的同时装入被调试文件 命令格式如下:C:DEBUGd:PATHfilename.EXE 其中,【d:】【PATH】是被调试文件所在盘及其路径,filename是被调试文件的文件名, 【.EXE】是被调试文件的扩展名。 例如:BCDSUMEXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下。 C:DEBUG A:BCDSUNEXE DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置

    7、,当扩展名为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。如果要输出其

    8、它字符,请改变程序中33H为相应字符的ASCII码。其中涉及DOS和BIOS功能调用。因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入输出指令直接通过端口输入输出,而必须使用DOS内部提供的子程序完成输入输出。 DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT 21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是BIOS中断服务,这一软中断用来正常结束程序。 运行步骤: (1)进入DEBUG 设C盘上有DEBUG.COM程序,进入DOS环境后键

    9、人DEBUG,即 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=200 3Program terminated normally5编程,并对实验一中的源程序进行DEBUG调试。附:常用DEBUG命令 DEBUG命令是在

    10、命令提示符”_”下由键盘键入的。每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(ENTER)。命令及参数的输入可以是大小写的结合。Crtl+Break键可中止命令的执行。Crtl+NumLoek键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写H。1.汇编命令A 格式: (1)A: (2)A : (3)A (4)A 功能:汇编命令是将用户输入的汇编语言指令,汇编为可执行的机器指令。键人该命令后显示段地址和偏移地址并等待用户从键盘逐条键入汇编语言指令。每当输入一行语句后按“ENT

    11、ER键,输入的语句有效。若输入的语句中有错,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)以C

    12、S为段寄存器;(3)显示CS:l00为起始地址的一片内存单元内容。功能:该命令将显示一片内存单元的内容,左边显示行首字节的段地址:偏移地址,中间是以十六进制形式显示的指定范围的内存单元内容,右边是与十六进制数相对应字节的ASCII码字符,对不可见字符以.代替。4修改内存单元命令E 格式: (1)E (2)E其中是一个十六进制数,或是用引号(或)括起来的字符串;是以逗号分隔的十六进制数,或是用,或括起来的字符串,或者是二者的组合。功能:(1)将指定内容写入指定单元后显示下一地址,以代替原来内容。可连续键入修改内容,直至新地址出现后键入回车为止;(2)将逐一写入由开始的一片单元中,该功能可以将由指

    13、定地址开始的连续内存单元中的内容,修改为单元内容表中的内容。例如: _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,B3,58,59,5A,3C,B2,58,59,5A,3C,B26. 连续执行命令G 格式: (1)G (2)G= (3)G=,其中(

    14、2)、(3)中的”=”是不可缺省的。功能:默认程序从CS:IP开始执行。程序从当前的指定偏移地址开始执行。从指定地址开始执行,到断点自动停止并显示当前所有寄存器、状态标志位的内容和下一条要执行的指令。DEBUG调试程序最多允许设置l0个断点。7. 跟踪命令T 格式:T【=】【】 功能:如果键入T命令后直接按“ENTER键,则默认从CS:IP开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。用户也可以指定程序开始执行的起始地址。的缺省值是一条,也可以由指定执行若干条命令后停下来。例如:T该命令执行当前指令并显示所有寄存器、状态标志位的内容和下一条要执

    15、行的指令。又例如:T 10 该命令从当前指令开始执行10H条指令后停下来,所有寄存器、状态标志位的内容和下一条要执行的指令。8. 反汇编命令U 格式: (1)U (2)U功能:反汇编命令是将机器指令翻译成符号形式的汇编语言指令。该命令将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次U指令后下一地址的值。这样可以连续反汇编。9执行过程命令P 格式:P功能:执行一条指令或一个过程(子程序),然后显示各寄存器的状态。说明:该命令主要用于调试程序。它与跟踪命令T的作用类似,T命令是跟踪一条或多条指令,而

    16、P命令是执行一条指令(包括带重复前缀的数据串操作指令)或一个完整的过程(子程序)。例如:设有如下指令序列 MOV AH,02HINT 21 H ;当要执行1NT 2 1 H这条指令时,若用T命令进行跟踪,则进入INT 21 H程序(DOS功能调用)后,需要数十次T命令才能返回当前程序;若采用P命令进行调试,则只执行1NT 20H一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当以后遇到CALL、INT n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用P命令。10定义待装入文件命令N格式:N 【d:】【PATH】fllename EXE

    17、】功能:N命令一般和L命令联合使用,为L命令定义指定路径的待装入文件。11装入文件命令L格式:L其中的缺省值为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表示硬盘。功能:将指定的盘上

    18、,从起,共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 功能:该命令是将内存起始的一片单元内

    19、容写入指定扇区。只有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)、机器指

    20、令代码及汇编语句形式。其中对状态标志寄存器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十六进制算术

    21、运算指令H 格式:H 功能:求十六进制数和的和与差并显示结果。18端口输入命令I格式:I功能:将从指定端口输入的内容显示出来。19结束DEBUG返回DOS命令Q格式:Q 功能:返回DOS提示符下。实验三 多精度十进制加法程序设计一、实验目的1学习数据传送和算术运算指令的用法。2掌握加法计算程序的设计思路和设计方法。3熟悉在PC机上建立、汇编、连接和调试程序的方法。二、实验内容1将两个多精度十进制数相加。2要求被加数和加数均以组合BCD码形式各自存放在以DATA1和DATA2为首的连续的5个内存单元中,结果送回被加数单元。三、编程思路该题目要求掌握ADC指令和DAA指令的应用。为了实现指定功能,

    22、应从以下几个方面考虑:(1)组织数据时,要按照高位在高地址,低位在低地址的原则。(2)要完成多精度字节数据相加,最低字节用ADD指令,而其他高位字节则要用ADC指令。(3)因为被加数和加数都以BCD码表示,所以在加法指令之后要有加法调整指令。(4)题目要求完成5个字节十进制数相加,所以要用循环程序。四、参考程序Crlf macro Mov dl,0dh Mov ah,0ah Int 21h Mov dl,0ah Int 21hEndmData segmentData1 db 37h,49h,53h,19h,46hData2 db 90h,87h,49h,31h,25hData endsCode

    23、 segment Assume cs:code,ds:dataStart: Mov ax,data Mov ds,ax Mov si,offset data1 Mov bx,5 Call displ Crlf Mov si,offset data2 Mov bx,5 Call displCrlfMov si,offset data1Mov di,offset data2Mov cx,5Call addaMov si,offset data1Mov bx,5Call displCrlfMov ah,4chInt 21hDispl proc nearAdd si,bxDec siDs1: mov

    24、dh,siMov dl,dhMov cl,4Shr dl,clOr dl,30hMov ah,02hInt 21hMov dl,dhAnd dl,0fhOr dl,30hInt 21hDec siDec bxJnz ds1RetDispl endpAdda proc nearCLCAd1: mov al,siAdc al,diDaaMov si,alInc siInc diLoop ad1RetAdda endpCode ends End start五、思考题1)在子程序ADDA中,为什么需要CLC这条语句,没有行不行?2)在这个程序中,回车换行是用宏指令完成的,如果把宏指令改为子程序应如何设

    25、计程序?3)如果要完成多精度十进制减法,应如何设计程序?实验四 数学表达式计算一、实验目的1 掌握算术运算指令的应用方法。2 理解计算机中除法溢出的含义。二、实验内容1设W、X、Y、Z均为l 6位带符号数。2要求完成计算表达式(W-(X*Y+Z-220)X。3将表达式的商和余数存入数据区RESULT单元开始的区域中。三、编程思路 该题目要求掌握乘除法运算中带符号数和无符号数运算的区别。为了实现指定功能,应从以下几个方面考虑: (1)带符号数的乘除法运算应选用的指令。 (2)乘、除法运算中操作数的长度问题。 (3)带符号数的扩展问题。 四、参考程序清单 DATA SEGMENT W DW -30

    26、4 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 21

    27、HCODE ENDSEND START五、思考题1)如果是无符号数,乘除时应如何选择指令?2)如果要求表达式中的X,Y,Z,W从键盘输入应如何设计程序?实验五 分支结构程序设计一、实验目的1掌握多分支结构程序设计的方法;2掌握无符数和带符号数比较大小转移指令的区别。二、实验内容1在数据区中定义三个带符号字节变量。2编写程序将其中的最大数找出送到MAX单元中。三、编程思路该题目要求掌握多分支程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1) 确定编程的算法思想。(2) 确定带符号数比较大小转移应选择哪一组条件转移指令。四、参考程序清单DATA SEGMENT X DB 115 Y DB

    28、 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掌握串传送指令的应用。二、实验内容1 编写程序实现将数据段STR1单元开始的20个字符移到STR2开始的存储区。2


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开