汇编语言的分支程序设计实验:有3个字变量x、y和z,把最大数挑出放max字中

实验题目:
有3个字变量x、y和z,把最大数挑出放max字中。
程序代码如下:
Data  segment
      X  dw  1234h   ;2345H      2345H
      Y  dw  2345h   ;1234H      2345H
      Z  dw  3456h   ;3456H      2345H
      Max  dw  ?
Data  ends

Stack  segment  para  stack
      Dw  10  dup(?)
Stack  ends

Code  segment
      Assume  cs:code,ds:data,ss:stack
Start:  Mov ax,data
   Mov ds,ax
   Mov ax,x
   Sub ax,y    ;x-y
   Jge xGey    ;x>=y
   Mov bx,y
   Sub bx,z    ;y-z
   Jge ygez    ;y>=z
   Jmp maxz
Xgey:  Mov ax,x
      Sub ax,z    ;x-z
      Jge xgez    ;x>=z
  Jmp maxz
Xgez:  Mov ax,x
      Mov max,ax
      Jmp reint
Ygez:  mov bx,y
      Mov max,bx
      Jmp reint
Maxz: Mov cx,z
     Mov max,cx
Reint: Mov ah,4ch
     Int 21h 
Code ends
End start

附:
可以将SUB指令改为CMP指令,而且CMP指令较SUB指令更加的好,但是代码需要修改一小部分。

程序代码测试:

第一种情况(X<Y<Z)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
第二种情况(Y<X<Z)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
第三种情况(X=Y=Z)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
附:由于情况较多,仅验证这三种情况,其余验证过程略。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值