当前位置:首页 > (实验指导书)8086-8088微机原理及应用
安徽工程大学 微型原理及应用I 实验指导书
main endp code ends end start
1) 使用汇编
c:\\ >masm sample ---开始汇编
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. …… ---软件提示
Object Filename[sample.obj]: ---提示输入目标文件名,可省略 Source listing[Nul.lst]: ---提示输入列表文件名,可省略 Cross reference[NUL.crf]: Warning Severe
注意:若汇编的错误提示不为0,则须重新调用edit sample.asm修改错误,然后再汇编,该过程直到错误提示为0为止。
2) 使用link产生EXE文件
c:\\>link sample …………. …………
Run file[sample.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命令
显示当前目录下的文件和目录 格式为: dir 2、CD命令
改变当前工作目录 格式为: cd d:\\student\\your_name 3、MD命令
建立一个新的目录 格式为: md your_name 4、DEL命令
删除文件
13
安徽工程大学 微型原理及应用I 实验指导书
格式为:
del first01.asm 5、RD命令
删除目录,要求要删除的目录下无任何目录或文件 格式为: rd your_name 6、COPY命令
拷贝命令 格式为:
copy first01.asm first02.org (将文件first01.asm复制为first01.org)
实验二 DEBUG调试程序的应用
一、实验目的及要求
1.了解并掌握常用DEBUG调试指令。
2.能够在熟悉汇编程序开发过程的同时,利用DEBUG调试环境对源程序进行调试、跟踪及修改相应的逻辑错误。
二、实验内容
1.直接启动DEBUG程序
如DEBUGCOM在C盘的根目录下,启动的方法是: C:\\>DEBUG
这时屏幕上会出现“_\提示符,等待键入DEBUG命令。 2.启动DEBUG程序的同时装入被调试文件 命令格式如下:
C:\\>DEBUG[d:][PATH]filename[.EXE] 其中,【d:】【PATH】是被调试文件所在盘及其路径,filename是被调试文件的文件名, 【.EXE】是被调试文件的扩展名。
例如:BCDSUM.EXE可执行文件在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
14
安徽工程大学 微型原理及应用I 实验指导书
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
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 3
Program terminated normally
5.编程,并对实验一中的源程序进行DEBUG调试。
附:常用DEBUG命令
DEBUG命令是在命令提示符”_”下由键盘键入的。每条命令以单个字母的命
令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(ENTER)。命令及参数的输入可以是大小写的结合。Crtl+Break键可中止命令的执行。Crtl+NumLoek键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写H。 1.汇编命令A
格式: (1)A<段寄存器名>:<偏移地址> (2)A <段地址>:<偏移地址>
15
安徽工程大学 微型原理及应用I 实验指导书
(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)将指定内容写入指定单元后显示下一地址,以代替原来内容。可连续键入修改内容,直至新地址出现后键入回车
格式: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,B2\
16
共分享92篇相关文档