《计算机-十个数输出最大最小值》由会员分享,可在线阅读,更多相关《计算机-十个数输出最大最小值(4页珍藏版)》请在金锄头文库上搜索。
1、实实 验验 报报 告告课程名称 计算机结构与组织 实验项目 输出最大最小值 姓名 学号 班级 专业 实验日期 实验名称:十个数输出最大最小值程序框图:初始化,设数据串地址传递第一个数 AX,并设置比较次数BX AXAXBX CL=0?BX 指向下一个数,循环次数减 +1传递第一个数 AX,并设置比较次数AXBX BX 指向下一个数, 循环次数-1BXAXAX MIN程序 DATA SEGMENT MAX DB ?MIN DB ?CL=0?AX MAX MAX,MIN 转化 成 ASC利用功能调用 2 输出 MAX输出空格DATA DW 08H,07H,04H,03H,09H,02H,01H,0
2、5H,00H,06H DATA ENDS STACK SEGMENT PARA STACKSTACKDB 100 DUP(?) STACK ENDS CODE SEGMENTASSUME CS: CODE,DS: DATA,SS: STACK MAIN PROC FAR START:PUSH DXSUB AX,AXPUSH AXMOV AX, DATAMOV DS,AX MOV BX,OFFSET DATAMOV AX,BXMOV CL,10 AGAIN1:CMP AX,BXJG NEXT1MOV AX,BX NEXT1:INC BXINC BXDEC CLJNZ AGAIN1 MOV MAX
3、,Al GO:MOV BX,OFFSET DATAMOV AX,BXMOV CL,10 AGAIN2:CMP AX,BXJl NEXT2MOV AX,BX NEXT2:INC BXINC BXDEC CLJNZ AGAIN2MOV MIN,ALOR MAX,30HOR MIN,30H利用功能调用 2 输出 MINDAA PRINT:MOV DL, MAXMOV AH,2INT 21HMOV DL,20HMOV AH,2INT 21H MOV DL,MINMOV AH,02INT 21H MOV DL,20HMOV AH,2INT 21HMOV CX,0FFFFH LOAP:DEC CXJNE
4、LOAPJMP PRINT MAIN ENDP CODE ENDSEND START心得与体会:刚开始编写汇编语言的时候觉得应该很简单,因为我在大一下半学期曾经学过 C,C+,认为 C,C+是比汇编语言更高级的语言,自认为在有 C+的基础的情况下,汇编语言会学起来相当省事,但经过编写才发现完全不是那么回事,在格式,表达方面截然不同,而且还有很多新的事物需要去接受,譬如:寄存器的选择,段的概念等,若不加以了解,那么无法将程序编写进行下去。但我也发现汇编语言与 C,C+也有相似之处,比如基本的顺序模式,分支模式,循环模式等,这也为我对整体思路的把握有一定的帮助。总之,在不断的摸索,学习,编写,再学习的过程中,我比较清楚的掌握了这个程序的编写。在编写完以后,本以为大功告成,但是却碰到更大的问题,那便是程序的反复的调试与矫正,这相当繁琐,一个小小的错误就需要整个程序重新复查,需要花费很多时间。这就需要在编写的时候要考虑周到,尽量避免出现小错误。