Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2008, 00:16   #1
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию Перевести Int в String

Как перевеси тип integer в string?

Допустим получили handle через GetModuleHandle, как его вывести в МесагеБокс в виде string?
Д'якон вне форума Ответить с цитированием
Старый 26.11.2008, 02:27   #2
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

+30h к каждому символу если не ошибаюсь...ну а потом загнать в заранее заготовленный буффер(buff db 4 dup(?) в data?)
Допустим если он в eax то делаем так.
Код:
add AL,30h
mov [buff],AL
shl eax,8
add AL,30h
mov [buff+1],AL
shl eax,8
add AL,30h
mov [buff+2],AL
shl eax,8
add AL,30h
mov [buff+3],AL
shl eax,8
invoke MessageBox,0,addr buff,0,0
Я правда не помню в каком виде оно будет вытаскивать его из eax, Hex или Dec но это в принципе не страшно, если в Dec то по буфферу придется двигатся по 2 байта.
PS: И таблицу ASCII я тоже не помню, так что не припоминаю что идет после цифер...
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 26.11.2008 в 02:34.
Ivan_32 вне форума Ответить с цитированием
Старый 26.11.2008, 08:24   #3
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

при написании под винды
user32!wsprintfA
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 26.11.2008, 17:39   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию Преобразование числа в строку

Преобразование числа в строку FASM
Код:
dword_to_STR:
;на входе EAX число 32 бит
;         ESI указатель на строку
;         EBX разрядность результата
      pushad
      cmp ebx, 16
      ja  .end
      cmp eax, 7FFFFFFFh
      jna .sign_plus
      mov byte [esi], '-'
      inc esi
      not eax
      inc eax
     .sign_plus:
      xor ecx, ecx
      jmp .repeat

.mesto db 32 dup (0)

    .repeat:
      xor edx, edx
      div ebx
      mov edi, eax
      mov al, dl
      cmp al, 10
      sbb al, 69h
      das
      mov byte [.mesto+ecx], al
      mov eax, edi

      inc ecx
      cmp eax, 0
      jz .endrep
      jmp .repeat
    .endrep:
      mov edi, .mesto
      add edi, ecx
    .copyrep:
      dec edi
      mov dl, byte [edi]
      mov byte [esi], dl
      inc esi

      loop .copyrep
    .end:
      popad
      ret
rpy3uH вне форума Ответить с цитированием
Старый 26.11.2008, 22:04   #5
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Совсем забыл, прощу прощения. Есть функции dwtoa value:DWORD,lpbuff:LPSTR и atodw,lpbuff:LPSTR - возвращает в eax.
Для использования нужно include masm32.inc includelib masm32.lib прописать ну и задекларировать перед использованием.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13
преобразовань int B string Termo Общие вопросы C/C++ 2 05.05.2008 21:34
Как перевести int в char в C? Dantes_1986 Общие вопросы C/C++ 4 25.12.2007 11:31
перевести число, находящееся в string, в integer? andrey4623 Паскаль, Turbo Pascal, PascalABC.NET 4 23.06.2007 00:32
Как перевести Point в String??? Chepa Общие вопросы Delphi 2 09.01.2007 09:26