微机原理作业第二次精要

上传人:我** 文档编号:114745117 上传时间:2019-11-12 格式:DOCX 页数:10 大小:305.24KB
返回 下载 相关 举报
微机原理作业第二次精要_第1页
第1页 / 共10页
微机原理作业第二次精要_第2页
第2页 / 共10页
微机原理作业第二次精要_第3页
第3页 / 共10页
微机原理作业第二次精要_第4页
第4页 / 共10页
微机原理作业第二次精要_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《微机原理作业第二次精要》由会员分享,可在线阅读,更多相关《微机原理作业第二次精要(10页珍藏版)》请在金锄头文库上搜索。

1、上机第二次作业姓名:吴志强 学号:13170110001 专业:材料科学与工程一、 实验目的1熟练掌握汇编语言程序设计的方法及上机步骤。2掌握算术运算中,十进制数调整指令的应用。3掌握子程序的设计方法。4掌握DOS功能的调用方法。二、实验仪器微型计算机 1台三、实验内容1编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。编程思路: 1 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。 2 和以压缩十进制数的形式存入SUM以下单元。 3 将和送到屏幕显示部分功能的实现采用子程序的形式。实验步骤如图一所示:图一:实验步骤

2、2有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。编程思路:1 参加排序的数据及个数由自由定义。2 要将排序前的数组和排序后的数组在屏幕上显示出来。实验步骤如图二所示:图二:实验步骤四、实验源程序1.实验程序:汇编语言源程序STACK SEGMENT STACK DB 10H DUP(00)STACK ENDSDATA SEGMENTADD1 DB 12H, 67H, 85H, 32H ;被加数ADD2 DB 21H, 73H, 65H, 43H ;加数 SUM DB 4H DUP(?) ;和 DATA ENDSCODE SEGMENT ASSUME CS: CODE,

3、 DS: DATA, ES: DATA, SS: STACKSTART: MOV AX, DATA MOV DS, AX MOV AX, DATA MOV ES, AX MOV AX, STACK MOV SS, AX LEA SI, ADD13 LEA BX, ADD23 LEA DI, SUM 3 MOV CX, 4 CLCL1: MOV AL, SI ADC AL, BX DAA MOV DI, AL DEC SI DEC BX DEC DI LOOP L1 CALL DISPAL ;- EXITPROC: MOV AH, 4CH ;结 束 程 序 MOV AH,1 INT 21H ;-

4、DISPAL PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI LEA DI, SUM MOV CX, 4DISPAL2: MOV AL, DI SHR AL, 1 SHR AL, 1 SHR AL, 1 SHR AL, 1 MOV AH, 2 MOV DL, AL ADD DL, 30H INT 21H MOV AL, DI AND AL, 0FH MOV AH, 2 MOV DL, AL ADD DL, 30H INT 21H INC DI LOOP DISPAL2 POP DI POP DX POP CX POP BX POP AX RE

5、TDISPAL ENDP ;返回DOSCODE ENDS END START流程如图三所示: 图三:流程图运行结果:2.实验程序:汇编语言源程序 N=20 ;取N=20 STACK SEGMENT STACKSTACK DW 100H DUP(00)TOP LABEL WORDSTACK ENDSDATA SEGMENTDATABUF DW N DB N DUP(?)ORIGINAL DB 13, 10, 13, 10, THE ORIGINAL DATA :$ORDERED DB 13, 10, 13, 10 , THE ORDERED DATA :$ DATA ENDSCODE SEGME

6、NTASSUME CS: CODE, DS: DATA, ES: DATA, SS: STACKSTART: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX, STACK MOV SS, AXLEA SP, TOP ;随 机 数 据 MOV CX, DATABUF LEA SI, DATABUF+2 MOV BL, 18 MOV AL, 13L: MOV SI, AL INC SI ADD AL, BL LOOP L LEA DX, ORIGINAL MOV AH, 9 INT 21H CALL DISPAL ;下面给数据排序程序 MOV CX, DATAB

7、UF DEC CX LEA SI, DATABUF+2 ADD SI, CX ; SI指向数据区末地址L1: PUSH CX PUSH SIL2: MOV AL, SI CMP AL, SI-1 JBE NOXCHG XCHG AL, SI-1 MOV SI, ALNOXCHG: DEC SI LOOP L2 POP SI POP CX LOOP L1 LEA DX, ORDERED MOV AH , 9 INT 21H CALL DISPALEXITPROC: MOV AH, 4CH ;结束程序 MOV AH, 1 INT 21HDISPAL PROC NEAR PUSH AX PUSH B

8、X PUSH CX PUSH DX PUSH DI LEA DI, DATABUF+2 MOV CX, 20DISPAL2: MOV AL, DI SHR AL, 1 SHR AL, 1 SHR AL, 1 SHR AL, 1 CALL CHANG ;- MOV AH, 2 MOV DL, AL INT 21H MOV AL, DI AND AL, 0FH CALL CHANG ;- MOV AH, 2 MOV DL, AL INT 21H MOV AH, 2 MOV DL, 20H INT 21H ;为了让结果看得清楚,让显示的数用空格空开 INC DI LOOP DISPAL2 POP DI POP DX POP CX POP BX POP AX RET DISPAL ENDPCHANG PROC NEAR CMP AL, 10 JNGE CHANG1 ADD AL, 7CHANG1 : ADD AL, 30H RETCHANG ENDPCODE ENDSEND START流程如图四所示:图三:流程图运行结果:五、问题讨论1在以十进制数形式参加运算的程序设计中,应注意那些问题。答:在以十进制数形式参加运算的程序设计中应该注意进位和溢出问题。2总结循环程序设计的步骤及方法。答:正确初始化循环控制计数和初始条件; 检测循环条件; 必须能保证能达到循环结束条件。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号