Назначение нового основания стека в текущем сегменте стековой памяти - Assembler

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

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

Нужна помощь в написании программы: Составить программу на ассемблере, которая содержит следующую последовательность действий: — назначает новое основание стека Ао=C700 в текущем сегменте стековой памяти, сохранив при этом адрес текущей вершины в незадействованном регистре; — загружает в стек содержимое регистров микропроцессора в последова-тельности: di,bx,cx,si с использованием команды "mov"; — возвращает из стека с использованием команды "pop" данные в регистры в соответствии с заданным порядком перестановки: <di>-bx, <bx>-cx, <cx>-si, <si>-di; —восстанавливает старую вершину стека.

Решение задачи: «Назначение нового основания стека в текущем сегменте стековой памяти»

textual
Листинг программы
    mov ax,sp
    mov sp,0C700h
    mov bp,sp
    mov [bp],di
    sub sp,2
    mov [bp-2],bx
    sub sp,2
    mov [bp-4],cx
    sub sp,2
    mov [bp-6],si
    pop di
    pop si
    pop cx
    pop bx
    mov sp,ax

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

  1. mov ax,sp — Перемещение содержимого регистра AX в регистр SP
  2. mov sp,0C700h — Задание нового основания стека в сегменте стековой памяти
  3. mov bp,sp — Перемещение содержимого регистра SP в регистр BP
  4. mov [bp],di — Запись значения регистра DI в память по адресу BP
  5. sub sp,2 — Уменьшение значения регистра SP на 2
  6. mov [bp-2],bx — Запись значения регистра BX в память по адресу BP-2
  7. sub sp,2 — Уменьшение значения регистра SP на 2
  8. mov [bp-4],cx — Запись значения регистра CX в память по адресу BP-4
  9. sub sp,2 — Уменьшение значения регистра SP на 2
  10. mov [bp-6],si — Запись значения регистра SI в память по адресу BP-6
  11. pop di — Восстановление значения регистра DI из стека
  12. pop si — Восстановление значения регистра SI из стека
  13. pop cx — Восстановление значения регистра CX из стека
  14. pop bx — Восстановление значения регистра BX из стека
  15. mov sp,ax — Перемещение содержимого регистра AX в регистр SP   Обратите внимание, что данный код является лишь фрагментом и не содержит в себе полноценной программы.

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


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

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

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