吖吖吖977@ 2022-12-17 17:36 采纳率: 100%
浏览 54
已结题

汇编语言 对两个数字排序

利用汇编语言,对130和160两个数由高到低进行排序,并输出到储存器中。尽量能够显示结果。(所附图片与题目无关)

  • 写回答

4条回答 默认 最新

  • ShowMeAI 2022-12-17 18:07
    关注

    详细代码和每行每段注释如下,望采纳

    mov ax, 130  ;将 130 加载到 ax 寄存器
    mov bx, 160  ;将 160 加载到 bx 寄存器
    
    cmp ax, bx   ;比较 ax 和 bx 的值
    jg swap      ;如果 ax > bx,跳转到 swap 标签
    
    ;下面是没有跳转的情况,也就是 ax <= bx
    ;此时,ax 和 bx 的值已经按照从低到高的顺序排好了
    ;可以直接输出它们的值
    
    ;输出 ax 的值
    mov ah, 02h ;设置 ah 寄存器的值,表示输出字符串
    mov dl, al   ;将 ax 的低字节复制到 dl 寄存器
    int 21h      ;调用 DOS 函数,输出 dl 寄存器的值
    
    ;输出 bx 的值
    mov dl, bl   ;将 bx 的低字节复制到 dl 寄存器
    int 21h      ;调用 DOS 函数,输出 dl 寄存器的值
    
    ;程序结束
    mov ah, 4ch  ;设置 ah 寄存器的值,表示结束程序
    int 21h      ;调用 DOS 函数,结束程序
    
    ;下面是跳转到的 swap 标签
    swap:
    ;交换 ax 和 bx 的值
    xchg ax, bx
    
    ;输出 ax 的值
    mov ah, 02h ;设置 ah 寄存器的值,表示输出字符串
    mov dl, al   ;将 ax 的低字节复制到 dl 寄存器
    int 21h      ;调用 DOS 函数,输出 dl
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 修改了问题 12月17日
  • 修改了问题 12月17日
  • 展开全部