(跪求!!)汇编菜鸟求救

来源:百度知道 编辑:UC知道 时间:2024/06/16 01:55:35
大概就是创建一个数组,然后找出最大和最小的数存进max 和min。我编了一个,逻辑上没错,可是....
希望高人帮我改改吧!!
最好还能注释一下,谢谢!!

data segment
count dw 5
buf dw -1,0,2.5,4,5 dup(?)
max dw ?
min dw ?
data ends
stack segment
db 128 dup(?)
stack ends
code segement
assume cs:code,ds:data,ss:stack
start:mov ax,data
mov ds,ax
mov cx,count
push ds
mov ax,0
push ax
action2:mov SI,offset buf
mov ax,[SI]
cmp ax,[SI+2]
jl action1
mov max,[SI]
mov min,[SI+2]
mov SI,SI+2
loop action2
action1:mov max,[SI+2]
mov min,[SI]
mov SI,SI+2
dec cx
jmp action2
code ends
end start

加我的qq,我来告诉你.
9028826

你的代码过于混乱,没有格式,有许多错误, 而且思路
非常不清晰, 没有什么改的意义, 所以我写了一个跟你
的功能一样的程序,你按我的思路看看吧.

里面有些函数是我自己写的LIB, 你不必清楚他们的功能,只看两条--------------------------------------中的代码就可以了, 实现都在这里面了:

.MODEL SMALL
.386

;外部引用

INCLUDE SYSTEM.INC;
INCLUDE CONVER.INC;
INCLUDE PRINT.INC;

;************************************* 堆栈段 *****************************************

.STACK 256

;************************************* 数据段 *****************************************

.DATA

BUF DW -1, 0, 2 ,4 ,5, 9999, -9, 1, 8, 2, 888, 98, '$';
MAX DW ?; 保存BUF中最大值
MIN DW ?; 保存BUF中最小值

;************************************* 代码段 *****************************************

.CODE

START:

;程序初始化
MOV AX, @DATA;
MOV DS, AX;
MOV ES, AX;

CALL INIT;

;代码处: