微机原理实验指导书新版.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流微机原理实验指导书新版.精品文档.微机原理与接口技术实验指导书主编:王青岳陈超波 张晓倩 许韫韬西安工业大学电信学院软件实验部分11 汇编基本原理21.1 程序,可直接运行的程序,汇编源程序,汇编21.2 CPU取指令、执行指令的过程32汇编工具MASM5.0使用方法32.1汇编源程序文件的建立方法32.2编译阶段52.3链接阶段62.4 程序调试阶段73软件实验项目9软件实验一 清零实验9软件实验二 码制转换实验11软件实验三 数据区移动实验13软件实验四 冒泡法排序实验16软件实验五 存储器校验实验18软件实验六 实时时钟显示实验19硬件实验部分211 微机实验系统简介222 实验系统上位机软件使用方法232.1 软件启动232.2 如何使用星研集成环境软件233 硬件实验项目32硬件实验一 8255 PA口控制PB口实验32硬件实验二 8255控制交通灯实验34硬件实验三 74HC138译码器实验37硬件实验四 8253方波实验39硬件实验五 8259A中断控制器实验41硬件实验六 8250可编程通信实验(与微机)44硬件实验七 简易电子琴实验49硬件实验八 LED8 * 8点阵实验58软件实验部分1 汇编基本原理1.1 程序,可直接运行的程序,汇编源程序,汇编程序程序以文件的形式存在,它是由若干条“指令”顺序排列存储构成的。指令是对符合CPU指令集的所有信息的统称,“指令”在程序中以两种形式存在,一种是以“指令代码”的形式(在可直接运行的程序文件中),另一种是以“助记符”的形式(在汇编源程序文件中)。无论“可直接运行的程序”还是“汇编源程序”,其中的指令都是以顺序排列的方式存储的,只是指令存在的方式不同。可直接运行的程序当程序中的指令是以可执行的“指令代码”的形式存在时,该程序即为可直接运行的程序,该程序所在的文件即为“可执行程序文件”。“直接运行”是指该程序中的指令代码可以被CPU直接执行。汇编源程序当程序中的指令是以“助记符”的形式存在时,该程序即为汇编源程序。该程序所在的文件即为“汇编源程序文件”。汇编每一条指令助记符都一一对应着一条指令代码。将以助记符形式存储的汇编源程序文件翻译成以指令代码形式存储的可执行程序文件的过程叫汇编。其逆过程叫反汇编。换言之,以图1所示为例,经过汇编过程后,汇编源程序文件(*.asm)中以顺序排列方式存储着的所有指令助记符1到指令助记符n,都一一对应的转换成了可执行程序文件(*.exe)中的指令代码1到指令代码n。图11.2 CPU取指令、执行指令的过程如图1所示,CPU取指、执行指令的的过程如下1) CPU中程序计数器PC所指向的地址即为将要取出的指令代码所在的地址;2) PC指向地址后,经读信号有效,该地址中存放的指令代码通过数据总线传送到CPU内部指令寄存器IR中,此时CPU只是取出该指令的二进制代码,尚不知道该二进制代码的具体含义;3) CPU内部的指令译码器ID对IR寄存器中的二进制代码进行译码,经比对其内部的指令集后,CPU即可知道IR中二进制代码的具体指令代码含义;4) 知道指令代码的具体含义后,IR中的指令将被执行。2汇编工具MASM5.0使用方法MASM5.0宏汇编程序用于DOS环境下。这里我们主要使用它的MASM.exe编译工具和LINK.exe链接工具。如前所述,汇编是将助记符书写的源程序文件翻译为二进制指令代码的可执行文件的过程。在MASM5.0工具,实际的汇编过程分为两个阶段,编译阶段和链接阶段。图22.1汇编源程序文件的建立方法可以使用任何一个文本编辑软件来建立汇编源程序文件。如在windows环境下可以使用其“记事本”工具,在DOS环境下可以使用工具等。需要注意的是,建立的汇编源程序文件必须以.asm为扩展名,由于DOS不支持中文和长文件名系统,因此*.asm的文件名部分不可以采用中文输入法输入文件名,常见的可以采用英文、数字或下划线等,并且字符的长度不可以超过8个(最多可以是8个)。例如“12345678.asm”和“abc_1.asm”都是合法的,而“123456789.asm”及“汇编.asm”都是非法文件名,不能被masm5.0的编译工具识别。此外,存盘路径也不可以出现中文或长字符。实例:在windows操作系统点“开始”菜单“运行”栏,在其中输入cmd,回车,进入模拟DOS环境。如图3所示。MASM5.0工具通常安装在实验室电脑的D:或者E:根目录下。在模拟DOS环境中敲入D:或者E:,进入相应盘的根目录。然后敲edit回车,进入文本编辑环境。如图4所示。图3图4在edit编译器中,输入源程序,点击“file”菜单的“save as”“另存为”选项,选择存盘路径为D:或者E:(根据masm5.0所在的路径选择),在File Name栏中输入汇编源程序文件名abc.asm,点击“ok”即建立汇编源程序文件成功。如图5所示。图52.2编译阶段如图2所示,建立好汇编源程序后,需要使用masm.exe工具进行编译,编译的目的是为了得到*.obj的目标代码文件,该文件是纯二进制代码文件,不能直接显示在屏幕上。经链接后才能得到可执行文件*.exe。在编译阶段中,masm.exe工具将对源程序的语法进行检验,如果发现错误将给予提示。错误提示分为严重错误和警告错误两种。严重错误指示某些指令存在语法错误,不能形成对应的二进制机器指令。而警告错误指示某些指令含义不够明确,需要提醒程序员注意。程序员可以根据提示对源程序进行修改,直到得到正确的结果为止。在汇编过程中还会产生列表文件和交叉引用文件。列表文件的后缀为.LST,主要用于给出源程序和机器代码程序的清单,其中包含了源程序中各语句及其对应的目标代码,各语句的偏移量等相关信息,对调试程序有帮助,以供检查程序使用。交叉索引文件的后缀为.CRF,它是一个为源程序所引用的各种符号进行前后对照的文件,主要用于给出不同程序段中互相引用的全部符号列表。初学者可以不用建立。举例:在以上步骤建立abc.asm源程序文件后,对源文件进行编译。键入 “masm abc.asm”回车,如没有语法错误,则生成目标文件,如图6所示。图6若有错误,则提示错误所在的行号及错误类型,回到源程序中重新改正相应错误处存盘,重复编译过程,直到没有错误才可以得到.obj的目标文件。如图7所示图72.3链接阶段在汇编过程中形成了目标文件(.OBJ),但是在该文件中,只是将源程序的操作码部分变成了机器码,而地址操作数还是可浮动的相对地址,不是实际地址,浮动地址需要再定位。只有经过链接过程才能形成最后的可执行文件。链接程序的功能就是把一个或多个目标文件合并成一个可执行文件,其后缀为.EXE。其实在链接过程中一共形成两个文件:第一个是可执行文件(.EXE)。默认的可执行文件名字与源程序文件相同,也可以根据用户要求修改可执行文件的名字;链接过程中形成的第二个文件是内存映像文件(.MAP),它给出了每个段的地址分配情况和长度。如果不需要该文件则可以在链接命令执行时直接输入Enter键。在链接过程中还与一个库文件(.LIB文件)相关。一般的汇编程序不需要库文件。但是当汇编语言与高级语言(如C语言)接口时需要用到库文件。此时输入相应的库文件名字即可。如图8所示,输入link abc.obj,对目标文件进行链接,得到可执行文件abc.exe。图82.4 程序调试阶段只有得到*.exe可执行文件后才可以进行调试,调试使用windows自带的debug.exe调试工具。使用方法是,在图8所示状态下,输入“debug abc.exe ”回车。进入debug调试环境提示符“-”,用“-U”命令可以显示反汇编信息。如图9所示,在-u命令后的第一行处,显示的“0b5e:0000”即第一条指令代码存放的地址,其中0b5e是指令段段地址,0000是偏移地址。该地址存放的指令代码是b44c,占两个字节(0000和0001两个便宜地址),因此第二行指令偏移地址从0002开始存放。该行右边的“mov ah,4ch”即“b44c”这条指令代码对应的助记符。回顾汇编过程,源程序*.asm中存放的即为图9右边所示的助记符;经过masm.exe工具编译后得到目标文件*.obj,即得到了图9中间部分的指令代码(该指令代码可以直接被CPU识别),但是此时并没有得到物理地址,只有相对的浮动地址;再经过link.exe工具链接后得到可执行文件*.exe,即得到了图9左边所示的指令代码所在的具体物理地址。所以只有可执行文件.exe才可以直接运行,因为其中既包含了指令代码,又包含了指令代码所在的具体物理地址。图9在debug调试环境中,“-q”命令是退出调试状态。“-d”,“-g”,“-t”也经常使用,如图10所示。图10单步执行-t后状态字信息的含义如表1所示溢出标志OF方向标志DF中断标志IF符号标志SF零标志ZF辅助标志AF奇偶标志PF进位标志CFOV(1)DN(1)EI(1)NG(1)ZR(1)AC(1)PE(1)CY(1)NV(0)UP(0)DI(0)PL(0)NZ(0)NA(0)PO(0)NC(0)表1 debug中状态字信息的含义3软件实验项目软件实验一 清零实验一、实验目的熟悉MASM编译环境,了解程序的汇编方法,熟悉常用汇编指令。二、实验内容编写程序,将程序数据段内256个字节内容清零(或写为55h)三、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)用debug调试环境的-U命令,查看数据段段地址,用-D命令查看运行前存储器内容,用-g运行程序后再用-d查看清0(清55H)后的内容图11 调试时先用-U命令查看数据段段地址图12 运行程序前先用-d命令查看数据段,看到0000-00ffh地址中有256个AAH图13 g连续运行程序,提示程序正常执行图14 再次用d命令看数据段,看到00-00ffH共256个单元清成了55h五、参考程序data segment buf db 256 dup(0aah)data endscode segment assume cs:code,ds:datastart:mov ax,data mov ds,ax mov cx,256 lea si,buf mov al,55h L1: mov si,al inc si loop L1 mov ah,4ch int 21hcode endsend start六、思考题1)画出该程序流程图2)start:标号处开始的两条指令起什么作用?能不能省略?3)程序是如何返回dos的?不加返回DOS指令会有怎样的后果?4)总结Loop指令的用法及功能?其最大循环次数是CX中写多少?循环多少次?软件实验二 码制转换实验一、实验目的了解16进制码转ascii码的方法,学习汇编指令。二、实验内容编写程序,将程序数据段内0,1,2,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh 的16个16进制数转换为相应的ascii码,并存储在原码所在的相应地址中。三、编程原理取出一个数后,首先判断该数是否大于等于10(或小于10),如果大于10则加37H转换,小于10则加30H。四、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)用debug调试环境的-U命令,查看数据段段地址,用-D命令查看运行前存储器内容,用-g运行程序后再用-d查看转码后的内容图15 U命令查看数据段段地址图16 程序运行前先用-d命令查看数据段内容图17 程序运行后再用-d命令查看数据段内容四、参考程序data segment buf db 0,1,2,3,4,5,6,7,8,9,0Ah,0bH,0CH,0Dh,0Eh,0Fhdata endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov cx,16 lea si,buf L2: mov al,si cmp al,10 jb L1 add al,7h L1: add al,30h mov si,al inc si loop L2 mov ah,4ch int 21hcode endsend start五、思考题1)画出程序流程图2)总结无符号条件转移指令的功能,要求更改程序,用JA指令实现相同功能。3)总结CMP指令和test指令的用法和区别4)总结有符号数转移指令JG,JL功能,叙述该指令是如何使用标志位判断有符号数的大小的?软件实验三 数据区移动实验一、实验目的了解交叉区域的数据移动方法,学习汇编指令。二、实验内容编写程序,将程序数据段内00-000fH 的16个数据传送到从0008偏移地址开始的16个字节的区域中。三、编程原理在没有数据区重叠的情况下,可以用递增或递减的方式随意传送。在有数据区重叠的情况只能使用其中一种。因此作为通用的情况,可以先将源区域的首地址和目的区域的首地址进行比较,如果源区域首地址比目的区域首地址小,无论有没有重叠区域,一律采用递减方式传送(即先传送末地址,然后地址指针递减);否则如果源区域首地址比目的区域首地址大,无论有没有数据区重叠,一律用递增方式传送。图18 数据重叠情况数据传送原理示意图四、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)用debug调试环境的-U命令,查看数据段段地址,用-D命令查看运行前存储器内容,用-g运行程序后再用-d查看数据传送后的内容图19 运行前后数据区的变化五、参考程序data segment buf1 db 0,1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh;buf1为源区域首地址org 08H buf2 db 8 ;buf2为目的区域首地址 org 10H ;由于偏移地址10H-1Fh区域可能被使用,所以建立足够的数据段缓冲区 db ? ;当10H被db伪指令占用后,10h-1fH都会分配给数据段使用data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov cx,16 lea si,buf1 ;如需改变源区域和目的区域位置关系,只要将这里的buf1 lea di,buf2 ;和这里的buf2倒一下次序即可 cmp si,di ja L1 add si,cx dec si ;源区域首地址+16-1即为源区域末地址 add di,cx ; dec di ;目的区域首地址+16-1即为目的区域末地址 std L3: mov al,si L3:rep movsb mov di,al ;递减方式 jmp L2 dec si dec di loop L3 jmp L2 ;初学者往往在这里容易遗漏 L1: mov al,si L1:cld mov di,al rep movsb inc si ;递增方式 L2:mov ah,4ch inc di int 21h loop L1 L2: mov ah,4ch int 21hcode endsend start六、思考题1)为什么要在数据段定义足够的缓冲深度?2)用串传送指令实现该程序功能。软件实验四 冒泡法排序实验一、实验目的了解冒泡法原理,学习多重循环的编程方法。二、实验内容编写程序,用冒泡法实现将数据段内5,3,3,2,1按照由小到大的顺序重新排列。三、编程原理冒泡即将数据两两比较,确保大的数放到右边。N个数经历N-1次冒泡后可以找到最大的气泡。其中“两两比较”可以用内循环的结构实现。经历第一次冒泡后剩下的N-1个数依然是无序的,可以重新重复冒泡过程,第二次只需经历n-2次两两比较即可以找到次大的气泡。依次类推,第N-1次冒泡后恰好可以排好所有的数。重复执行的N-1次的冒泡过程可以用外循环结构实现。由图21可知,内循环次数只要每次和外循环次数相等即可图20 冒泡法原理示意图1图21 冒泡法原理示意图2四、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)用debug调试环境的-U命令,查看数据段段地址,用-D命令查看运行前存储器内容,用-g运行程序后再用-d查看转码后的内容5)可以用-T命令单步执行,观察每条指令运行后的寄存器及存储器变化情况,观察冒泡法的原理图22 程序运行前后的冒泡法排序情况五、参考程序data segmentbuf1 db 5,4,3,2,1data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,4 ;dx中存放外循环次数 L3: mov cx,dx ;cx中存放内循环次数,内循环次数等于外循环次数 lea si,buf1 L2: mov al,si ;取出第一个数 cmp al,si+1 ;两个数比较 jb L1 ;如果第一个数比第二个数大,则两两交换 xchg al,si+1 mov si,al L1: inc si loop L2 dec dx ;外循环次数减1,没减到0则跳转至L3处,重新置 jnz L3 ;入内循环的计数初值 mov ah,4ch int 21hcode endsend start六、思考题1)n个数冒泡法排序共需要多少次循环?2)循环嵌套时总循环次数和内外循环次数是哪种数学关系?编写内外循环嵌套的双重循环程序,实现100次内循环,300次外循环。软件实验五 存储器校验实验一、实验目的了解存储器校验原理,学习汇编指令。二、实验内容编写程序,将数据段1000H开始的256个字节校验。三、编程原理为了测试存储器每个位是否正常,可以对存储单元的每一位分别写入0和1,再立刻读出来,如果读出依然是0和1,说明写0和写1都正常,否则,说明存储器相应单元已损坏。对每一位写入时,通常采用分别写入55H和0AAH的方式。四、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)用debug调试环境的-U命令,查看数据段段地址,用-g运行程序后再用-d查看数据段的内容五、思考题若存储器段地址为1600H,首偏移地址为0000H,要求以8088为CPU,用全译码方式扩展一片6264存储器,画出扩展电路图软件实验六 实时时钟显示实验一、实验目的了解显示相关的中断调用方式,了解软件延时原理。学习子程序的编程方法。二、实验内容编写程序,在显示器上显示00:00格式走动的电子时钟,其中冒号前为模拟分针位,冒号后为模拟秒针位(不严格要求每一秒秒针位走动一次)三、编程原理在显示器上显示可以采用21H中断的2号子功能或者9号子功能,以2号子功能为例,DL中必须先存放要显示字符的ascii码,AH中写入2,再执行int 21h即显示一位的信息。注意秒针位和分针位的边界处理,秒针走到59后,秒针位需要清零,分针位加1,分针位走到59后分针位和秒针位都清0。软件延时即循环执行N次构成循环体的若干指令,每次循环的时间为T,则延时NT。四、实验步骤1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名)2)用masm.exe工具队源程序进行编译,得到目标文件*.obj;3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;4)直接运行*.exe文件,观察屏幕上显示的电子时钟的走动状态是否正常。五、参考程序stack segment db 128 dup(?) top dw ?stack endscode segmentassume cs:code,ss:stackstart: mov ax,stack mov ss,ax lea sp,top mov bh,0 ;BH中存放分针位 mov bl,0 ;BL中存放秒针位 L1: mov al,bh ;将分针位送入码制转换子程序 call xchg_code ;将分针位的高四位和低四位转换为ascii码 mov dl,al ;显示分针的高4位 mov ah,2 int 21h mov dl,dh ;显示分针的低4位 mov ah,2 int 21h mov dl,':' ;显示分号 mov ah,2 int 21h mov al,bl ;将秒针位送入码制转换子程序 call xchg_code ;将秒针位的高四位和低四位转换为ascii mov dl,al ;显示秒针的高四位 mov ah,2 int 21h mov dl,dh ;显示秒针的低四位 mov ah,2 int 21h mov dl,0dh ;显示换行字符,(并未回车) mov ah,2 int 21h call delay ;延时秒针跳动一步所需的时间 inc bl ;秒针位加一 cmp bl,60 ;比较是否秒针到60秒 jb L2 mov bl,0 inc bhL2: cmp bh,60 ;比较是否分针到60分 jb L3 mov bl,0 mov bh,0L3: jmp L1xchg_code:mov ah,0 mov cl,10 div cl add al,30h add ah,30h mov dh,ah retdelay: mov si,5000 L5: mov cx,0 loop $ dec si jnz L5 retcode endsend start硬件实验部分1 微机实验系统简介图1 微机实验系统构成示意图图2 微机实验箱各模块区域示意图2 实验系统上位机软件使用方法2.1 软件启动方法一:启动Windows操作系统,单击操作系统“桌面”的“星研集成环境软件”快捷方式图标即可进入集成开发环境。方法二:鼠标单击操作系统的“开始”菜单,在“程序”栏中打开“星研集成环境软件”菜单栏,选择“星研(SUPER、STAR系列仿真器)”,启动星研集成环境软件。注意:当您使用低配置机器时,从星研集成环境软件退出后必须等待足够的时间,让系统完全退出(硬盘停止工作)后,方可再次启动星研集成环境软件。2.2 如何使用星研集成环境软件首先运行星研集成软件。启动画面如图:1)选择仿真器或仿真模块执行 主菜单 » 辅助 » 仿真器,出现一个对话框:请选择实验仪:STAR ES598PCIS;仿真器:EMU598+仿真模块;选择“确认”。如果选择“模拟调试器”,实验仪电源不用开启,使用微机CPU模拟执行程序,可以调用附件中的软中断,但无法对I/O接口操作。学生在做实验前,可以选择“模拟调试器”,在星研集成环境中编写程序,对它编译、连接,解决语法错误,使用模拟调试功能,初步调试;可以大幅度减少在实验室中做实验的时间。2)设置缺省项目执行 主菜单 » 辅助 » 缺省项目,出现一个对话框:(使用EMU598+仿真模块, 选择“8086(EMU598+)”)点击进入下一步:“选择语言”您可以根据自己的需要以及程序的类型作相应的选择,本实例选择Borland公司的Turbo C(3.0)、TASM(5.0) (请确定在选择语言之前已经安装好相应的编译软件)。然后再点击进入下一步:“编译、连接控制项” 实验仪提供64K memory空间,memory model请选择tiny,缩写为mt;如果需要源程序级别调试,必须使用-v y控制项,为了支持多文件编译、连接,必须使用-c控制项。一般不必改变Turbo C的编译控制项。如果需要源程序级别调试,必须使用/zi /l控制项。一般不必改变Tasm的编译控制项。如果需要源程序级别调试,必须使用/m /l /v控制项。一般不必改变TLINK的连接控制项。然后再点击进入下一步:“存贮器出借方式” 仿真模块EMU598提供64K仿真RAM,作程序段(CS)、数据段(DS)、附加段(ES)、堆栈段(SS)使用。3)建立源文件执行 主菜单 » 文件 » 新建,(或者点击图标)打开窗口如下:首先选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:*.asm文件,使用TASM来对它编译。本实例文件名为8255test.asm。窗口如下:按“确定”即可。然后出现文件编辑窗口:输入源程序,如下图:保存源程序文件,点图标,这样一个源文件就建立好了。4)编译、链接文件首先选择一个源文件,然后可以编译、链接文件了。对文件编译,如果没有错误,再与库文件链接,生成代码文件(DOB、EXE文件)。编译、链接文件的方法有如下二种:(1)使用 主菜单 » 项目 » 编译、连接 或主菜单 » 项目 » 重新编译、链接 ”。(2)点击图标或来“编译、链接”或“重新编译链接”。“编译链接”与“重新编译、链接”区别:“重新编译、链接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件链接,生成代码文件(DOB、EXE文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下:若有错误则出现如下信息框:有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。这时用户可以作相应的修改,直到编译、连接文件通过。5)调试在进入调试状态以前,请正确设置通信口:执行 主菜单 » 辅助 » 通信 ,对话框如下:仿真器、实验仪配套的通信线可以与微机USB口相连,即为USB通信线,请选择USB。对于最下面一行的校验,通常不必选中它,可以提高传送DOB、HEX、BIN文件时的速度。在进入调试状态以前,还必须确定实验仪与微机的正确连接,电源接通,开关打开。如果编译、连接正确后,可以开始调试程序。进入调试状态方法有:a) 执行 主菜单 » 运行 » 进入调试状态b) 点击工具条的c) 执行 主菜单 » 运行 » 装载DOB、HEX、BIN文件进入后的窗口如下:在整个图片中我们可以看到相对应的窗口信息。在“工作区窗”的“CommonRegister”中我们可以了解通用寄存器的信息。中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。寄存器窗我们可以看到一些常用的寄存器的数值。存贮窗1、存贮窗2显示相应的程序段(CS)、数据段(DS)、IO设备区的数据,还有变量窗,自动收集变量显示其中。反汇编窗显示对程序反汇编的信息代码、机器码、对应的源文件。在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。这种船坞化的窗口比通常的窗口显示的内容更多,移动非常方便。用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到您认为合适的位置;将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。在调试过程中,可以根据您的需要,在主菜单 » 查看中打开:寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。您也可以通过主菜单 » 辅助 » 设置 » 格式,设置每一种窗口使用的字体、大小、颜色。移动窗口到您喜欢的位置、大小。首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜欢的颜色。对于高级语言,在您的程序前有一段库文件提供的初始化代码,(当前可执行标志)不会出现在您的文件行上,如果您使用C语言,可将光标移到main函数上,按F4功能键,让CPU全速运行到main行上后停下;如果您使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到您的任何一个可执行行后停下。您可以使用以下命令调试您的程序: 设置或清除断点(功能键为F2)在当前光标行上设置或清除一个断点 单步进入(功能键F7)单步执行当前行或当前指令,可进入函数或子程序。 连续单步进入(功能键Ctrl + F7)连续执行“单步进入”,用鼠标点击或按任意键后,停止运行。 单步(功能键 F8)单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。如果当前行中含有函数、子程序或发生中断,CPU将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。 连续单步(功能键 Ctrl + F8)连续执行“单步”,用鼠标点击或按任意键后,停止运行。 运行到光标行(功能键 F4)从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击,停止运行。 全速断点(功能键 F9)从当前地址开始全速运行用户程序,碰到断点或用鼠标点击,停止运行。 全速运行(功能键Ctrl + F10)从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU从头开始执行用户程序,用鼠标点击,停止运行。全速运行时,屏蔽了所有断点,即不会响应任何断点。 停止运行终止微机与仿真器之间通信(功能键 ESC)。注意:欲终止微机与仿真器之间通信,功能键ESC是一个很方便的键,它的效果比点击相应的图标的效果要好。建议用户多用ESC键。在系统运行“连续单步”或者“连续单步进入”时ESC键被禁止,这时用户可以按键盘的其他任意键停止其运行。3 硬件实验项目硬件实验一 8255 PA口控制PB口实验一、实验目的与要求了解8255的内部资源与结构;了解8255工作方式0的原理;熟悉8255的初始化以及各接口输入输出程序的编程方法。二、实验设备STAR系列实验仪一套、PC机一台三、实验内容编写程序:从8255的PA口将F5区的8位开关读入,读入到CPU的内部寄存器AL,再读出后,写入PB口,显示于F5区的LED指示灯上。(s21-s28开关拨动到上方为低电平)四、实验原理图五、实验步骤1、关闭实验箱电源,按下表进行连线,检查无误后打开实验箱电源。B4区:CS(8255),A0,A1A3区:CS1,A0,A1B4区:JP56(PA口)F5区:JP83B4区:JP53(PB口)F5区:JP652、打开上位机软件,建立*.asm文件,编写8255程序。3、点击图标,编