Расширить два первых числа до формата слова и записать следом за исходными числами - Assembler

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

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

Помогите пожалуйста,только начинаю разбираться, был вроде как не правильный код, я исправил. И tlink начал выдавать ошибку. Вот само задание и код- В сегменте данных размещены последовательно числа:-1, 2,+128,129,+32769 в минимально необходимом для них формате. Расширить два первых числа до формата слова и записать следом за исходными числами. НА МЕСТО СТАРШЕГО БАЙТА ТРЕТЬЕГО ЧИСЛА ЗАПИСАТЬ СИМВОЛ '#',НА МЕСТО МЛАДШЕГО ЕГО БАЙТА - СИМВОЛ '1'.
.386
dseg segment use16
    a db -1
    b db 2
    с dw +128
    d dd +32769
dseg ends
;ЗАПИСАЛ
eseg segment use16
    ea dw ?
    eb dd ?
    ec dd ?
    ed dd ?
eseg ends 
 
cseg segment use16
    assume ds:dseg, cs:cseg
; загрузка регистров-указателй сегментов ds и es
m1:
    mov cx, dseg
    mov ds, cx
    mov cx, cseg
    mov es, cx
; расширим первые два числа до формата слова,   запишем в es:ea
    movzx ax, ds:a
    movzx bx, ds:b
    mov es:ea, ax
    mov es:eb, bx
; Заменим 3 число максимум на решетку, минимум на 1
    lea esi,d
    mov [esi], byte ptr '1'
    add esi,3
    mov [esi], byte ptr '#'
; Завершение исполнения
    mov ah, 4ch
    int 21h
cseg ends

Решение задачи: «Расширить два первых числа до формата слова и записать следом за исходными числами»

textual
Листинг программы
movzx ax, ds:[a]
movzx bx, ds:[b]
mov word ptr es:[ea], ax
mov word ptr es:[eb], bx

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

  1. ax - аккумулятор, используется для хранения данных и выполнения операций
  2. bx - регистр, используется для хранения данных и выполнения операций
  3. a - смещение в памяти, используется для доступа к данным
  4. b - смещение в памяти, используется для доступа к данным
  5. ea - эффективный адрес, используется для доступа к памяти
  6. eb - эффективный адрес, используется для доступа к памяти
  7. es - сегментный регистр, используется для доступа к памяти
  8. Результат выполнения кода будет записан в память по адресу ea и eb

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


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

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

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