Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main() {
- volatile uint32_t A = 0x11223344; // начальная инициализация
- volatile uint16_t B = 0x5566;
- // ассемблерная вставка
- asm volatile (
- "mov al, byte ptr[rbp-0x5];" // копируем в al 0x55
- "xchg al, byte ptr[rbp-0x3];" // меняем местами 0x33 и 0x55
- "xchg al, byte ptr[rbp-0x4];" // меняем местами 0x44 и 0x33
- "xchg al, byte ptr[rbp-0x1];" // меняем местами 0x44 и 0x11
- "xchg al, byte ptr[rbp-0x6];" // меняем местами 0x11 и 0x66
- "mov byte ptr[rbp-0x5], al;" // записываем в начало B значение 0x66
- );
- // вывод
- std::cout << std::hex << std::showbase;
- std::cout << "A = " << A << "\nB = " << B << std::endl;
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement