在字节型数据区BUF中存放若干个带符号数,编写一个程序找出最大值和最小值,分别存放在MAX和MIN字节单元

data segment
buf db 1,2,-5,3,16H
num equ $-buf
max db ?
min db ?
data ends

stack segment stack
sta db 80 dup(?)
stack ends

code segment
main proc far
assume cs:code,ds:data
mov ax,data
mov ds,ax
mov cx,num
lea si,buf
mov al,[si]
mov max,al
mov min,al

a3:inc si
mov al,[si]
cmp max,al
jge a1
mov max,al

a1:cmp min,al
jle a2
mov min,al

a2:inc si
loop a3

main endp
code ends
end main
求会的看一下呀 没法输出什么的 为什么呀 实在是不懂

没法输出什么的
----
题目,没有要求显示吧?

做了一些修改,如下:

DATA SEGMENT
BUF DB 1, 2, -5, 3, 16H
NUM EQU $ - BUF
MAX DB ?
MIN DB ?
DATA ENDS

STACK SEGMENT STACK
STA DB 80 DUP(?)
STACK ENDS

CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE, DS:DATA
MOV AX, DATA
MOV DS, AX

MOV CX, NUM
LEA SI, BUF
MOV AL, [SI]
MOV MAX, AL
MOV MIN, AL
DEC CX
A3:
INC SI
MOV AL, [SI]
CMP MAX, AL
JGE A1
MOV MAX, AL
JMP A2
A1:
CMP MIN, AL
JLE A2
MOV MIN, AL
A2:
LOOP A3

MOV AH, 4CH
INT 21H

MAIN ENDP
CODE ENDS
END MAIN

最大,最小值,需要使用 DEBUG 来观看结果。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答