汇编实现“比较三个数,取中间”

汇编实现“比较三个数,取中间”

实际上就是个排序题,汇编的分支程序,详见图片和代码。

汇编实现“比较三个数,取中间”_第1张图片

代码在32位win7 masm5下编译通过
data segment
        x db 4
        y db 3
        z db 6
data ends

code segment
    assume cs:code,ds:data
start:
        mov ax,data
        mov ds,ax

;比较xyz,取中间的数显示

        xor cx,cx;清零ch,cl,dh
        xor dh,dh

        mov cl,x;存放数据
        mov ch,y
        mov dh,z

        cmp cl,ch;比较x y
        jae  cmp1
        cmp ch,dh;比较y z
        jae cmp3
        jmp outy


    cmp1:
        cmp cl,dh;比较x z
        jae cmp2
        jmp outx

    outx:
        mov dl,'x';打印x
        mov ah,02h
        int 21h
        jmp done

    cmp2:
        cmp dh,ch;比较z y
        jae outz
        jmp outy

    cmp3:
        cmp cl,dh;比较x z
        jae outx
        jmp outz

    outz:
        mov ah,02h;打印z
        mov dl,'z'
        int 21h
        jmp done

    outy:
        mov dl,'y';打印y
        mov ah,02h
        int 21h

    done:
        mov ah,4ch;结束程序返回操作系统
        int 21h

code ends
end start

PS:第一次使用MarkDown编辑器,感觉挺棒!

你可能感兴趣的:(汇编)