Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: конвертация типов  (Прочитано 373 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cupoma58
Новенький

ru
Offline Offline

« : 22-06-2018 08:27 » 

В панель редактора (hEdt), про помощи кнопок с символами (или - клавы) вводится строка. Добавляется строка (посимвольно) с помощью SetWindowText:
Код: (ASM)
 ...
 push   16
 push   offset buf
 push   [hEdt]
 call     GetWindowText
 add    eax,offset buf
 push  16
 push  eax      
 push  [EBP+14h]
 call    GetWindowText
 push  offset buf
 push  [hEdt]
 call    SetWindowText
 ...

Подскажите - что остаётся в ЕАХ после набора последнего символа ? С чем мне выходить в процедуру преобразования ?:
Код: (ASM)
 ...
 mov   stroka,EAX
 ...
Что попадёт в "stroka  dd  16 dup(?)" ?
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #1 : 22-06-2018 12:25 » 

Судя по MSDN - попадёт 0, если не получилось установить заголовок для окна, или не 0 - если получилось. Правда, имхо, к ассемблеру, как таковому, это имеет очень опосредованное отношение.
Записан
cupoma58
Новенький

ru
Offline Offline

« Ответ #2 : 26-06-2018 07:44 » 

Возможно - я некорректно сформулировал вопрос: в каком виде (str, hex, bin) будет хранится информация в ЕАХ ?
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #3 : 26-06-2018 09:36 » new

Возможно - я некорректно сформулировал вопрос: в каком виде (str, hex, bin) будет хранится информация в ЕАХ ?
В регистре хранится двоичное значение, в строку "stroka" попадёт каких-то 4 байта (т.е. на основании содержимого EAX будут сформированы байты stroka[0] - stroka[3]). Что Вы в данном контексте понимаете под str, hex, bin? В любом случае, если Вы хотите это значение вывести в человеко-читаемом виде - то Вам ещё необходимо выполнить преобразование из двоичного целочисленного 32-х разрядного значения в строку. Если Вы знаете C, то, считайте, Вам необходима функция, аналогичная itoa(), ну или sprintf().
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines