Как посмотреть число, находящееся в регистре? - Assembler
Формулировка задачи:
У меня тяга к хитрым фишкам. Создаю переменную в С++ в студии. Помещаю в нее число. Вижу его адрес.
Дальше в ассемблере в регистр помещаю это самое число с того адреса. Вот это будет прикол!
Как его посмотреть в ассемблере???
#include <iostream> using namespace std; #include <windows.h> int main(void) { int peremennaya=5461; // переменная int * Pperemennaya=&peremennaya; // указатель на неё int copy_peremennaya = *Pperemennaya; // разыменование указателя Sleep(10000); cout << Pperemennaya << '\n'; Sleep(10000); cout << copy_peremennaya << '\n'; Sleep(100000); copy_peremennaya = *Pperemennaya; cout << copy_peremennaya << '\n'; Sleep(100000); return 0; }
.386 .model tiny .code org 100h ;Программа начинается с адреса 100h start: mov eax, word ptr [0012FF60h] end start
Решение задачи: «Как посмотреть число, находящееся в регистре?»
textual
Листинг программы
mov eax, word ptr [0012FF60h]
Объяснение кода листинга программы
mov
- команда для перемещения данных из одного регистра в другой или в памятьeax
- регистр, в который будет перемещено значениеword ptr [0012FF60h]
- указатель на переменную типаword
(слово), содержащуюся в памяти по адресу 0012FF60h