资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微型计算机原理与应用实验指导书实验程序报告学院:信息工程学院班级:电子11-1班姓名:LXY学号: 2011202030实验一编辑、汇编、连接、调试程序的使用程序设计A设计要求(1) 将 FFFFH 送到 AX, SI, DI, BP, DS, ES 寄存器(2) 编程(利用DEBUG调试程序,每执行一次T命令后,记录相关寄存器内 容,并判断是否正确。)程序如下:CODE SEGMENTASSUME CS:CODESTART PROC FARSTT:PUSH DSSUB AX,AXPUSH AXMOV AX,0FFFFHMOV SI,AXMOV DI,AXMOV BP,AXMOV DS,AXMOV ES,AXRETSTART ENDPCODE ENDSEND STTB、设计要求(1) 将 1,2,3,4,5分别送到数据段偏移地址为 1000H, 1001H, 1002H, 1003H 1004H,单元中。(2) 编程DATA SEGMENTORG 1000HDATA ENDSCODE SEGMENTASSUME CS:CODESTART PROC FARSTT:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV AL,1MOV DS:1000H,ALMOV AL,2MOV DS:1001H,ALMOV AL,3MOV DS:1002H,ALMOV AL,4MOV DS:1003H,ALMOV AL,5MOV DS:1004H,ALRETSTART ENDPCODE ENDSEND STT 实验二、加法程序设计设计内容A、设计要求(1)在数据段偏移地址 1000H 处开始,连续存放有 3 字节的数据(高位对应高 地址,低位对应低地址),1003H处开始连续存放有两字节的数据(高对高, 低对低),求这两数据之和,并将结果放在流量数据之后。(eg: 12 34 56H+78 9AH=12AC F0H)( 2 )编程DATA SEGMENTORG 1000HH1 DB 56H,34H,12H,9AH,78HH2 DB 3DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT:PUSH DSSUB AX,AXPUSH AXMOV AX,DATA MOVDS,AXMOV SI,1000HMOV DI,1003HMOV BX,1005HMOV CX,2CLCLP:MOV AL,SIMOV DL,DIADC AL,DLMOV BX,ALINC SIINC DIINC BXLOOP LPMOV AL,SIADC AL,00MOV BX,ALRETCODE ENDPSTART ENDSEND STTC、设计要求(1) 用串传送指令把A程序的数据块偏移地址1000H开始的区域传递到同一 数据段的偏移地址为1003H开始的区域。用DEBUG查看运行结果。(2) 编程DATA SEGMENT ORG1000HH1 DB 56H,34H,12H,9AH,78HORG 1003HH2 DB 56H,34H,12H,9AH,78H,0F0H,0ACH,12HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AX MOVES,AXLP: MOV SI,1000H MOVDI,1003HMOVSB MOVCX,8INC SIINC DILOOP LPRETSTART ENDPCODE ENDS END STT实验三、查表程序设计A、设计要求(1)在数据段偏移地址 1000H 处,存放 09的平方值,任给一个自然数 M 在 1010H单元中(0WMW9),查表求出M的平方值,并将结果放入1011单 元中。( 2 )编程DATA SEGMENTORG 1000HTAB DB 00,01,04,09,16,25,36,49,64,81ORG 1010H M DB 4,?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET TABMOV AL,MXLATMOV DS:1011H,ALRETSTART ENDPCODE ENDSEND STTB、设计要求(1)编程实现:将BCD数00H99H顺序存放到当前数据1000H 开始的内存单元中,用 DEBUG 查看运行结果。( 2)编程DATA SEGMENTORG 1000HH DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT: PUSH DS SUBAX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV SI,1000HMOV AL,0MOV CX,100LP:MOV SI,ALADD AL,1DAAINC SILOOP LPRETSTART ENDPCODE ENDSEND START实验四、码制的变换程序设计B 、设计要求(1)把BX中的“1”的个数放到AL中,“0”的个数放到AH中,并在屏幕 上分别显示0和1的个数( 2 )编程DATA SEGMENTORG 1000HH DB 000FHORG 1010HW DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXCALL Z1CALL Z2CALL Z3CALL Z4RETSTART ENDPZ1 PROC NEARMOV BX,DS:1000HMOV CX,16MOV AX,0CLCKK:RCR BX,1JC AAADD AH,1JMP BBAA:ADD AL,1 BB:LOOP KKMOV DS:1010H,AHMOV DS:1020H,ALRETZ1 ENDPZ2 PROC NEARPUSH AXPUSH BXMOV AX,DS:1010HMOV AH,0MOV BX,000AHDIV BLADD AH,30HADD AL,30HMOV DS:1041H,AHMOV DS:1040H,ALPOP BXPOP AXRETZ2 ENDPZ3 PROC NEARPUSH AXPUSH BXMOV AX,DS:1020HMOV AH,0MOV BX,000AHDIV BLADD AH,30HADD AL,30HMOV DS:1044H,AHMOV DS:1043H,ALPOP BXPOP AXRETZ3 ENDPZ4 PROC NEARPUSH AXPUSH CXPUSH DXPUSH SIMOV CX,6MOV SI,1040HLP:MOV DL,SIMOV AH,2INT 21HINC SILOOP LPPOP SIPOP DXPOP CXPOP AXRETZ4 ENDPCODE ENDSEND STT 实验五、求最大值的程序设计A、设计要求(1)从首地址为 BUF 开始存放的 10 个字节无符号数,从这些数中找出最大值 存入 MAX 中。(2)编程DATA SEGMENTORG 1000HBUF DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT: PUSH DS SUBAX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV SI,1000HMOV CX,9MOV AL,SIINC SIMOV AL,0LP: CLCCMP AL,SIJNC AAMOV AL,SIAA:INC SILOOP LPMOV DS:2000H,ALRETSTART ENDPCODE ENDSEND ST1实验六、软件综合设计一、实验目的:1熟悉并且掌握汇编语言的基本指令及编程方法。2. 掌握用汇编语言编写程序的思路和设计方法。3.熟练掌握DEBUG调试程序的方法。二、实验内容:1. 设计课题:模拟温度测量软件设计2 设计要求:(1)将首地址为1000H开始存放的10个单字节数据,进行数字滤波。实 现方法是:找出其中最大值(设子程序名为:ZMAX)和最小值(设子程序名为:ZMIN) 并从中 10个数中去掉最大值和最小值,将剩余的的8个数取平均值后,存放在 1010H单元中。(设子程序名为:Z1)(2)将存放在1010H单元中的十六进制数的整数部分转换成非压缩的 BCD码,存放在1020H开始的存储单元中(低位在前,高位在后)。(设子程序 名为:Z2)(3)将存放在1020H开始的非压缩BCD码转换成ASCII码。存放在 1030H开始的存储单元中。(低位在前,高位在后)(设子程序名为:Z3)(4)将存放在1030H开始的ASCII码送CRT显示(高位在前,低位在后)。 (设子程序名为: Z4)3、程序结构及编程DATA SEGMENTORG 1000HL DB 9AH,66H,2EH,1AH,5DH,3CH,36H,88H,52H,22H ORG 1010HAVER DB ?ORG1020HXDB 3 DUP (?)ORG1030HYDB 3 DUP (?)ORG1050HH DB 4 DUP (?)ORG 1060HH1 DB 100 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARSTT: PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXCALL ZMAXCALL ZMINCALL Z1CALL Z2CALL Z3CALL Z4RETSTART ENDPZMAX PROC NEARPUSH AX
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号