+ -
当前位置:首页 → 问答吧 → 高手进来看看错哪 40分奉上

高手进来看看错哪 40分奉上

时间:2011-10-22

来源:互联网

Assembly code
data segment
  data1 dw 1234h
  data2 dw 8678h
  array1 db 'data1>data2$'
  array2 db 'data1<data2$'
  array3 db 'data1=data2$'
data ends

code segment  
 assume cs:code,ds:data
start:
  mov ax,data
  mov ds,ax
  mov ax,1234h
  mov dx,8678h
  test dx,8000h                        
  jz jump1
jump1:
   lea  bx,array1
   mov dx,bx
   mov ah,09h
   int 21h
   jmp last

  cmp ax,dx
  jz jump2
  ja jump3
  jb jump4
jump2:
   lea bx,array3
   mov dx,bx
   mov ah,09h
   int 21h
   jmp last
jump3:
    lea bx,array1
   mov dx,bx
   mov ah,09h
   int 21h
   jmp last
jump4:
   lea bx,array2
   mov dx,bx
   mov ah,09h
   int 21h
   jmp last
last:
   mov ah,4ch
   int 21h
code ends
   end start


这里只是对第一个数为正,第二个数不限制进行验证 但是改了很久都有错 求指教 本人刚学 完全晕乎乎啊 谢谢了

作者: zp032420   发布时间: 2011-10-22

test dx,8000h  
  jz jump1
jump1:
  lea bx,array1
  mov dx,bx

这个 jz jump1 不对
你这个判断等于没有用,怎么都是顺序执行下来的。

作者: vcnewer   发布时间: 2011-10-22