回 帖 发 新 帖 刷新版面

主题:请问:若现在有3个无符号的数分别放在ax,bx,cx中,比较最大值放到ax中

谢谢[em18]

回复列表 (共6个回复)

沙发

cmp ax, bx
ja _1
cmp bx, cx
ja _2
mov ax, cx
_2:
mov ax, bx
_1:
cmp ax, cx
ja _3
mov ax, cx
_3:

板凳

cmp bx,ax
ja l1
cmp cx,ax
ja l2

l1:mov ax,bx
l2:mov ax,cx

3 楼

要给加分啊!!!!!!!
DATA SEGMENT
BUF  DW 22H,33H,44H
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
       MOV DS,AX
       MOV AX,BUF
       MOV BX,BUF+2
       MOV CX,BUF+4
       CMP AX,BX
       JB  L1
       CMP AX,CX
       JB  L2
L1:   MOV AX,BX
L2:   MOV AX,CX
       MOV AH,4CH
       INT 21H
CODE ENDS
     END START
在DEBUG环境下显示结果为:AX=4400 BX=3300 CX=4400

4 楼

上边两楼的好象不对,如果把L1和L2放一起的话,当运行到L1时就无法判断AX和CX的大小了。  
  CMP AX,BX
    JA  L1
    MOV AX,BX
L1: CMP AX,CX
    JA L2:
    MOV AX,CX
L2: ....

请多指教

5 楼

3楼的,我在debug下看到的却是ax=4c44  bx=0033  cx=0044   与你的有所不同

6 楼

而且,运行完毕后,应该看cx存入ax的地址,但是结果也不对

我来回复

您尚未登录,请登录后再回复。点此登录或注册