微机原理10实验指导.ppt
微机原理10实验指导 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望实验一实验一 系统认知实验系统认知实验实验目的实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。实验设备实验设备:装有DOS系统和MASM5.0的微机一台,或TDN86/88微机原理教学实验系统一台。实验内容实验内容:编程实现在屏幕上显示一个大写字母“A”或字符串“Hello World!”,用DEBUG调试程序。实验要求实验要求:1、上机前做好充分准备,包括源程序清单、调试步骤等;2、用DEBUG来调试程序,熟悉DEBUG的使用。实验步骤实验步骤:1、编写程序并输入,检查无误后,经汇编、连接后运行,用DEBUG装入。2、用U命令反汇编程序,应用R、G等命令,观看运行情况。3、用D、E、A等命令查看、修改源数据,用G命令查看运行结果。4、用Q命令退出DEBUG。思考:程序运行通过后,用DEBUG改变DL寄存器中的待显字符“A”的ASCII码值。用什么命令?是-RDL吗?还是-RDX?v1.1.建立源文件建立源文件 使用使用EDITEDIT软件软件,得到扩展名为ASM的汇编语言源程序文件。(扩展名.asm 勿忘加!)v2.2.汇编源程序汇编源程序 使用汇编程序使用汇编程序MASMMASM对源程序进行汇编,生成OBJ、LST和CRF文件(后两种一般不需要,可直接回车)。如程序有错,可以根据提示信息,重新编辑、汇编源程序,直到没有严重错误为止。v3.3.连接程序连接程序 使用连接程序使用连接程序LINKLINK,对汇编程序产生的目标文件进行连接,产生可执行的程序EXE。v4.4.调试或运行程序调试或运行程序上机过程1.编辑编辑 C:8688EDIT 文件名文件名.ASM2.汇编汇编 C:8688masm 文件名文件名.ASM3.连接连接 C:8688link 文件名文件名.obj4.调试调试 C:8688debug 文件名文件名.exe-U 反汇编反汇编,记下程序首地址和结束地址记下程序首地址和结束地址-D 段地址段地址:偏移地址偏移地址 察看内存单元内容察看内存单元内容-E 段地址段地址:偏移地址偏移地址 修改内存单元内容修改内存单元内容 空格空格修改下一个修改下一个,回车回车结束修改结束修改-G=起始地址起始地址 结束地址结束地址 运行程序运行程序参考源程序CODESEGMENTASSUME CS:CODESTART:MOV AH,2 MOV DL,A INT 21H MOV AH,4CH INT 21HCODEENDS END START显示字母A返回 DOS这个程序是调用2号DOS功能实现输出字母A。考虑:如用9号功能,则程序怎么写?DATASEGMENTWSTR1DB Hello World!,CR,LF,$CREQU0DHLFEQU0AHDATASEGMENTCODESEGMENTASSUME CS:CODE,DS:DATAMO:MOVAH,9 MOVDX,SEG WSTR1 MOVDS,DX MOVDX,OFFSET WST1 INT21H 如把字符串如把字符串“Hello World!”显示在屏幕上,则程显示在屏幕上,则程序段:序段:MOV AH,4CH INT 21HCODEENDS END MO参考源程序DATASEGMENTMSG1 DB 13,10,NumberMSG2 DB 13,10,Not numberCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,1INT 21HCMP AL,30HJLNotNumberCMP AL,39HJG NotNumberMOV DX,OFFSET MSG1MOV AH,9 INT 21HJMP EXITNotNumber:MOV DX,OFFSET MSG2MOV AH,9INT 21HEXIT:MOV AH,4CHINT 21HCODE ENDS END START实验三实验三 循环程序设计与调试循环程序设计与调试实验目的实验目的:学习循环程序设计方法,熟悉汇编语言程序的设计、编写和调试方法。实验内容实验内容:计算sum=1+23+34+N(N-1),当N(N-1)200时结束。(即计算sum和N)实验要求实验要求:1、上机前做好充分准备,包括源程序清单、调试步骤等;2、用DEBUG查看结果。实验设备实验设备:微机原理实验系统一台。实验四实验四 并行接口并行接口8255A8255A实验实验实验目的实验目的:1.学习并掌握8255的各种工作方式及其应用;2.学习在系统接口实验单元上构造实验电路。实验内容实验内容:不断检测8个开关K7K0的通断状态并随时点亮对应的LED7LED0,开关合上,对应的LED亮,开关闭上,对应的LED熄。端口地址为60H63H。编写其控制程序。实验要求实验要求:连线前,关闭电源。实验结束后,关闭电源,把线取下来,重新装入仪器箱中,放好。实验设备实验设备:TDN86/51或TDN86/88教学实验系统。实验线路图见下页。实验线路图见下页。实验线路图实验线路图CODESEGMENTASSUME CS:CODESTART:MOV AL,82H ;注:控制字可略有不同OUT63H,AL ;写入控制字,B输入,A输出CHECK:INAL,61H ;读入B口(开关)状态OUT60H,AL ;将读入的数向A口输出以控制小灯JMPCHECK ;继续检测开关状态CODEENDSENDSTART 分别按F2、F3键进行编译和连接,注意此时不要加后缀.asm或.obj。输入源程序,经汇编、连接后,确认实验箱的电源已打开。然后按F5载入程序,提示CS:,输入0000;IP:输入2000。然后输入G=0000:2000,回车即可运行程序。拨动开关,可见小灯亮或灭。实验五实验五 D/A D/A转换实验转换实验实验目的实验目的:学习并掌握数模转换的基本原理和DAC0832芯片的使用方法。实验内容实验内容:用图示实验线路编写程序,实现数模转换,并产生锯齿波,用示波器功能(F7)观察波形。端口地址为00H。实验要求实验要求:连线前,关闭电源。实验结束后,关闭电源,把线取下来,重新装入仪器箱中,放好。实验设备实验设备:TDN86/51或TDN86/88教学实验系统。实验线路图见下页。实验线路图见下页。实验线路图实验线路图步骤:1.按图连线,编辑源程序,经汇编、连接后装入系统;2.按F7_Wave进入PC示波器功能;3.按F1运行程序,输入CS及IP地址,观察DA输出波形。按F2停止,但波形随之消失;按F3暂停,则波形仍在。DAC UNITADC UNIT系统总线MOTOR UNITCODE SEGMENT;锯齿波发生程序ASSUME CS:CODESTART:MOVAL,00HNEXT:OUT00H,AL ;D/A转换数据口地址为00HCALLDELAYINCALJMPNEXTDELAY PROC NEAR;延时子程序PUSHCXMOVCX,40HKKK:LOOPKKKPOPCXRETDELAY ENDPCODE ENDSEND START