微机原理与接口技术|汇编语言|子程序设计|入门实验3

实验内容:

利用子程序的方法编写程序。
求10个无符号字节序列中的最大值和最小值,并把结果在屏幕上显示。

相关知识:

  1. 掌握子程序设计的基本方法,包括子程序的定义、调用和返回。
  2. 巩固常用dos功能操作。

程序流程图:

在这里插入图片描述

实现代码:

DATA SEGMENT
     STRING1  DB	'The MAX is ','$'
     STRING2  DB	'The MIN is ','$'
     HUANHANG	DB	0DH,0AH,'$'
     BUFFER DB 9,1,2,0,3,6,5,8,7,4         ;定义数据
     COUNT EQU $-BUFFER
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA

MAXANDMIN PROC                           ;定义子程序
X1:INC SI                              
   MOV AL,[SI]
   CMP AL,BL                          ;和当前最小值进行比较
   JGE X2
   MOV BL,AL                          ;小于当前最小值则赋值
   JMP X3
X2:CMP AL,BH                          ;和当前最大值进行比较
   JLE X3
   MOV BH,AL
 
X3:DEC CX                             
   JNE X1
   RET
MAXANDMIN ENDP

START:MOV AX,DATA
      MOV DS,AX
      LEA SI,BUFFER                  
      MOV CX,COUNT-1 
      MOV BH,[SI]
      MOV BL,BH    
      CALL MAXANDMIN ;调用MAXANDMIN 子程序

PRINT:
LEA	DX,STRING1     
MOV AH,09H
INT 21H
ADD BH,30H                            ;输出MAX
MOV DL,BH
MOV AH,02H
INT 21H
 
LEA DX,HUANHANG      ;换行
MOV AH,09H
INT 21H
LEA	DX,STRING2     
MOV AH,09H
INT 21H
ADD BL,30H                          ;输出MIN
MOV DL,BL
MOV AH,02H
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值