《微机原理及接口技术》实验指导书.doc
《《微机原理及接口技术》实验指导书.doc》由会员分享,可在线阅读,更多相关《《微机原理及接口技术》实验指导书.doc(19页珍藏版)》请在咨信网上搜索。
《微机原理及接口技术》实验指导书 福建工程学院计算机与信息科学系 计算机系统结构教研室 实验操作指导 一、汇编语言程序上机操作 1.软件 将包含EDIT(文本编辑器)、MASM(宏汇编程序)、LINK(连接程序)、DEBUG(调试程序)等软件的文件夹存放在计算机的D盘中masm目录中(或其它),免安装。 2.程序实例,以下的操作以下列程序的调试为例进行说明,该程序在屏幕上输出字符串“Hello World !” DATA SEGMENT STR DB 'Hello World !$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,09H MOV DX,OFFSET STR INT 21H MOV AH,4CH INT 21H CODE ENDS END START 3.上机操作 (1)进入DOS。点击“开始”“运行”,输入命令“cmd”后单击“确定”进入DOS。 (2)依次输入“d: 8”和“cd masm 8”进入masm目录。 (3)编辑源程序。启动文本编辑器edit(也可以用记事本编辑源程序),文件名也可以在编辑完成时保存文件时输入,记住以.asm为后缀,此例文件名为t1_2.asm。 按汇编语言程序格式要求编辑源程序并保存。 (4)汇编 按(1)、(2)操作另外打开一个窗口,然后输入命令“masm t1_2 8”进行汇编,过程的对话信息直接回车即可。若源程序有错误,则会提示错误位置和错误信息。 警告错误 严重错误 直接回车 出错位置、代码、信息 光标所在位置(行、列) 修改第7行的“A”为“AX”,保存后再汇编。 表示汇编成功 汇编成功,则在d:/masm/下生成目标文件t1_2.obj 。 说明: a.MASM汇编程序的主要功能有以下3点: (1)检查源程序中存在的语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序(EDIT)加以修改,修改以后再重新汇编,一直到汇编无错误为止。 b.经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。如果连接过程中出现错误,则显示出错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,然后重新汇编,再经过连接,直到没有错误为止。连接以后,便可以产生可执行程序文件(.EXE文件)。 (5)连接 输入命令“link t1_2 8”进行连接,过程的对话信息直接回车即可,连接成功,则在d:/masm/下生成可执行文件t1_2.exe。 直接回车 该警告信息可忽略 (6)运行 输入“t1_2 8”执行程序。 显示内容 二、DEBUG的使用 DEBUG是一个DOS实用程序,可供程序员进行汇编语言程序的调试和分析,可以检查和修改寄存器、内存的内容;可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中一定范围的数据,读写文件与磁盘扇区。 每个功能都用一个字符命令来实现,地址和数据均默认采用十六进制,输入时不用进制符号“H”。当需要输入地址参数的命令,地址格式为<段地址:> <偏移地址>,如果没有输入地址,DEBUG将假定为当前地址。命令大小写均可。 (一)DEBUG常用命令(其它命令及具体操作请查阅相关资料) 1.进入与退出DEBUG 在DOS状态下输入DEBUG 8进入DEBUG,命令Q退出。 DEBUG的命令提示符 “-” 2.A <address> ;汇编命令。将指令直接汇编成机器码输入到内存中。 address指定键入汇编语言指令的位置。对 address 使用十六进制值,并键入不以“H”字符结尾的每个值。如果不指定地址,A将在它上次停止处开始汇编。 【例】 -a 0100 08F1:0100 MOV AH,09 08F1:0102 MOV DX,109 08F1:0105 INT 21 08F1:0107 INT 20 08F1:0109 db ‘THIS IS AN EXAMPLE !$’ 08F1:0115 8 ;离开a状态 -g 8 ;运行 THIS IS AN EXAMPLE ! ;运行结果 Program terminated normally;程序正常结束,表示运行正常 3. C range address;比较命令。比较两内存区域中的内容是否相同,若不同则显示其地址和内容。 range 指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。 address 指定要比较的第二个内存区域的起始地址。 【例】-C 4000:0 3F 100 就是用来比较4000;0000-4000:003F与DS:0100-DS:013F之间的内容,其显示格式如下: 内存地址1(段地址:偏移地址) 内含值1 内含值2 内存地址2 如果要比较的范围在DS内,则段地址不必指出: 【例】-C 0 4 100;比较DS:0---DS:4与DS:100---DS:104 C命令的另一种格式如下:C 地址1 L长度 地址2 【例】-C000:0 L4 0;由0000:0与DS:0开始比较它同-C0000:0 3 0命令相等,显示结果如下: 0000:0000 8A C0 08F1:0000 0000:0001 10 20 08F1:0001 ;它们都比较4个字节 0000:0002 1C 00 08F1:0002 0000:0003 49 7F 08F1:0003 4. D <range> ;显示内存内容。参数range 指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。如果不指定 range,Debug 程序将从以前D命令中所指定的地址范围的末尾开始显示 128 个字节的内容。 当使用 D命令时,Debug 以两个部分显示内存内容:十六进制部分(每个字节的值都用十六进制格式表示)和 ASCII 码部分(每个字节的值都用 ASCII 码字符表示)。每个非打印字符在显示的 ASCII 部分由“.” 表示。每个显示行显示 16 字节的内容,第 8 字节和第 9 字节之间有一个连字符。每个显示行从 16 字节的边界上开始。 【例】 ASCII码部分 十六进制部分 5. E range list ;修改内存命令。从指定的地址开始修改内存值。 成批修改 单个修改 6. F range list ;填充命令。使用指定的值填充指定内存区域中的地址。 可以指定十六进制或 ASCII 格式表示的数据。任何以前存储在指定位置的数据将会丢失。 参数 range 指定要填充内存区域的起始和结束地址,或起始地址和长度。list 指定要输入的数据。list 可以由十六进制数或引号包括起来的字符串组成。 【例】 7. G <=address> <breakpoints> ;执行命令。执行正在调试的程序,当达到断点时停止执行,并且显示寄存器标志和下一条要执行的命令。如果没有指定起始地址,那么当前指令地址由CS、IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,最多允许用户设定10个断点。 8. H value1 value2 ;十六进制算术运算命令。分别显示两个十六进制数相加的和以及第一个数减去第二个数的差,替用户完成简单的十六进制数的运算。参数value1 代表从 0 到 FFFFh 范围内的任何十六进制数字。 value2 代表从 0 到 FFFFh 范围内第二个十六进制数字。 Debug 首先将指定的两个参数相加,然后从第一个参数中减去第二个参数。这些计算的结果显示在一行中:先计算和,然后计算差。 9. I port ;输入。从指定的端口读取并显示一个字节值。参数 port 按地址指定输入端口。地址可以是 16 位的值。 10. L<地址><盘号:><逻辑扇区号><扇区数> ;装载。将一个文件或盘的绝对扇区装入存储器。 11. M range address ;移动。将一个内存块中的内容复制到另一个内存块中。 参数 range 指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。 address 指定要将 range 内容复制到该位置的起始地址。 复制操作对现有数据的影响。如果新数据没有写入正在被复制的数据块中的地址,则源数据将保持不变。但是,如果目标块已经包含数据(就象它在覆盖副本操作中一样),则将改写该数据。(覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。) 执行覆盖复制操作。M 命令执行目标地址的覆盖复制操作,而不丢失数据。将改写的地址内容首先复制。因此,如果将较高位地址的数据复制到较低位地址,则复制操作从原块的最低位地址开始并向最高位地址进行。反之,如果要将数据从低地址复制到高地址,复制操作从原块的最高地址开始,向最低地址进行。 12. N <drive:> <path> filename ;定义文件名。 指定 Debug L(加载)或 W(写入)命令的可执行文件的名称,或者指定正在调试的可执行文件的参数。 13. O port byte-value ;输出。将字节值发送到输出端口。参数 port 通过地址指定输出端口,端口地址可以是 16 位值。 参数byte-value 指定要指向 port 的字节值。 14. Q ;退出。停止 Debug 会话,不保存当前测试的文件,控制返回到 DOS 的命令提示符。 15. R<register-name> ;显示、修改寄存器内容。显示或改变一个或多个 CPU 寄存器的内容。 如果在没有参数的情况下使用,则 R 命令显示所有寄存器的内容以及标志寄存器中的标志。 register-name 的有效值:ax、bx、cx、dx、sp、bp、si、di、ds、es、ss、cs、ip、pc 及 f。ip 和 pc 都引用指令指针。 如果指定寄存器名称,而不是从前面的列表中指定,将显示: br error 。使用 f 字符而不是寄存器名如果键入 f 字符代替寄存器名,Debug 将每个标记的当前设置显示为两字母代码,然后显示 Debug 提示符。要更改标志的设置,请从下表中键入适当的两字母代码: 状态标志位 状态 显示形式 溢出标志OF 有/无 OV/NV 方向标志DF 减/增 DN/UP 中断标志IF 开/关 EI/DI 符号标志SF 负/正 NG/PL 零标志ZF 零/非零 ZR/NZ 奇偶标志PF 偶/奇 PE/PO 进位标志CF 有/无 CY/NC 辅助进位标志AF 有/无 AC/NA 16. T<=address> <指令条数> ;跟踪命令。逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容。通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态。如未指定地址则从当前CS:IP开始执行。 17. U <range> ;反汇编。反汇编字节并显示相应的原语句,其中包括地址和字节值。参数range 指定要反汇编代码的起始地址和结束地址,或起始地址和长度。如果在没有参数的情况下使用,则 U 命令反汇编 20H(32)个字节(默认值),从前面U命令所显示地址后的第一个地址开始。 18. W 地址<盘符:> <起始扇区><扇区数> ;写盘命令。将修改过的数据写到磁盘上。可以将指定内存地址开始的数据写在磁盘上,可以在没有指定参数,或指定地址参数的情况下,将调试文件写在磁盘上。在运行W时需设置文件的大小存入BX和CX寄存器。 (二)DEBUG的基本操作 下面通过汇编语言程序调试的例子,综合上述命令的应用。 1.在DEBUG下直接输入程序、设置参数、运行程序,适合于简单程序的调试。 【例】要将DS:2000H开始的2个数相加,并将结果送入DS:2002H单元。程序段如下: MOV SI,2000H MOV AL,[SI] INC SI ADD AL,[SI] INC SI MOV [SI],AL INT 20H ;在DEBUG下,用INT 20结束 (1)用A-汇编命令(使用默认地址,不输入参数)输入程序并保存; 输入程序,出错则重新输入。 存盘:①用N命令定义文件名; ②用R命令修改BX、CX值,设置文件大小,该值为机器码长度(BX=0,不用修改); ③用W命令写入。 定义文件名时没有加参数,因为这里的操作都是在路径D:\MASM>下进行的,则文件存放在MASM目录下,可以在WINDOWS的资源管理器下查看该文件。 可以尝试退出DEBUG,然后重新进入,用L命令装载程序,然后用反汇编命令U显示程序。也可以在DOS状态下直接输入DEBUG <文件名>直接装载文件。 2)用R、D、E等命令查看和设置相关寄存器和存储单元的内容。 本例要实现DS:2000H、DS:2001H相加,在这里设置两个单元的内容分别为49H、3CH,并且可以看出与程序运行相关的寄存器如AL、SI的初值,等下可以通过观察它们的变化情况,检查程序的运行是否正确。 (3)用T、G命令运行程序,检查结果。 ① T为跟踪命令,逐条执行指令,并显示中间结果。注意:T命令可以加上不同参数;执行到“INT 20”前就停止。 存储单元 寄存器结果 下一条指令 ② G为运行命令,可以连续运行程序,也可以设置断点运行。 检查结果 程序正常结束 ;重新设置单元内容验证 ;设置断点运行 断点前指令执行结果 G、T命令可以交叉应用,程序执行的过程也可以去检查、设置相关寄存器、存储单元内容,但要记住重新使用G、T命令时应清楚当前的CS:IP值。 2.利用“汇编语言程序上机操作”的方法,生成可执行文件,然后在DEBUG下装载程序、设置参数、运行程序,适合于简单程序的调试。 【例】将内存单元BUF开始的三个数相加,结果存入SUM单元。 DATA SEGMENT BUF DB 34H,6AH,2CH SUM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV AL,[SI] INC SI ADD AL,[SI] INC SI ADD AL,[SI] MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START (1)利用“汇编语言程序上机操作”的方法,生成可执行文件,假设文件名为T2.EXE; (2)进入DEBUG,装载文件;汇编语言源程序经过汇编、连接后,伪指令就失去作用,DEBUG装载的都是可执行指令,但是,大家一定要清楚它与源程序的对应关系,才能确切知道程序运行所需的数据及结果存放的位置。由下图3个箭头对应的指令,可以知道:系统安排的数据段地址DS=1444H;变量BUF的有效地址是0000H;变量SUM的有效地址是0003H。 而变量BUF之后由DB伪指令定义的三个数据已经在1444:0000H开始的三个单元中,可以用命令D查看。 (3)运行程序,检查结果。理解了(2)的内容,接下来调试程序的方法与“在DEBUG下直接输入程序、设置参数、运行程序”的方法相同。 ① T命令。 可通过运行的中间结果逐条检查程序是否正确。 ② G命令 ;结果 可以通过E命令直接修改内存的数据,检验其它数据运行的结果 注意:若要查看相关寄存器的内容,则不要运行返回DOS的指令,它会改变相关寄存器的内容。 三、微机接口实验操作 (一)微机接口实验箱介绍 拨向“88”端 选9600 8086/8088微机接口实验箱自带CPU,通过USB接口(内部USB转RS-232串口)与上位机通信,实验箱上有多种接口和外设模块供实验使用。 1.常用模块 (1)地址译码:用一片74LS138对地址A9~A3译码,用于接口的选择,共提供5个译码输出,每个可选择8个单元,地址A2、A1、A0用于片内端口选择,地址范围分别为:200H~207H、208H~20FH、210H~217H、218H~21FH、220H~227H。 (2)发光二极管:共有8个发光二极管L0~L7供输出指示用。 (3)开关量发生器:提供了8个开关量发生电路K0~K7做开关量输入实验用。 (4)8255接口:CS55插孔用于连接片选信号,插孔PA0~PA7、PB0~PB7、PC0~PC7用于连接输入、输出设备。其它信号已经连接好。 (5)8253时钟 (6)脉冲源电路:提供单脉冲信号和各种频率的脉冲信号。 此外,实验箱还提供8251、8259、ADC0809、DAC0832、74LS273、74LS245等各种接口及直流电机、步进电机、传感器等各种外设供实验使用。 2.实验箱的连接 实验箱的电源输入、USB接口及电源开关位于箱子后面。电源接AC220V,故使用过程中请注意安全。实验电路接线时,务必关掉电源,否则会损坏器件! USB 电源 开 关 (二)实验操作 以8255应用为例,要求采用查询传送方式编程实现:已知在内存BUF起始有N个8位数据,每当PC0出现一下降沿时,从PA口输出一个数据。 1.接线 实验电路原理图如下,其中红线表示需要接线的地方,本实验主要使用8255接口、地址译码、单脉冲电路和发光二极管电路。关掉电源,用导线按原理图进行连接,导线的接头为锥形插头,连接时轻压即可;拆线时捏住插头的塑料部分稍微旋转后提起。切勿直接拔起或拽着导线拔插头。 2.编辑源程序、编译和连接。 在这里,用软件hk88te完成上述功能。 (1)双击桌面上的图标启动软件。 界面如右图。 新建 编译当前文件 编译并连接 加载调试 (2)点击工具栏的“新建”,编辑源程序,并保存成.ASM的文件,路径和文件名不要带中文字符。 注意:在此环境下,只要定义一个代码段,如有数据,也在代码段中定义,代码段与数据段重叠。故DS的值与CS相等,或给DS赋值8100H。 (3)编译与连接,如有错误,修改源程序直至通过。 3.打开实验箱电源,设置通信口、检测串口通信是否正常 (1)上电后,数码管显示器正常显示内容 (2)设置通信口 (3)测试串口,如通过,则可以下载。如果失败,复位(键盘右上角的RST键)或重新上电、检查连接线、板上的波特率设置拨码开关,然后再尝试。 4.加载调试。将程序下载到系统的存储器,然后可以调试、运行程序,观察结果。 (1)加载 加载过程 (2)调试、运行程序 注意:调试或全速运行后,要进行其它操作,点“退出调试”并对实验箱复位。 【说明】HK88TE的帮助文件提供了部分实验的实验指导,可以查看实验的实验内容、实验程序、实验电路、实验操作等。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理及接口技术 微机 原理 接口 技术 实验 指导书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文