已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。

Posted 式微胡不归

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。相关的知识,希望对你有一定的参考价值。

data segment
        
    pmax db 0dh,0ah , MAX :   ,$
    pmin db 0dh,0ah , MIN :   ,$
    buf dw 48,-2 ,49,50,30,-78,-88,-60,-1,48
    max dw 99
    min dw 20
data ends

code segment
    assume cs:code , ds:data
    
main proc far
start:    
    mov ax,data
    mov ds,ax    
    
    call compare
    
    lea dx,pmax
    mov ah,09h
    int 21h    
    mov ax,max[0]
    call printit
    
    
    
    lea dx,pmin
    mov ah,09h
    int 21h
    mov ax,min[0]
    call printit

    
    
    ret
main endp
compare proc near
    mov si,0
    mov ax,buf[si]
    mov bx,ax
    mov dx,ax
    add si,2
    mov cl,9
comp:
    mov ax,buf[si]
    add si,2    
    cmp bx,ax
    jl movbx
    cmp ax,dx
    jl movdx    
    sub cl,1
    cmp cl,0
    jnz comp
    
    mov max[0],bx
    mov min[0],dx    
    ret
movbx:
    mov bx,ax
    sub cl,1
    jmp comp
movdx:
    mov dx,ax
    sub cl,1
    jmp comp
    
    

compare endp

printit proc near
    
    test ax,8000h
    jz p
    neg ax    
    mov cx,ax
    mov dx,2dh
    mov ah,2
    int 21h
    mov ax,cx
    mov dx,0
p:    mov bx ,10
    div bx
    mov bx,dx
    mov dx,ax
    add dx,30h
    mov ah,02h
    int 21h
    mov dx,bx
    add dx,30h
    mov ah,02h
    int 21h
    ret
printit endp

code ends
    end main
    
    

 

以上是关于已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。的主要内容,如果未能解决你的问题,请参考以下文章

buf.readInt8函数详解

数据库中存放特殊字符问题

如何以编程方式配置 WCF 已知类型?

buf.readInt32LE函数详解

已知一个int数组, 如何进行编程从数组中获取最大数?

已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。试设计一个算法,从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。