ayuda

Alvin
27 de Julio del 2004
quisiera saber como pasar a cadena ascii y en decimal el valor de un determinado registro, por ejemplo s el registro EBX=ABCD quiero obtener "43981" para desplegarlo en una MessageBox
gracias

Mariano Ventaja
27 de Julio del 2004
Podes usar la función wsprintf de la API de Windows.

.586
.model flat,stdcall
option casemap:none

include windows.inc
include kernel32.inc
include user32.inc

includelib kernel32.lib
includelib user32.lib


CTEXT MACRO text:VARARG
LOCAL TxtName
.data
TxtName BYTE text,0
.code
EXITM <OFFSET TxtName>
ENDM

.data
str_ptr dd 0
local_heap dd 0

.Code
Main:
invoke GetProcessHeap
mov local_heap,eax
invoke HeapAlloc,local_heap,HEAP_ZERO_MEMORY,1024
mov str_ptr,eax
invoke wsprintf,str_ptr,CTEXT("%d"),eax
invoke MessageBox,0,str_ptr,str_ptr,0
invoke HeapFree,local_heap,0,str_ptr
invoke ExitProcess,0
ret
End Main

Saludos,
Mariano http://www.c0d3rz.com.ar