Вычислить логический и физический адрес символа в Дамп памяти - Assembler
Формулировка задачи:
Вычислить логический и физический адрес выделенного символа (смайла, во второй строке) в Дампе памяти.
Решение задачи: «Вычислить логический и физический адрес символа в Дамп памяти»
textual
Листинг программы
; DS = сегмент, SI = смещение ;------------------------------ xor eax,eax ; EAX = 00000000h mov ax,ds ; EAX = 00005328h shl eax,4 ; EAX = 00053280h add ax,si ; EAX = 0005328Bh = физический адрес смайлика в дампе
Объяснение кода листинга программы
- xor eax,eax — EAX = 00000000h (инициализация EAX нулём)
- mov ax,ds — EAX = 00005328h (DS содержит сегментный адрес области данных, из него берется значение для EAX)
- shl eax,4 — EAX = 00053280h (EAX умножается на 4, получая смещение в 4 байта от начала сегмента)
- add ax,si — EAX = 0005328Bh (SI содержит смещение в байтах от начала сегмента, к которому добавляется EAX, получая физический адрес)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д