3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
1

Название и содержимое регистров

18.12.2013, 13:04. Показов 1439. Ответов 1
Метки нет (Все метки)

помогите пожалуйста Написать программу, выводящую на экран названия и содержимое регистров процессора 80386: EAX..EDI, CS..GS, CR0, CR2, CR3, EFLAGS, DR0..DR3, DR6, DR7.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2013, 13:04
Ответы с готовыми решениями:

Содержимое регистров
Здравствуйте Знатоки и Программисты! Очень нужна Ваша помощь! Я начинающий программист, и мне...

Обменять содержимое сегментных регистров DS и ES
Вот задачка: Обменять содержимое сегментных регистров DS и ES. У меня получилось вот так: MOV...

Какое будет содержимое регистров после выполнения данного фрагмента программы
Уважаемые форумчане! Подскажите пожалуйста каково буде содержание регистра ECX в десятичном...

Как и почему меняется содержимое регистров после выполнения очередной команды
Как и почему меняется содержимое регистров после выполнения очередной команды?

1
Ушел с форума
Автор FAQ
15832 / 7415 / 993
Регистрация: 11.11.2010
Сообщений: 13,378
19.12.2013, 11:48 2
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
.686P
.model flat,stdcall
include \masm32\include\windows.inc
includelib \masm32\lib\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
format db 'содержание регистров',0Ah
db 'при старте программы',0Ah
113
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
Добавлено через 22 часа 9 минут
osipov93,
ты 16-разрядным tasm компилируешь, а тебе нужен пакет masm32 или tasm32.ехе и ilink32.ехе из Delphi
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2013, 11:48
Помогаю со студенческими работами здесь

Определить содержимое регистров по уравнению
Всем привет! Ребята, помогите пожалуйста решить такое вот уравненице.. (AX+BX)/3 - (DX+CX)*2 =...

Вывести содержимое регистров в двоичном виде
Подскажите как в debug вывести на экран содержимое регистров BX и DI в двоичном виде

Codewars nasm, отобразить содержимое регистров
Эмулятор ассемблера через сайт, см скриншот Возможно ли как-то смотреть содержимое регистров...

Содержимое регистров при переходе от Delphi к Assembler
Здравствуйте. Скажите пожалуйста, при систематическом входе и выходе из Assembler, содержание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru