Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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

Ответ
 
Опции темы
Старый 06.01.2017, 17:17   #1
Conus
Новичок
 
Регистрация: 06.01.2017
Сообщений: 3
Репутация: 10
По умолчанию masm32 Получить содержимое регистров

Как получить содержимое регистров до изменения?
Conus вне форума   Ответить с цитированием
Старый 06.01.2017, 19:28   #2
Mikl___
Профессионал
 
Регистрация: 11.01.2010
Сообщений: 1,083
Репутация: 868
По умолчанию

сделать PUSHA
Mikl___ вне форума   Ответить с цитированием
Старый 06.01.2017, 22:00   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 884
Репутация: 657
По умолчанию

Mikl___ , когда-то я тоже задавал этот вопрос.
Ты мне вправил мозги. Помню Уважаемый....
__________________
Нашедшего выход - затаптывают первым..
R71MT вне форума   Ответить с цитированием
Старый 07.01.2017, 01:05   #4
Conus
Новичок
 
Регистрация: 06.01.2017
Сообщений: 3
Репутация: 10
По умолчанию

А как вывести из стёка в mesagebox
Conus вне форума   Ответить с цитированием
Старый 08.01.2017, 02:28   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 884
Репутация: 657
По умолчанию

Conus, забей в поиске PRINTF
__________________
Нашедшего выход - затаптывают первым..
R71MT вне форума   Ответить с цитированием
Старый 23.01.2017, 05:37   #6
Mikl___
Профессионал
 
Регистрация: 11.01.2010
Сообщений: 1,083
Репутация: 868
По умолчанию

Код:

.686P
.model flat
include windows.inc
includelib user32.lib
extern _imp__MessageBoxA@16:dword
extern _imp__wsprintfA:dword
.code
start: pushad;сохраняем в стеке содержимое всех регистров
     mov ebp,esp
     pushfd;сохраняем в стеке содержимое eflags
     call $+5;передаем в стек содержимое eip
     pop ebx;eip->ebx
     sub ebx,5+1+2+1;поправка на длины предыдущих команд
;"call $+5"=5 байт,"pushfd"=1 байт,
;"mov ebp,esp"=2 байта,"pushad"=1 байт
     push ebx;в стек скорректированное значение eip
     xor eax,eax
     mov ax,gs
     push eax
     mov ax,fs
     push eax
     mov ax,ss
     push eax
     mov ax,es
     push eax
     mov ax,ds
     push eax
     mov ax,cs
     push eax
     push dword ptr [ebp+0Ch];esp
     push dword ptr [ebp+8];ebp
     push dword ptr [ebp];edi
     push dword ptr [ebp+4];esi
     push dword ptr [ebp+14h];edx
     push dword ptr [ebp+18h];ecx
     push dword ptr [ebp+10h];ebx
     push dword ptr [ebp+1Ch];eax
     push offset format
     push offset buffer
     call _imp__wsprintfA
     add esp,26*4
     push 0
     push offset Caption
     push offset buffer
     push 0
     call _imp__MessageBoxA@16
     ret
.data
format db 'содержание регистров',0Ah
db 'при старте программы',0Ah
db 'eax=%08lXh',0Ah,'ebx=%08lXh',0Ah
db 'ecx=%08lXh',0Ah,'edx=%08lXh',0Ah
db 'esi=%08lXh',0Ah,'edi=%08lXh',0Ah
db 'ebp=%08lXh',0Ah,'esp=%08lXh',0Ah
db 'cs=%04lXh ds=%04lXh',0Ah,'es=%04lXh ss=%04lXh',0Ah
db 'fs=%04lXh gs=%04lXh',0Ah
db 'точка входа в программу',0Ah,'eip=%08lXh',0Ah
db 'eflags=%08lXh',0
buffer db 266 dup (0)
Caption db 'Mini-debugger',0
end start

Mikl___ вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получить содержимое сетевого ресурса NSvirus PHP 1 17.09.2015 12:37
получить содержимое URL Le0n4iko_o Общие вопросы Delphi 26 09.11.2013 08:20
Получить содержимое ячейки Listview Lleu C# (си шарп) 4 22.02.2011 01:12
Содержимое регистров maxwelldream Assembler 1 15.01.2011 10:28
Как получить содержимое папки ? - fenix - Помощь студентам 4 19.04.2008 06:25




00:51.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru