回 帖 发 新 帖 刷新版面

主题:将二进制数转化为10进制没有结果

.386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
INCLUDE io.h           
cr      EQU     0dh    
Lf      EQU     0ah 
.STACK  4096 
.data  
value   dword  64h
chushu  word   10
string  byte 32 dup(?),0
.code
dispbx  proc    NEAR32
        lea     ebx,string+31
        mov     ecx,5
 again: xor     dx,dx
        div     chushu
        cmp     ax,0
        jz      nzero
        jz      next
 nzero: call    disp
  next: 
        mov     eax,edx
        loop    again
        ret
dispbx  endp
disp   proc  NEAR32
       push edx
       push eax
       mov  dx,ax
       add  dx,30h
       mov  [ebx],dx
       dec  ebx
       pop  eax
       pop  edx
       ret
disp   endp
_start:
       mov eax,value
       call dispbx
       output string
invoke exitprocess,0
public _start
end
请各位高手帮忙看一下程序错在哪,并修改正确。小弟很急。我用的是32位。编译器见
附件编译为ml /c /coff ***.asm
连接为link /subsystem:console /entry:start /out:***.exe ***.obj io.obj kernel32.lib

        

回复列表 (共13个回复)

11 楼

太感谢lz了,终于找到那本书的io.h了。

12 楼

cd发到你的邮箱了,在附件中。这本书书店有卖的,附带含有编译器的光盘cd.

13 楼

cd发到你的邮箱了,在附件中。这本书书店有卖的,附带含有编译器的光盘cd.

我来回复

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