当前位置: 代码迷 >> 汇编语言 >> 大家帮忙看一下这个代码的有关问题。多谢
  详细解决方案

大家帮忙看一下这个代码的有关问题。多谢

热度:1158   发布时间:2013-02-26 00:00:00.0
大家帮忙看一下这个代码的问题。谢谢
我想将内存中以二进制存储的数以十进制的形式输出到屏幕。在next3中做了一个判断,将开头的0省去,可是怎么就省不掉呢?谢谢
data   segment
  x   dw   05400
  table   dw   10000,1000,100,10,1
  result   db   5   dup(0), '$ '
data   ends
code   segment
assume   cs:code,ds:data
start:
mov   ax,data
mov   ds,ax
lea   si,result  
lea   di,table
mov   cx,5
mov   ax,x
xor     dx,dx
next:
mov   bx,[di]
add   di,2
div   bx
mov   [si],al
inc   si
mov   ax,dx
xor   dx,dx
loop   next
mov   cx,5
lea   si,result
next2:
add   byte   ptr   [si],30h
inc   si
loop   next2
lea   dx,result
mov   bx,dx
next3:
cmp   bx,30h
jne   done
inc   bx
jmp   next3
done:
mov   dx,bx
mov   ah,9
int   21h
mov   ax,4c00h
int   21h
code   ends
end   start

------解决方案--------------------------------------------------------
lea dx,result
mov bx,dx
这里应该是寻址呀,怎么成了寄存器赋值了,初学汇编,学术不高
------解决方案--------------------------------------------------------
容易除法溢出,呵呵
  相关解决方案