微机原理实验求最大值汇编程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 求最大值程序
NEXT: LOOP MOV MOV SHR CMP JA ADD DISX MOV AND CMP JA ADD MAX1 BL,AL CL,04 AL,CL AL,09 MAX4 AL,30H AL AL,BL AL,0FH AL,09 MAX5 AL,30H MAX3:
MAX4: MAX5: CODE
MAX2:
DISX MOV INT ADD JMP ADD JMP ENDS END
AL AH,4CH 21H AL,37H MAX2 AL,37H MAX3
START
实验三 求最大值程序
七、实验报告要求(包含预习报告要求和最终报告要求)
1.实验名称: 2.实验目的 3.实验内容及要求 4.程序设计(求最大Байду номын сангаас)
实验三
六、实验程序
DISX
求最大值程序
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,STACK MOV SS,AX MOV SP,TOP MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,09 INT 21H MOV SI,OFFSET BLOCK MOV CX,[SI] DEC CX MOV SI,OFFSET DATA1 MOV AL,[SI] MAX1: INC SI CMP AL,[SI] JA NEXT MOV AL,[SI];AL中定义为最大值
MACRO X MOV DL,X MOV AH,02 INT 21H ENDM STACK SEGMENT STA DB 512 DUP(?) TOP EQU LENGTH STA STACK ENDS DATA SEGMENT BUF DB 'MAX NUMBER:',0DH,0AH,'$' DATA1 DB 35H,07H,0ABH,56H,12H DB 98H,0CDH,76H,0FAH,0BFH BLOCK DB 10 DATA ENDS
实验三 求最大值程序
一、实验目的
1.掌握条件判断指令的用法。 2.掌握循环程序的设计方法。 3.学习在屏幕上显示字符的方法。 4.学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。
二、实验内容
在首地址为DATA1的数组中找出最大值,并在屏幕上显示出来。
实验三 求最大值程序
三、程序框图
实验三 求最大值程序
四、程序理解介绍
要理解这个程序,需要理解以下几点: 1.程序完成的任务有:定义及初始化、求最值、显示最值。 2.如果显示AL=FAH,先AL暂存BL,对AL逻辑右移4位,再判断是不是大于9,若 大于9加37H,否则加30H,然后送去显示。取出暂存的BL送AL,然后与0FH相 与,再判断是不是大于9,若大于9加37H,否则加30H,再送去显示。 3.怎么显示字符?利用INT 21H的AH=02H号子功能,显示DL的内容。 4.返回DOS可用INT 21H的AH=4CH号子功能。 5.宏定义介绍 DISX MACRO X MOV DL,X MOV AH,02 INT 21H ENDM
包含流程图和源程序,源程序必须加必要注释。
5.实验结果及结果分析 6.实验中出现的问题及解决方法 7.回答思考题