求汇编语言大神帮忙编一个程序,这题很难,我先悬赏20,怕没有人回答,如果能答出来,我再附加100的财富

变量BUF中有10个字节型数值数据,把能被3整除的数保存到BUF1中,其他的保存到BUF2中,然后找出BUF1和BUF2中的最小值,分别保存到MIN1和MIN2中。要求:... 变量BUF中有10个字节型数值数据,把能被3整除的数保存到BUF1中,其他的保存到BUF2中,然后找出BUF1和BUF2中的最小值,分别保存到MIN1 和MIN2中。要求:求一个数组中最小值用子程序实现,主程序和子程序间参数传递使用寄存器,输入参数用SI(数组首地址),输出参数用AL(最小值)。 展开
 我来答
做而论道
高能答主

2015-04-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
这么复杂!
输入什么、输出什么,楼主给一个样例吧。
追问
输入1,2,3,4,5,6,7,8,9,10,程序把3,6,9存到BUF1,把1,2,4,5,7,8,存到BUF2,把3存到MIN1,把1存到MIN2
追答
ASSUME CS:CC, DS:QW
;---------------------------
QW SEGMENT
BUF DB 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
BUF1 DB 10 DUP (0)
BUF2 DB 10 DUP (0)
MIN1 DB 0
MIN2 DB 0
MSG9 DB 13, 10, 'Press any key to continue ... $'
CR_LF DB 13, 10, 36
QW ENDS
;---------------------------
CC SEGMENT

START:
MOV AX, QW
MOV DS, AX

MOV BX, 0
MOV SI, 0
MOV DI, 0
MOV CX, 10
LOP:
MOV AL, BUF[BX]
MOV AH, 0
MOV DL, 3
DIV DL
CMP AH, 0
JNZ N_DIV3
MOV AL, BUF[BX]
MOV BUF1[SI], AL
INC SI
JMP NEXT
N_DIV3:
MOV AL, BUF[BX]
MOV BUF2[DI], AL
INC DI
NEXT:
INC BX
LOOP LOP
;---------------------分离完毕
MOV CX, SI
LEA SI, BUF1
CALL F_MIN
MOV MIN1, AL

MOV CX, DI
LEA SI, BUF2
CALL F_MIN
MOV MIN2, AL

EXIT:
LEA DX, MSG9
MOV AH, 9
INT 21H
MOV AH, 7
INT 21H
MOV AX, 4C00H
INT 21H ;返回DOS
;-----------------------------
F_MIN:
MOV AL, 255
F_LP:
CMP AL, [SI]
JBE F_NEXT
MOV AL, [SI]
F_NEXT:
INC SI
LOOP F_LP
RET
;-----------------------------
CC ENDS
END START
;-----------------------------
gnahziuggnip
2015-04-24 · TA获得超过507个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:270万
展开全部
我很容易做出此题。
我认为题目有些地方没有写清,比如,BUF中的数如果没有能被3整除的,那么BUF1中就没有数,
如果BUF中的数都能被3整除,那么BUF2中没有数。
遇上这两种特殊情况,最小值就不存在了。
你讲清这时的要求,我就可很快给你程序
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式