《微机原理与接口技术》课程实验报告班级:9131042101实验一:系统认识与显示一、实验目的(1)掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
(2)掌握汇编语言中与数据有关的不同的寻址方式。
(3)掌握在PC机上以十六进制形式显示数据的方法。
二、实验设备PC机一台、微机原理实验仪一套三、实验内容编写程序,将31H~3FH共16个数写入内存3000H开始的16个存储单元中,将数据传送到4000H开始的16个存储单元中,并显示出来。
四、实验过程1.运行Wmd软件,进入Wmd集成开发环境。
2.编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验程序STACKK SEGMENT STACKDW 256 DUP(?)STACKK ENDSDATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKKSTART: PUSH DSXOR AX,AXMOV DS,AXMOV SI,3000HMOV CX,10HMOV AL,30HL1: MOV [SI],ALINC SIINC ALLOOP L1MOV SI,3000HMOV DI,4000HMOV CX,10HREP MOVSBMOV BX,4010HMOV [BX],'$'MOV DX,4000HMOV AH,9HINT 21HMOV AX,4C00HINT 21HCODE ENDSEND START六、实验结果实验二:数码转换程序实验一、实验目的(1)掌握不同进制数及编码互相转换的程序设计方法,加深对数制转换的理解。
(2)熟悉程序调试的方法。
二、实验设备PC机一台、TD-PITE实验装置一套三、实验内容编写程序,将输入的数据0FFH,2AH,0C5H转换为十进制,并显示出来。
四、实验过程1.运行Wmd软件,进入Wmd集成开发环境。
2.编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验程序DATA SEGMENTARRAY1 DB 0FFH,2AH,0C5HARRAY2 DB 20 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKK START: MOV AX,DATAMOV DS,AXMOV BL,0AHMOV SI,OFFSET ARRAY1MOV DI,OFFSET ARRAY2MOV CX,3L1: MOV AL,[SI]L2: MOV AH,00HDIV BLADD AH,30HMOV [DI],AHINC DICMP AL,0JNZ L2INC SIMOV [DI],2CHADD DI,1LOOP L1MOV [DI],'$'MOV DX,OFFSET ARRAY2MOV AH,9HINT 21HMOV AX,4C00HINT 21HCODE ENDSEND START六、实验结果实验三:子程序设计实验一、实验目的(1)学习子程序的定义和调用方法。
(2)掌握子程序、子程序的嵌套、递归子程序的结构。
(3)掌握子程序的程序设计及调试方法。
二、实验设备PC机一台、TD-PITE实验装置一套三、实验内容求字节序列中的最大值和最小值,并显示出来。
四、实验过程1.运行Wmd软件,进入Wmd集成开发环境。
2.根据程序流程图编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验程序STACKK SEGMENT STACKDW 256 DUP(?)STACKK ENDSDATA SEGMENTARRAY1 DB 80H,90H,0FFH,0C5H,70H,60H,55H,0CH,1BH,0FHARRAY2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKKSTART: MOV AX,DATAMOV DS,AXMOV CX,10MOV SI,OFFSET ARRAY1MOV BH,[SI]MOV BL,[SI]L1: INC SICMP BH,[SI]JGE L2MOV BH,[SI]L2: CMP BL,[SI]JLE L3MOV BL,[SI]L3: DEC CXJNZ L1MOV AL,BHCALL DISMOV AH,0MOV AL,BLCALL DISMOV AX,4C00H INT 21HDIS PROC NEARPUSH BXPUSH SIPUSH AXMOV CL,4SHR AL,CLMOV BH,ALPOP AXAND AL,0FHMOV BL,ALCMP BH,09HJBE l11ADD BH,7Hl11:ADD BH,30H CMP BL,09HJBE l12ADD BL,7Hl12:ADD bl,30h MOV AH,02hMOV DL,BHINT 21hMOV AH,02hMOV DL,BLINT 21hMOV AH,02hMOV DL,20hINT 21hPOP SIPOP BXRETCODE ENDSEND START六、实验结果实验四:排序程序设计实验一、实验目的(1)掌握分支、循环、子程序调用等基本的程序结构。
(2)学习综合程序的设计、编制及调试。
二、实验设备PC机一台、TD-PITE实验装置一套三、实验内容使用冒泡排序法,对一组无符号数进行从大到小的排序,并将排序结果显示出来。
四、实验过程1.运行Wmd软件,进入Wmd集成开发环境。
2.根据程序流程图编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验程序STACKK SEGMENT STACKDW 256 DUP(?)STACKK ENDSDATA SEGMENTARRAY1 DB 80H,90H,0FFH,0C5H,70H,60H,55H,0CH,1BH,0FHARRAY2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKKSTART: MOV AX,DATAMOV DS,AXMOV CX,9MOV SI,OFFSET ARRAY1 L2: MOV AL,[SI]CMP AL,[SI+1]JAE L3XCHG AL,[SI+1]MOV [SI],ALL3: INC SIDEC DXJNZ L2DEC CXJNZ L1MOV CX,10MOV SI,OFFSET ARRAY1 L4: MOV AL,[SI]CALL DISINC SIDEC CXJNZ L4MOV AX,4C00HINT 21HDIS PROC NEARPUSH BXPUSH SIPUSH CXPUSH AXMOV CL,4SHR AL,CLMOV BH,ALPOP AXAND AL,0FHMOV BL,ALCMP BH,09HJBE l11ADD BH,7Hl11:ADD BH,30HCMP BL,09HJBE l12ADD BL,7Hl12:ADD bl,30hMOV AH,02hMOV DL,BHINT 21hMOV AH,02hINT 21hMOV AH,02hMOV DL,20hINT 21hPOP CXPOP SIPOP BXRETCODE ENDSEND START六、实验结果实验五:静电存储器扩展实验一、实验目的(1)了解存储器扩展的方法和存储器的读/写。
(2)掌握CPU对16位存储器的访问方法。
二、实验设备PC机一台、TD-PITE实验装置一套三、实验内容在实验箱中如图所示进行连线,完成静态存储器的扩展,编写实验程序,并将字符串'This is computer!'写入SRAM的扩展的存储单元0050H~中,然后通过系统命令查看该存储空间,检测写入数据是否正确。
四、实验过程1.按照连线图接线。
2.运行Wmd软件,进入Wmd集成开发环境。
3.编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验接线图六、实验程序SSTACK SEGMENT STACKDW 256 DUP(?)SSTACK ENDSDATA SEGMENTSTRING DB 'This is computer!','$'DATA ENDSCODE SEGMENTSTART PROC FARASSUME CS:CODE,DS:DATA,SS:SSTACKMOV AX, DATAMOV DS,AXMOV BX, 8000HMOV ES, BXLEA SI, STRINGMOV DI,0050HMOV CX,100CLDREP MOVSBMOV AX,8000HMOV DS,AXMOV DX,0050HMOV AH,9INT 21hMOV AX,4CHINT 21HSTART ENDPCODE ENDSEND START七、实验结果显示字符串'This is computer!'实验六:中断控制器8259应用实验一、实验目的(1)掌握8259中断控制器的工作原理。
(2)学习8259的应用编程方法。
(3)掌握8259级联方式的使用方法。
二、实验设备PC机一台、TD-PITE实验装置一套三、实验内容在实验箱中如图所示进行连线,编写实验程序,使每当按动一次‘KK1+’,产生一次外部中断,并在屏幕上显示一个字符。
四、实验过程1.按照连线图接线。
2.运行Wmd软件,进入Wmd集成开发环境。
3.编写实验程序,并进行编译、链接和加载,观察运行结果。
五、实验接线图主片8259A从片8259AINT INT CAS2:0CAS2:0IR2IR4IR6IR7IR1INTR (内核)串口0MIR6MIR7SIR1六、 实验程序SSTACK SEGMENT STACKDW 256 DUP(?)SSTACK ENDSDATA SEGMENTARRY DB 'This is computer!','$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARRYMOV CX,17PUSH DSMOV AX,0000HMOV DS,AXMOV AX,CSMOV DI,003EHMOV [DI],AXMOV AX,OFFSET MIR6MOV DI,003CHMOV [DI],AXCLIPOP DSMOV DX,0020HMOV AL,11HOUT DX,ALMOV DX,0021HMOV AL,08HOUT DX,ALMOV DX,0021HMOV AL,04HOUT DX,ALMOV DX,0021HMOV AL,01HOUT DX,ALMOV DX,0021HMOV AL,07FHOUT DX,ALSTIAA1: NOPJMP AA1MIR6: STIMOV AH,02HMOV DL,[SI]INT 21HINC SIDEC CXJNZ L1MOV CX,17MOV SI,OFFSET ARRYL1: MOV AL,20HOUT 20H,ALIRETCODE ENDSEND START七、实验结果加载成功后,运行程序,每当按动一次‘KK1+’,产生一次外部中断,并在屏幕上按顺序显示字符串This is computer!的一个字符。