Sort three variables: Difference between revisions
→{{header|8086 Assembly}}
Not a robot (talk | contribs) (Add CLU) |
Puppydrum64 (talk | contribs) |
||
Line 85:
lions, tigers, and
</pre>
=={{header|8086 Assembly}}==
===Sorting Unsigned Integers===
<lang asm>mov ax,6FFFh
mov bx,3456h
mov cx,0
;We'll consider these sorted when ax <= bx <= cx.
SortRegisters proc
cmp ax,bx
jbe continue
;if we got here, ax > bx. We don't know the relationship between bx and cx at this time.
cmp ax,cx
jbe swap_ax_and_bx
;if we got here, ax > bx, and bx > cx. Therefore all we need to do is swap ax and cx, and we're done.
xchg ax,cx
jmp endOfProc
swap ax_and_bx:
;if we got here, ax > bx, and ax <= cx. So all we have to do is swap ax and bx, and we're done
xchg ax,bx
jmp end ;back to top
continue: ;if we got here, ax <= bx.
cmp bx,cx
jbe end
;if we got here, ax <= bx, and bx > cx. Therefore all we need to do is swap bx and cx, and we're done.
xchg bx,cx
endOfProc: ;if we got here, ax <= bx, and bx <= cx. Therefore, ax <= bx <=cx and we are done.
;
SortRegisters endp </lang>
=={{header|Ada}}==
|