Консультация № 108672
09.11.2007, 11:21
0.00 руб.
0 1 1
Здравствуйте. У меня такой вопрос (может быть немножко глупый). Вывод сообщения осуществляется так:

.386
.model flat


extrn ExitProcess:proc
extrn MessageBoxA:proc

.data
szMessage db "Hello World!",0
szTitle db "Win32 app!",0
.code

HelloWorld:
push 00000000h
push offset szTitle
push offset szMessage
push 00000000h

call MessageBoxA

push 00000000h
call ExitProcess

end HelloWorld

А как вывести сообщение в котором будет показано численное значение какой-либо переменной? Например

var db 0h
..........................
..........................
mov var, eax
нужно вывести значение var.

Обсуждение

давно
Старший Модератор
31795
6196
09.11.2007, 11:47
общий
это ответ
Здравствуйте, Anatoly_!

Смотрите приложение.
Описание функции:
<font color=blue>int wvsprintf(
LPTSTR lpOutput,//указатель на строку результата
LPCTSTR lpFormat,//указатель на строку задающую формат вывода
va_list arglist// указатель на переменную
);</font>
Удачи!

Приложение:
.386.model flatincludelib ..\Tasm\TASM5\LIB\imp32i.libextrn ExitProcess:nearextrn wvsprintfA:nearextrn MessageBoxA:near.datadbTitle db ‘xp‘,0ddParam dd 2bd03b8h,0dbVar db "0x%x",0dbOut db 256 dup(?).codestart: push offset ddParam;парметр push offset dbVar;формат push offset dbOut;строка call wvsprintfA push 0 push offset dbTitle push offset dbOut push 0 call MessageBoxA push 0 call ExitProcessend start
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа