展开全部
; 这个代码就是了。。。。
DATA SEGMENT
BUF DB 87,234,123
;这里假设那三个单字节无符号数是87,234,123
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI]
MOV BL,[SI+1]
MOV CL,[BUF+2]
CMP AL,BL
JAE NEXT1
XCHG AL,BL
NEXT1:
CMP AL,CL
JAE NEXT2
XCHG AL,CL
NEXT2:
CMP BL,CL
JAE NEXT3
XCHG BL,CL
NEXT3:
MOV [SI],AL
MOV [SI+1],BL
MOV [SI+2],CL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
DATA SEGMENT
BUF DB 87,234,123
;这里假设那三个单字节无符号数是87,234,123
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI]
MOV BL,[SI+1]
MOV CL,[BUF+2]
CMP AL,BL
JAE NEXT1
XCHG AL,BL
NEXT1:
CMP AL,CL
JAE NEXT2
XCHG AL,CL
NEXT2:
CMP BL,CL
JAE NEXT3
XCHG BL,CL
NEXT3:
MOV [SI],AL
MOV [SI+1],BL
MOV [SI+2],CL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
展开全部
MOV CL,BUF
MOV AL,[BUF]
ADD CL,1
MOV AH,[CL]
ADD CL,1
MOV BL,[CL]
三个数分别放在AL AH BL中
然后排序,用CMP结合跳转指令。几年前学的不记得了
MOV AL,[BUF]
ADD CL,1
MOV AH,[CL]
ADD CL,1
MOV BL,[CL]
三个数分别放在AL AH BL中
然后排序,用CMP结合跳转指令。几年前学的不记得了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汇编是要指定CPU类型的,没有通用的。
我可以提供思路,汇编你自己写,这总会吧?
因为只有3个数,就没有必要用什么排序算法了,太浪费。下面做法实际上就是冒泡算法。
开始
如果 byte2 > byte1
则交换 byte2,byte1
如果 byte3 > byte2
则交换 byte3,byte2
如果 byte2 > byte1
则交换 byte2,byte1
结束
我可以提供思路,汇编你自己写,这总会吧?
因为只有3个数,就没有必要用什么排序算法了,太浪费。下面做法实际上就是冒泡算法。
开始
如果 byte2 > byte1
则交换 byte2,byte1
如果 byte3 > byte2
则交换 byte3,byte2
如果 byte2 > byte1
则交换 byte2,byte1
结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询