Определение суммы, произвести деление, найти частное и остаток - Assembler

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

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

Создать новый однобайтный код следующим образом: биты 7-6 взять из старших двух битов numb2, биты 5-3 взять из младших трех битов numb1, остальные биты нулевые. Затем определить суму нового кода, numb1 и numb2. Определить частное и остаток от деления полученной суммы на numb2.

Решение задачи: «Определение суммы, произвести деление, найти частное и остаток»

textual
Листинг программы
  1. .386
  2. seg1 segment use16
  3. numb1   db  1
  4. numb2   dw  3
  5. a dw ?
  6. b dw ?
  7. seg1 ends
  8. cseg  segment use16
  9. assume ds:seg1, cs:cseg,
  10. ; загрузка указателя сегмента ds
  11. m1:     mov cx, seg1
  12.     mov ds, cx
  13.     mov bx,numb2 ;пересылка numb2 в bx
  14.     and bx,1100000000000000b ;обнуляем все кроме старших 2 байт,результат в bh
  15.     mov al,numb1
  16.     and al,00000111b ;обнуляем все кроме 3 младших битов
  17.     shl al,3     ; смещение на 3 влево
  18.     or al,bh     ; логическое сложение
  19.     mov ah,numb1
  20.     mov bx,numb2
  21.     add al,numb1   ;сложение результат полученного байта с numb1
  22.     mov ah,0    ;
  23.     add ax,bx   ;сложение результат  с numb2
  24.     mov dx,0
  25.     div bx  ;деление полученной суммы на numb2
  26.     mov a,ax ;частное
  27.     mov b,dx ;остаток
  28. ; выгрузка из памяти
  29.     mov ah, 4ch
  30.     int 21h
  31. cseg ends
  32. end  m1

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

Список выполнения кода:

  1. Загрузка указателя сегмента ds
  2. Обнуление всех битов кроме старших двух байт в bx
  3. Обнуление всех битов кроме 3-х младших битов в al
  4. Смещение на 3 влево в al
  5. Логическое сложение al и bh
  6. Запись результата в ah
  7. Пересылка bx в ah
  8. Сложение ah и bx
  9. Запись результата в ax
  10. Передача результата в dx
  11. Деление ax на bx
  12. Запись частного в a
  13. Запись остатка в b
  14. Выгрузка из памяти
  15. Завершение работы программы

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


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

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

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы