ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:24.93KB ,
资源ID:8738579      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8738579.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(测控12微机原理实验.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

测控12微机原理实验.docx

1、测控12微机原理实验测控12-1.2微机原理及应用课程实验简介:本实验课程的安排与“微机原理及应用”课程讲授紧密结合,是该课程的延伸。旨在加深对课堂教学内容的理解,打下微型计算机应用方面坚实基础,培养学生独立分析问题和软硬件开发能力。要求运用所学到的原理和编程技术,在计算机上独立编写程序,在Pentium机的实模式下进行汇编、链接和调试通过,深化理解所学内容。通过实际操作,掌握方法、巩固知识、提高能力。说明:1. TASM、TLINK是微机上机实验或作业的工具,请大家保存在硬盘根目录下,文件夹用TASM命名为佳。2. 自己的实验程序用英文命名,不要超过8个字符,建议和TASM、TLINK存在一

2、个文件夹中。3带“*”的为提高题。4Debug命令参见附录一。实验1(2学时)简单运算程序设计目的 熟悉TASM、TLINK的操作,练习用简单的指令和伪指令编写完整的程序,并调试通过。 设计要求1在数据段建立以 NUMB 为首址,以 byte 为单位的数据区域,NUMB 和 NUMB+1单元分别为36H和18H, 再编写 .EXE 程序,求这两个数的和与差。2观察有关寄存器、存储单元和 FLAGS 的改变。实验2(2学时)循环结构程序设计目的掌握循环结构程序设计方法以。设计要求 编一程序找出十个字节数中最大数(十个数自拟,要求正负数都有,赋在数据段变量中。)。要求程序运行结束后在屏幕上显示出:

3、MaxNumis:XXH实验3(2学时)子程序结构程序设计目的掌握排序方法;子程序的运用。设计要求编一程序对十个字节数排序(十个数自拟,要求正负数都有,赋在数据段变量中)。要求排序结果在屏幕上显示出。实验4(2学时)换码程序设计目的掌握十六进制数转换成十进制数的方法。设计要求编一程序将键盘输入的4位十六进制数转换成等值的十进制数,并送屏幕显示。实验5(2学时)8259中断控制器应用目的学习8259中断控制器的工作原理;学习8259可编程控制器的应用编程;掌握使用PC机内8259的方法;掌握修改中断向量的方法。设计要求编写一键盘中断处理程序,计数键盘中断次数,并用该程序替换系统键盘中断处理程序,

4、使当键盘中断产生10H次后,显示按键次数并结束应用。实验6(2学时)8255并行接口实验(流水灯显示)目的掌握8255的工作方式及应用编程;掌握8255的典型应用电路接法。设计要求设置A、B两端口为输出端口,分别向A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。实验步骤1、设计实验线路图如下,并将PCI总线扩展卡的ADD-ON总线与仿真ISA总线进行连接,完成线路连接。(接线图另外发图片文件)2、编写实验程序,检查无误后汇编、连接。3、打开实验箱电源,运行程序,观察数据灯的显示。附录一DEBUG命令表: A (汇编)命令 用途:把计

5、算机的宏汇编语句直接汇编到内存中 格式:Aaddress 说明:“A”是一条逐行汇编命令,当使用“A”命令时,并不直接将16进制字节(机器 码)键入存储器,而键入的是助记符。但键入的汇编语句被汇编在指定地址的连续单元中 在“A”命令后没指出地址时,分两种情况: a没指定地址同时前面没有使用汇编命令,则语句被汇编到CS:100开始的区域中 b没指定地址,但前面已有汇编命令,则语句被汇编到紧接着前一条汇编语句的后 一个地址单元里。 例 - ;“-”为DEBUG提示符 -A 0CDE:0100 DB THIS IS AN EXAMPLE,$ 0CDE:0113 DB 1 2 3 4 5 6 7 8

6、9 A B C D E F $ OCDE:0133 MOV DX,0100 0CDE:0136 MOV AH,09 0CDE:0138 1NT 21 0CDE:013A MOV DL,0D 0CDE:013C MOV AH,02 0CDE:013E INT 21 0CDE:0140 MOV DL,0A 0CDE:0142 MOV AH,02 0CDE:0144 INT 21 0CDE:0146 MOV DX,0100 0CDE:0149 MOV AH,09 0CDE:014B INT 21 0CDE:014D 1NT 20 0CDE:014F - ;“-”为DEBUG提示符 *在DEBUG状态

7、下键入的数字都是16进制数,所以不要用H表示为16进制数。 在语句输入完后,只要按ENTER键,即告诉DEBUG用户程序输入完毕,此时回 到DEBUG初始状态。 注意: (1)DEBUG不能识别操作数是字存储单元,还是字节存储单元。必须用前缀 “WORD PTR”或“BYTE PTR”来明确指出数据类型。 WORD 和 BYTE 可简写为 WO,BY。 例: NEG BYTE PTRl28 DEC WORD PTRSI (2)NEAR前缀可缩写为NE,但FAR前缀不能缩写。 C(比较)命令 用途:比较两个内存区的内容。 格式: C range address 说明:比较两个内存区的内容,比较长

8、度由range决定,若发现不相等的字节,按下 列格式显示它们的内容。 addr1 bytel byte2 addr2 例: 先用 D 命令显示两个存储区的内容。 -D 0100 0CDE:0100 54 48 49 53 20 49 53 2041 4E 20 45 58 41 4D 50 0CDE:0110 4C 45 24 31 20 32 20 3320 20 34 20 35 20 36 20 -C 0100 L60 11F ;比较100H和11FH开始的6个字符。 0CDE:0100 54 4C CDE:0110 0CDE:0101 48 45 0CDE:0111 0CDE:0102

9、 49 24 0CDE:0112 ;不同字符 0CDE:0103 53 31 0CDE:0113 0CDE:0105 49 32 0CDE:0115 D(显示)命令 用途:显示部分存储区的内容。 格式:D address或 D range 说明:显示指定内存单元的内容。 (1)在输入的起始地址中,只键入一个相对偏移量,段地址为DS中。 -D 100 0915:0100 54 48 49 53 20 49 53 20-41 4E 20 45 58 41 4D 50 0915:0110 4C 45 24 31 20 32 20 33-20 34 20 35 20 36 20 37 0915:012

10、0 20 38 20 39 20 41 20 42-20 43 20 44 20 45 20 46 (2)若要显示指定范围的内容,则要输入显示的起始和结束地址 -D 0100 011F 0915:0100 54 48 49 53 20 49 53 20-41 4E 20 45 58 41 4D 50 0915:0110 40 45 24 31 20 32 20 33-20 34 20 35 20 36 20 37 (3)如果用D命令没有指定地址,则当前D命令开始地址是由前一个D命令所显示 的最后单元后面的单元地址。 E(修改)命令 用途:修改RAM区的单元内容 格式:E addressList

11、 说明:该命令可以在指定的地址里修改一个或多个字节的内容,同时也可连续的修改 每个字节的内容。如: (1)连续修改每个字节的内容 -D 0180 ;显示0180单元开始的内容 0915:0180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 0915:0190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 -E 0180 ;修改开始,每修改个单元后按空格键再修改第二个单元 0915:0180 0012 0034 0056 0078 0012 0054 0099 0087 0915:0188 00

12、21 00AC 00SS 00CB 00BE 00FC 00EF 00BA 0915:0190 00 -D 0180 019F ;修改完毕,检查正确否 0915:0180 12 34 56 78 12 54 99 87-21 AC 00 CB BE FC EF BA 0915:0190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 (2)用给定的内容去代替指定范围的内存单元内容。 -d 0915:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 0915:0160 00 00 00 00

13、00 00 00 00-00 00 00 00 00 00 00 00 -e 0150 what is your name ? -d 0150 016F 0915:0150 77 68 61 74 20 69 73 20-79 6F 75 72 20 6E 61 6D 0915:0160 65 20 3F 00 00 00 00 00-00 00 00 00 00 00 00 00 (3)输入一个连接号-,则显示前一个地址单元的内容,若修改就键入一个字节, 然后按“-”,则又显示前一个地址单元内容。如显示的单元不修改,则按“-”。 -D 0150 015F ;从150H到15FH单元内容 0C

14、DD:0150 08 20 08 00 D0 38 04 1B一5B 32 4A 42 98 1l 44 AC -E 0160 ;从160单元开始修改 0CDD:0160 25- ;160单元不修改,键入“-” 0CDD:015F AC23- ;15F单元用23替代原先AC 0CDD:015E 44AA- ;15E单元用AA替代原先44 0CDD:015D 1155- ;修改完毕 -D 0150 015F ;检查修改后的单元内容 0CDD:0150 08 20 08 00 0D 38 04 1B-5B 32 4A 42 98 11 AA 23 F (填充)命令 用途:把表中的值填到内存单元中。

15、 格式:F range List 说明:如果List所含的字节数比 range小,则List被重复使用,如List所含的字节 数比range大,则多余被略去。 -F 0280 L20 “ABCDEF” ;把ASC码填入到从280开始的32个单元里 -D 0280 029F ;检查 0CDD:0280 4l 42 43 44 45 46 30 31-32 33 34 35 36 37 38 39 0CDD:0290 41 42 43 44 45 46 30 31-32 33 34 35 36 37 38 39 -F 0100 L9 “ABCDEF” ;删除多余的3-9 -D 0100 010F

16、;检查 0CDD:0100 41 42 43 44 45 46 30 31-32 0D OA 00 70 38 49 6E G(执行)命令 用途:执行需运行的程序,并对调试的程序进行断点测试跟踪。 格式:G =address addressaddress 说明:程序从当前指令开始执行,执行的地址由 CS 和 IP 的内容决定。如用“=ad- dress”参数取代,则程序从CS:“ =address ”开始执行。 -A 0CDD:0100 DB THIS IS AN EXAMPLE,$ 0CDD:0113 DB 1 2 3 4 5 6 7 8 9 A B C D E F $ 0CDD:0132

17、MOV DX,0100 0CDD:0135 MOV AH,09 0CDD:0137 1NT 21 0CDD:0139 MOV Dl,0D 0CDD:013B MOV AH,02 OCDD:013D INT 21 0CDD:013F MOV DL,0A 0CDD:0141 MOV AH,02 0CDD:0143 INT 21 0CDD:0145 MOV DX0113 0CDD:0148 MOV AH,09 0CDD:014A INT 21 0CDD:014C INT 20 0CDD:014E -G ;从CS:IP=0CDD:0100开始运行结果在显示器上显示出 THlS IS AN EXAMPL

18、E 1 2 3 4 5 6 7 8 9 A B C D E F Program terminated normally -G=0132 THIS IS AN EXAMPlE 1 2 3 4 5 6 7 8 9 A B C D E F Program terminated normally -G=013F 1 2 3 4 5 6 7 8 9 A B C D E F Program terminated normally -G=0132 013F ;程序从0132开始运行,在013F处设置一个断点 THlS IS AN EXAMPLE AX=020D BX=0000 CX=0000 DX=010D

19、 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0CDD ES=0CDD SS=OCDD CS=0CDD IP=013F NV UP EI PL NZ NA PO NC 0CDD:013F B20A MOV DL,0A 注意: (1)一旦程序运行结束(DEBUG显示“program terminated normally ”信息),在它 再次执行之前,必须重新启动程序。 (2)地址参数指向的位置必须含有合法的80868088指令码,如指定第一个字节为 非法指令,那么会出现不可预测的结果。 (3)堆栈指示器必须是合法的,并且对G命令有6个字节可用,否则会出现不可预 测的结

20、果 (4)对断点只键入一个偏移量,G命令设该段在CS寄存器中。 H(16进制运算)命令 用途:对两个16进制数进行加,减,然后显示出和与差。 格式:H Value Value -H A B 0015FFFF ;和为0015H,差为FFFFH I(输入)命令 用途:从指定的端口显示出输入数据字节。 格式:I port addtess -I 200 FF ;从200端口读入FF字节 L(装入)命令 用途:把磁盘上的内容装入内存。 格式:L 或 L address 说明:此命令装入在CS:5CH格式化的文件控制块所指定的文件,所以在使用这种格 式的L命令以前,在 CS:5CH中必须有已格式化的文件标

21、识符,这通常用N命令采实现。 若命令没规定地址,则文件装入到CS:100开始的内存区中,若命令规定了地址,则 装入到指定的区域中,但对具有扩展名的 .COM 或 .EXE的文件,则始终是装入到CS:100 的内存区中,即使命令中指定了地址,此地址也被忽略。 ADEBUG -N SS.COM -L ;把SS.COM文件从磁盘装人内存 -U 0114 011D ;用反汇编检查装人内存程序正确否(文件见W命令) 0CF3:0114 BA0001 MOV DX,0100 0CF3:0117 B409 MOV AH,09 0CF3:0119 CD21 INT 21 0CF3:011B CD20 1NT

22、20 0CF3:011D 6F DB 6F -D0100 011D 0CF3:0100 54 48 49 53 20 49 53 20-41 4E 20 45 58 41 4D 50 0CF3:0110 4C 45 20 24 BA 00 01 B4-09 CD 21 CD 20 6F M(传送)命令 用途:把由range规定的内存单元区域的内容传送到address开始的单元。 格式:M range address 说明:传送期间总是执行复盖传送,源区域的数据保持不变。 -D DS:0100 011F 0CDD:0100 CD 20 00 A0 00 9A EE FE-ID F0 F5 02

23、42 09 2E 03 0CDD:0110 42 4F 4D 53 50 45 43 3D-43 3A 5C 43 4F 4D 4D 41 -D DS:0000 001F 0CDD:0000 42 09 BD 02 42 09 3B 08-01 01 01 00 02 FF FF FF 0CDD:0010 42 09 BD 02 42 09 3B 08-01 01 01 00 02 FF FF FF -D CS:0500 05lF L 0CDD:0500 CD 20 00 A0 00 9A EE FE-1D F0 F5 02 42 09 2E 03 0CDD:0510 42 4F 4D 53

24、50 45 43 3D-43 3A 5C 43 4F 4D 4D 41 -D CS:0800 080F 0CDD:0800 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 -M DS:0000 000F DS:0100 ;把DS:0000开始的000FH个单元内容传送到CS:100开始的单元里 -D DS:0100 010F ;检查传送结果 0CDD:0100 42 09 BD 02 42 09 3B 08-01 01 01 00 02 FF FF FF -M DS:0100 010F CS:0800 ;把DS:100开始的0FH个单元内容传送到

25、CS:800开始的单元里 -D CS:0800 080F ;检查传送结果 0CDD:0800 42 09 BD 02 42 09 3B 08-01 01 01 00 02 FF FF FF N(命名)命令 用途:给文件定名,用于文件存盘或装入内存区。 格式:N filespecfilespec 说明:用命令中给定的两个文件标识符,格式化在CS:5CH和CS:6CH的两个文件控制块(若在 调用DEBUG程序时具有一个文件标识符,则它已格式化在CS:5CH的文件控制块)中,文件控制块 是为L和W命令提供所要求的文件名。 所有文件标识符和参数按键人的模式,放在CS:81H开始的参数保存区中,在CS:

26、80H 中保存输入的字符个数,在寄存器AX中保存前两个文件标识符中的驱动器标志。 ADEBUG -N SSCOM ;给文件命名为SS,扩展名为COM(文件见W命令) -L -U 0114 011D 0CF3:0114 BA0001 MOV DX,000 0CF3:0117 B409 MOV AH,09 0CF3:0119 CD21 INT 21 0CF3:011B CD20 INT 20 OCF3:011D 6F DB 6F -D0100 011D 0CF3:0100 54 48 49 53 20 49 53 20-41 4E 20 45 58 41 40 50 0CF3:0110 4C 45 20 24 BA 00 01 B4-09 CD 21 CD 20 6F -G

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1