微机原理与接口技术实验报告
- 格式:doc
- 大小:148.50 KB
- 文档页数:22
微机原理与接口技术实验总结篇一:微机原理与接口技术实验总结微机原理与接口技术实验总结11107108徐寒黎一、实验内容以及设计思路1、①试编写一程序,比较两个字符串STRinG1、STRinG2所含字符是否相同,若相同输出“maTcH”,若不相同输出“nomaTcH”。
设计思路:定义一个数据段,在数据段中定义两个字符串作为STRinG1、STRinG2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。
关键步骤以及少量语句:第一步将STRinG1和STRinG2都实现用键盘输入,方法是moVdX,oFFSETSTRinG2moVaH,0aHinT21H并且显示在显示器上,显示方法将0aH改成09H,语句与上面类似。
然后进行比较第一个单元,moVaL,[STRinG1+1]cmPaL,[STRinG2+1]JnznomaTcH若字符串长度不等,则直接跳转,输出输出“nomaTcH”;若长度相等再逐个比较LEaSi,[STRinG1+2]LEadi,[STRinG2+2]moVcL,[STRinG1+1]moVcH,0cLdREPEcmPSBJcXzmaTcH,意思是全部相同就跳转maTcH,输出“maTcH”;不然进入下面的nomaTcH。
退出。
②试编写求级数1 +2 +3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。
但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的aScii码字符串,转换成与之相同的十进制数的数值。
关键的思路部分是:从1开始求级数,将和的值存在aX里,要加下一项级数前,比如这时已经加到4,PUSH一下aX,然后将5乘三遍,将乘积moV到BX里,再PoPaX,然后将BX的值加到aX 里,然后将aX与n比较,如果比n小就继续上述步骤,知道刚比n 大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。
2. 继续熟悉实验操作软件的环境及使用方法。
二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。
三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。
(2) 编译连接无误后,进入调试环境,进行程序的调试。
按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。
如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。
图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。
数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。
继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。
图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。
如图1-3所示。
图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。
2. 掌握运算类指令对各状态标志位的影响及测试方法。
第一篇软件实验实验一存储器块操作实验一、实验目的1. 熟悉KEIL集成调试环境和汇编程序的调试方法。
2. 掌握存储器读写方法;3. 了解内存块的移动方法;二、实验说明实验1 指定某存储器的其实地址和长度,要求能将其内容赋值。
通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。
块移动是单片机常用操作之一,多用于大量的数据复制和图像操作。
例程2给出起始地址,用地址加1方法移动块,将指定源地址和长度的存储块移到指定目标为起始地址的单元中去。
移动3000H起始的256个字节到4000H起始的256个字节。
三、实验内容1. 试编程将片内RAM中的数据依次复制到片外RAM。
假设源数据区的首地址为40H,目的数据区的首地址为1000H,数据块长度为10H。
流程图:程序:运行结果:Memory显示,片内RAM中40H开始数据为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明测试数据已经成功输入片内RAM。
从片外RAM中1000H位置开始记录为03 00 29 00 00 00 71 00 AB 00 00 00 1E 00 00 FF,说明片内RAM从40H开始的数据已经成功复制到片外从1000H开始的地址。
2. 两个16位无符号二进制数分别存放在片外RAM首址为2000H和2002H单元内,将它们相加,结果存入RAM 30H(低8位)、31H(高8位)。
程序(以0506H+CDEFH为例):0506H和CDEFH已存入片外单元,运算结果D2F5已存入30H和31H中。
四、思考题1. 如何将存储块的内容置成某固定值(例全填充为0FFH)?请用户修改程序,完成此操作。
答:将源程序中的MOV A, #01H 改为MOV A,#0FFH即可。
2. 若源块地址和目标地址有重叠,该如何避免?答:先执行一次数据转移操作将源块地址中的数据先暂存入一块地址与目标地址和源块地址均不重叠的存储区,再执行一次数据转移操作将暂存区的数据移入目标地址区域。
微机原理与接口技术实验报告实验一实验名称:试验箱硬件连接实验实验一:地址译码电路设计实验实验内容:用74LS138译码器设计地址译码电路,并用其输出作为基本输入输出单元的片选信号,使用设计的端口地址编写程序,实现数据的输入输出。
实验原理:微机接口电路中,常采用74LS138译码器来实现I/O端口或存储器的地址译码。
74LS138有3个输入引脚、3个控制引脚及8个输出引脚,其管脚信号如图1所示。
当3个控制信号有效时,相应于输入信号A、B、C状态的那个输出端为低电平,该信号即可作为片选信号。
32位总线地址是由XA2开始,所以地址是以4字节边界对齐的。
实验系统的I/O地址空间共有256字节,偏移地址一般从00H~FFH。
起始地址由PC机系统分配,可以查看端口资源得到起始地址。
所以设计地址译码电路,主要是针对XA7以下低8位地址线译码,得到偏移在00H~FFH之间的端口。
本实验要求不使用总线上的片选信号,自行设计端口偏移地址为E0H~FFH的译码电路,然后用译码输出作为I/O接口单元的片选。
编写程序,完成I/O数据操作。
实验步骤:(1) 实验接线图如图2所示,按图连接实验线路图。
(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,对实验程序进行编译、链接。
(3)运行程序,拨动开关,观看数据灯显示是否正确。
运行结果:屏幕上能够正确显示开关所表示的十进制数。
实验二:点阵LED显示设计实验实验内容:(1) 在TD-PIT+上使用基本输入输出单元中的两路输出OA[7:0]、OB[7:0]分别控制点阵LED的行控制R[7:0]和列控制L[7:0]。
编写程序,使点阵LED的每一行和每一列依次循环显示。
(2) 在TD-PIT++上使用32位I/O接口单元的32位输出O0~O31控制点阵LED 单元R0~R15和L0~L15。
编写程序,在16×16点阵上循环显示汉字。
实验原理:8×8点阵LED相当于8×8个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。
微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。
实验一,微机原理。
在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。
通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。
同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。
实验二,接口技术。
在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。
我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。
实验三,实验综合。
在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。
通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。
总结。
通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。
微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。
希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。
以上就是本次实验的实验报告,希望对大家有所帮助。
感谢大家的阅读!。
微机原理与接口技术实验报告实验目的:本次实验旨在通过实际操作,加深对微机原理与接口技术的理解,掌握接口技术的基本原理和应用方法,提高学生的动手能力和实际应用能力。
实验内容:1. 学习并掌握微机原理与接口技术的基本知识;2. 了解并熟悉常见的接口技术及其应用;3. 进行实际操作,设计并完成一个简单的接口电路。
实验仪器与设备:1. 个人电脑;2. 电子元件,电阻、电容、集成电路等;3. 实验板、示波器、示教电脑等。
实验步骤:1. 阅读相关的微机原理与接口技术的教材,了解基本原理;2. 学习常见的接口技术,例如并行接口、串行接口等;3. 进行实际操作,设计一个简单的接口电路,包括硬件设计和软件编程;4. 调试电路,确保接口电路能够正常工作;5. 编写实验报告,总结实验过程和实验结果。
实验结果与分析:经过实际操作,我们成功设计并完成了一个简单的接口电路。
在实验过程中,我们深入理解了微机原理与接口技术的相关知识,掌握了接口技术的基本原理和应用方法。
通过调试电路,我们验证了接口电路的正常工作,加深了对接口技术的理解。
结论:本次实验使我们更加深入地了解了微机原理与接口技术,提高了我们的动手能力和实际应用能力。
通过设计和完成接口电路,我们对接口技术有了更加直观的认识,为今后的学习和工作打下了坚实的基础。
总结:微机原理与接口技术是计算机专业的重要课程,通过实验学习,我们不仅加深了对知识的理解,还提高了动手能力和实际应用能力。
希望同学们能够认真对待每一次实验,不断提升自己的能力,为未来的发展打下坚实的基础。
至此,本次微机原理与接口技术实验报告完毕。
微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。
一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。
根据显示屏上的自检信息,可以判断计算机硬件的工作状态。
2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。
首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。
在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。
通过观察实验结果,判断串口通信是否正常。
3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。
首先,将并行口接口连接到计算机主机。
然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断并口通信是否正常。
4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。
首先,将USB接口连接到计算机主机。
然后,在计算机中安装相应的驱动程序。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断USB接口是否正常工作。
5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。
首先,将计算机连接到局域网中的其他计算机。
然后,进行相应的设置,包括IP地址、子网掩码等。
通过编写程序,实现计算机之间的数据交互。
观察实验结果,判断网络接口是否正常工作。
三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。
通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。
微机原理与接口技术硬件实验报告目录实验一基本的IO实验 (2)A.I/O地址译码 (2)一、实验目的 (2)二、实验原理和内容 (2)三、硬件接线图与软件流程图 (3)四、源程序 (4)五、实验结果 (5)实验总结 (5)六、实验收获与心得体会 (5)B.简单并行接口 (5)一、实验目的 (5)二、实验原理和内容 (6)三、硬件接线图与软件流程图 (6)四、源程序 (7)五、实验结果 (8)六、实验总结 (8)七、实验收获与心得体会 (8)实验二可编程并行接口8255实验 (8)一、实验目的 (8)二、实验原理和内容 (8)三、硬件接线图与软件流程图 (10)四、源程序 (12)五、实验结果 (15)六、实验总结 (15)七、实验收获与心得体会 (15)实验三可编程定时器/计数器(8253)实验 (15)一、实验目的 (15)二、实验原理和内容 (15)三、硬件接线图与软件流程图 (17)四、源程序 (17)五、实验结果 (24)六、实验总结 (24)七、实验收获与心得体会 (24)八、思考题 (24)实验四串行通讯接口8251实验 (25)一、实验目的 (25)二、实验原理和内容 (25)三、硬件接线图与软件流程图 (25)四、源程序 (26)五、实验结果 (31)实验总结 (31)六、实验收获与心得体会 (31)七、思考题 (31)实验一基本的IO实验A.I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。
二、实验原理和内容1.实验电路硬件接线图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH, ……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。
《微机原理与接口技术》实验报告系部:指导教师:学号:姓名:实验一 8255A并行口实验A一、实验目的⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
二、实验内容用8255 PA作开关量输入口,PB作输出口。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、思考题1.该实验证明了8255A的什么特点?实验二 8255A并行口实验B一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、程序框图四、实验电路五、实验程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0, MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALP30: MOV AL,75H MOV DX,PA OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P31: MOV DX,PA MOV AL,0F3H OUT DX,AL INC DXMOV AL,0CH OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0F7H OUT DX,AL INC DXMOV AL,0DH OUT DX,AL CALL DELAY2 LOOP P31MOV AL,0AEH OUT DX,AL INC DXMOV AL,0BH OUT DX,AL CALL DELAY1 CALL DELAY1 MOV CX,08H P32: MOV DX,PA MOV AL,9EH OUT DX,AL INC DXMOV AL,07H OUT DX,AL CALL DELAY2 MOV DX,PA MOV AL,0BEH OUT DX,AL INC DXMOV AL,0FH OUT DX,AL CALL DELAY2 LOOP P32JMP P30DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3六、思考题1.改变延时常数,使发光二极管闪亮时间改变。
微机原理与接口技术实验报告专业____________________ 年级___________________ 完成时间________________小组成员_________________________________________________________________实验一汇编语言编译过程一、实验目的1、熟悉汇编语言源程序的基本格式。
2、掌握在DOS环境下汇编程序的编写、汇编和调试方法。
3、掌握在MF2KP(MIFID实验箱软件平台)环境下汇编程序的编写、汇编和调试方法。
二、实验内容软件实验1、编写汇编语言源程序2、使用MASM进行汇编,查找错误并修改3、使用LINK进行连接4、运行程序三、实验要求在DOS环境下利用文本编辑器编写汇编语言源程序,用汇编工具编译、调试、连接,生成可执行文件在DOS环境下正确运行,并记录相关数据。
四、实验仪器IBM-PC机,MFID实验箱五、实验步骤1、在DOS方式下键入edit new.asm<CR>2、输入源程序并保存3、键入masm new<CR>进行汇编,生成new.obj目标文件,并保存new.list列表文件4、如果提示有错误,参考列表文件并修改程序文件new.asm,重复第三步5、键入link new<CR>进行连接,生成new.exe可执行文件6、键入new<CR>运行程序六、实验程序stack segment stack ‘stack’dw 32 dup(?)stack endsdata segmentSB DB 9AHOBUF DB 9 DUP (?)data endscode segmentmain proc farassume ss:stack, cs:code, ds:datastart: push dssub ax, axmov ax, datamov ds, axMOV CX, 8MOV BX, 0MOV AL, SBAGAIN: MOV AH,0SHL AX, 1ADD AH, 30HMOV OBUF[BX], AHINC BXLOOP AGAINMOV OBUF[BX], ‘$’MOV DX, OFFSET OBUFMOV AH, 9INT 21Hretmain endpcode endsend start七、实验结果分析1、记录编译过程中错误并分析原因2、本程序中9号功能调用输出数据如何获得3、如将MOV CX, 8 语句中的8改为4,输出结果又是什么4、如果将语句MOV OBUF[BX], ‘$’去掉,输出结果是什么,试分析其原因微机原理与接口技术实验报告专业____________________ 年级___________________ 完成时间________________小组成员_________________________________________________________________实验二DEBUG调试一、实验目的1、熟悉使用DEBUG调试可执行文件的基本方法2、掌握在DEBUG中显示寄存器内容与显示存储器内容的命令3、掌握利用DEBUG中的反汇编命令对可执行文件进行反汇编与置断点的命令二、实验原理DEBUG是一个专门为汇编语言设计的交互式调试工具,它提供一个控制测试的环境,以便用户能够监视和控制被调试程序的执行;可以直接确定直接确定程序中出现的问题,然后立即修改程序以便判定这些问题是否已经解决,而不必重新去编写一个程序;可以直接设置寄存器和存储器的值,也可设置断点使程序暂停执行以便察看中间结果;总之,它为汇编语言程序员提供了非常有效的调试手段。
.... 目录实验一数据传送 (2)实验二算术运算 (13)实验三代码转换 (25)实验四程序的基本结构练习 (36)实验五存储器(RAM 6264)扩展 .................................... 错误!未定义书签。
实验六可编程并行接口(8255)扩展............................. 错误!未定义书签。
实验七可编程计数/定时器(8253)扩展....................... 错误!未定义书签。
实验八A/D、D/A转换 .......................................................... 错误!未定义书签。
实验九可编程串行通信接口(8251)扩展.................... 错误!未定义书签。
实验一:数据传送实验学时:2实验类型:验证实验要求:必修一.实验目的1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法;学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件);学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件);学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件);学习用调试软件TD.EXE调试可执行文件;2.掌握各种寻址方法以及简单指令的执行过程。
二.实验器材PC机三.实验组织运行要求1.利用堆栈实现AX的内容与BX的内容进行交换。
堆栈指针SP=2000H,AX=3000H,BX=5000H;2.汇编、调试、观察、记录结果;⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘;⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件);⑶用调试软件TD调试、运行程序,观察、记录结果。
四.实验步骤1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘⑴汇编语言程序的上机过程①进入\SY86子目录E:>CD\SY86E:\SY86>②进入QEDIT.EXE 编辑界面E:\SY86> Q③输入文件名*.ASM(如M1.ASM)后,输入源程序源程序DATA SEGMENT PARA PUBLIC’DATA’;数据段定义DB 512 DUP(0)DATA ENDSSTACK SEGMENT PARA STACK’STACK’;堆栈段定义DB 512 DUP(?)STACK ENDSCODE SEGMENT PARA PUBLIC’CODE’;代码段定义ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK MAINPROC FAR ;定义过程程序PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,2000hMOV AX,3000hMOV BX,5000hPUSH AXPUSH BXPOP AXPOP BXRETMAIN ENDP ;结束主要部分程序CODE ENDS ;结束代码段END MAIN ;结束汇编⑵用MASM程序产生.OBJ文件操作如下:E:\SY86> MASM M1.ASM M1.OBJMicrosoft(R)Macro Assembler Version 5.00Copyright(C)Microsoft Corp 1981-1985,1987. All rights reserved.Object Filename [HEXASC.OBJ]:Source listing [NUL.LST]:Cross-reference [NUL.CRF]:51576+385928 Bytes symbol space free0 Warning Errors0 Severe Errors以上说明汇编过程已经完成。
⑶用LINK程序产生EXE文件操作如下:E:\SY86>LINK M1.OBJMicrosoft(R)Overlay Linker Version 3.60Copyright(C)Microsoft Corp 1983-1987. All rights reserved.Run File [M1.EXE]:List File [NUL.MAP]:Libraries [.LIB]:E:\SY86>LINK程序输出3个文件:.EXE文件;.LIB库文件;.MAP列表文件。
连接过程全部完成,可以执行程序;⑷在TD状态下用单步运行F8对M1.EXE文件进行调试,观察、记录结果。
E:\SY86>TD进入TD调试软件后用单步执行F8命令从首地址开始执行指令并观察相应变化。
运行结果如下:―F8AX=0000 BX=0000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0103 NV UP DI PL NZ NA PO NC17F7:0103 B80030 MOV AX,3000―F8AX=3000 BX=0000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0106 NV UP DI PL NZ NA PO NC17F7:0106 BB0050 MOV BX,5000―F8AX=3000 BX=5000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0109 NV UP DI PL NZ NA PO NC17F7:0109 50 PUSH AX―F8AX=3000 BX=5000 CX=000D DX=0000 SP=1FFE BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010A NV UP DI PL NZ NAPO NC17F7:010A 53 PUSH BX―F8AX=3000 BX=5000 CX=000D DX=0000 SP=1FFC BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010B NV UP DI PL NZ NA PO NC17F7:010B 58 POP AX―F8AX=5000 BX=5000 CX=000D DX=0000 SP=1FFE BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010C NV UP DI PL NZ NA PO NC17F7:010C 5B POP BX―F8AX=5000 BX=3000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010D NV UP DI PL NZ NA PO NC17F7:010D F4 HLT―2.用以上同样的方法,完成下列程序的调试:编辑、汇编、连接、运行程序,观察、记录结果。
⑴输入以下汇编程序(分号“;”后面内容不需输入)用单步运行执行程序,按分号后的要求记录结果。
源程序DATA SEGMENT PARA PUBLIC ‘DATA’DATA ENDSSTACK SEGMENT PARA STACK ‘STACK’DB 512 DUP (?)STACK ENDSCODE SEGMENT PARA PUBLIC ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,2000H ;AH=20HMOV DS,AX ;AL=00H DS=2000H MOV SS,AX ;SS=2000H AX=2000H MOV BX,2030H ;BH=20H BL=30H MOV SI,BX ;SI=2030HMOV DI,3040H ;DI=3040HMOV SI,DI ;SI=3040HMOV SP,50FFH ;SP=50FFHMOV DX,SP ;DH=50H DL=0FFHMOV CL,25 ;CL=25(19H)MOV BL,CL ;CL=19H BL=19HMOV AH,0F0H ;AH=0F0HMOV CH,AH ;CH=0F0HMOV BYTE PTR[DI],64 ;(DI)=40HMOV WORD PTR[SI],256 ;(SI)=00H (SI+1)=01H MOV DL,[SI+1] ;DL=01HMOV DH,1+[SI] ;DH=01HMOV AL,1[SI] ;AL=01HMOV WORD PTR[BX][SI],34 ;(BX+SI)=22H (BX+SI+1)=00H MOV [BX+SI+4],BL ;(BX+SI+4)=19HMOV BP,2[BX+DI] ;BP=0100HMOV [BP],AL ;(BP)=01HMOV AX,[BP][DI] ;AX=8B00HMOV BL,AL ;BL=00HMOV ES,BX ;ES=2000HPUSH BX ;SP=50FDH (SP,SP+1)=2000H PUSH DI ;SP=50FBH (SP,SP+1)=3040H POP CX ;SP=50FDH CX=3040HPOP DX ;SP=50FFH DX=2000HXCHG AX,BP ;AX=0101H BP=8B00HXCHG DH,BL ;DH=00H BL=20HLAHF ;FLAG=NV UP DI PL NZ NA PO NC;FLAG=00000000;AH=02HSAHF ;FLAG=NV UP DI PL NZ NA PO NC;FLAG=00000000;AH=02HPUSHF ;SP=50FDH (SP,SP+1)=3102HPOPF ;SP=50FDH;FLAG= NV UP DI PL NZ NA PO NC;FLAG=00000000NOPSTART ENDPCODE ENDSEND START⑵以文件名“E2”存盘;⑶单步运行程序,每运行一条指令即检查相应结果并予以记录;⑷利用断点运行、跟踪运行和全速运行等功能调试程序、运行程序并检查结果。