Вычислить логический и физический адрес символа в Дамп памяти - Assembler

Узнай цену своей работы

Формулировка задачи:

Вычислить логический и физический адрес выделенного символа (смайла, во второй строке) в Дампе памяти.

Решение задачи: «Вычислить логический и физический адрес символа в Дамп памяти»

textual
Листинг программы
; DS = сегмент, SI = смещение
;------------------------------
xor  eax,eax   ; EAX = 00000000h
mov  ax,ds     ; EAX = 00005328h
shl  eax,4     ; EAX = 00053280h
add  ax,si     ; EAX = 0005328Bh = физический адрес смайлика в дампе

Объяснение кода листинга программы

  1. xor eax,eax — EAX = 00000000h (инициализация EAX нулём)
  2. mov ax,ds — EAX = 00005328h (DS содержит сегментный адрес области данных, из него берется значение для EAX)
  3. shl eax,4 — EAX = 00053280h (EAX умножается на 4, получая смещение в 4 байта от начала сегмента)
  4. add ax,si — EAX = 0005328Bh (SI содержит смещение в байтах от начала сегмента, к которому добавляется EAX, получая физический адрес)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы