80x86汇编语言编程:查找字符串中的最大、最小值

汇编语言求无符号字节序列中的最大值和最小值


题目要求:


设有10个无符号数的字节序列。


用汇编语言编写程序,找出其中的最大、最小值,并在屏幕上显示。


数据可在数据段内定义,也可从键盘接收任意字符。


;----------------------------------------------


;做而论道编写的程序如下:


;从键盘接收任意字符。


ASSUME CS:CODE, DS:DATA

DATA  SEGMENT

    MSG1 DB  'Please input some chars: $'

    MSG2 DB  13, 10, 'The biggest  char is: <'

    BIG  DB  ' ', '>'

         DB  13, 10, 'The smallest char is: <'

    MIN  DB  127, '>$'

    NNN  DB  0

DATA  ENDS

CODE  SEGMENT

START:

    MOV  AX, DATA

    MOV  DS, AX

;-------------------------

    MOV  DX, OFFSET MSG1

    MOV  AH, 9

    INT  21H

M_LOOP: 

    MOV  AH, 1

    INT  21H

    CMP  AL, 13

    JE   DISP

    INC  NNN

    CMP  AL, DS:[BIG]

    JB   NEXT

    MOV  DS:[BIG], AL

NEXT:

    CMP  AL, DS:[MIN]

    JNB  M_LOOP

    MOV  DS:[MIN], AL

    JMP  M_LOOP

DISP:

    CMP  NNN, 0     ;输入 0 个吗 ?

    JE   EXIT       ;是则退出,不予显示

    MOV  DX, OFFSET MSG2

    MOV  AH, 9

    INT  21H

;-------------------------

EXIT:

    MOV  AH, 4CH

    INT  21H

CODE  ENDS

    END  START


;----------------------------------------------


本程序执行后,显示如下:


Please input some chars: 1357924680

The biggest  char is: <9>

The smallest char is: <0>


本程序,没有使用寄存器来存放最大、最小值,而是使用了存储器变量 BIG、MIN。

效果是相同的。


因为,BH 等8位的寄存器,仅仅有八个,经常不够用。

存储器变量,则可以定义 65535 个。


这样,程序就更有通用性。


;----------------------------------------------


提问者写的评论:


jjk921121   2013-4-23 09:39

同样也谢谢你!你写的程序很好,但是书本要求用BH和BL暂存最大值和最小值,辛苦了。


jjk921121   2013-4-23 09:39

回答的好专业,厉害!


;----------------------------------------------


题目网址:http://zhidao.baidu.com/question/543653490



  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值