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

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

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

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

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

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

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

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

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

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

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

Код:
.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___ вне форума Ответить с цитированием
Ответ


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

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

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


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