汇编问题,高手帮忙。

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:24:33
设BUF中存放有N个无符号数(或有符号数),编程实现求它们的最小值(存入AX)和最大值(存入DX).
题目是这样的,但是问题是到底是写有符号数的还是无符号数的我不明白。希望各位大大帮下忙都写一下~~

任意写即可!存放N个有符号或无符号,或只是其中一种情况!
N个无符号的相应程序:
ORG 0300H
AX DATA 20H
DX DATA 21H
BUF DATA 22H
MOV R2,#N
MOV R0,#BUF
MOV AX,#FFH
LOOP1:MOV A,@R0
CJNE A,AX,NEXT1 比较最小部分;
NEXT1:JNC NEXT2
MOV AX,A
NEXT2:INC R0
DJNZ R2,LOOP1
NOP
NOP
MOV R3,#N
MOV R0,#BUF
MOV DX,#00H
LOOP2:MOV A,@R0
CJNE A,DX,ZUIDA 取最大部分;
ZUIDA:JC OUT
MOV DX,A
OUT:INC R0
DJNZ R3,LOOP2
NOP
NOP
SJMP $
END
N个有符号数程序:
根据OV状态来判断带符号数的大小:
若x-y为正数,则:在OV=0时X>Y
在OV=1时X<Y
若x-y为负数,则:在OV=0时X<Y
在OV=1时X>Y
相应程序:

ORG 0400H
AX DATA 30H
DX DATA 31H
BUF DATA 32H
MOV R2,#N-1
MOV R0,#BUF 此部分为取最小值;