课程名称:微机原理与接口技术
实验名称:寻找最大和最小数实验
一.实验目的
1、 学习循环程序结构,掌握编写循环处理程序的方法和技巧。
2、 通过循环结构程序熟悉汇编语言程序设计的主要方法。
3、 了解和掌握程序设计过程中算法的选择。
4、 掌握汇编语言调试方法。
二.实验内容
以buff开始的内存单元中有10个有符号数(字节型DB):
-37、28、-115、-2、98、-100、93、120、56、-99
请编写程序,找出最大的数并存入MAX单元中,同时也找出最小的数并存入MIN单元中,在Debug下运行程序,查看数据区MAX和MIN的内容检验运行结果。
三.实验结果分析。
经过看书和ppt,编出了该实验的程序,运行后,该组数的最大数和最小数都分别以
16进制存放于MAX和MIN中,各个过程运行正确。
四.实验体会
按照上课的内容,自己先编了一个程序,但是有10来个错误,我就好好地把老师的
教案看了几遍,查了一些资料,经过我多次修改,反复地进行调试,终于有了最佳的源程序,一步步的执行下去,在这过程中,我学到了很多东西。
我认为,学习语言类就应该多动手写程序,多试验,这样能力才能提高。
附:源程序清单:
DATA SEGMENT
BUF DB -37,28,-115,-2,98,-100,93,120,56,-99 CNT EQU $-BUF MAX DB ? MIN DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
;数据
;循环次数
;存放最大数
;存放最小数
MOV CX,CNT-1
MOV BX,OFFSET BUF ;首地址
MOV AH,[BX] ;假定第一个数为最大数
MOV AL,[BX] LOOP1: INC BX CMP AH,[BX] JGE NEXT1 MOV AH,[BX] JMP NEXT2
NEXT1: CMP AL,[BX] JNGE NEXT2
MOV AL,[BX] NEXT2: DEC CX
;假定第一个数为最小数
;指向下一个数
;比较
;AH中数大
;AH中数小,替换
;比较
;AL中数大,替换
JNZ LOOP1 ;循环
MOV MAX,AH ;存储最大数
MOV AH,4CH
INT 21H
CODE ENDS
END START
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务