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

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

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

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

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

textual
Листинг программы
.386
seg1 segment use16
numb1   db  1
numb2   dw  3
a dw ?
b dw ?
seg1 ends
cseg  segment use16
assume ds:seg1, cs:cseg,
; загрузка указателя сегмента ds
m1:     mov cx, seg1 
    mov ds, cx
    mov bx,numb2 ;пересылка numb2 в bx
    and bx,1100000000000000b ;обнуляем все кроме старших 2-х байт,результат в bh
    mov al,numb1 
    and al,00000111b ;обнуляем все кроме 3-х младших битов
    shl al,3     ; смещение на 3 влево
    or al,bh     ; логическое сложение 
    mov ah,numb1 
    mov bx,numb2
    add al,numb1   ;сложение результат полученного байта с numb1
    mov ah,0    ;
    add ax,bx   ;сложение результат  с numb2
    mov dx,0
    div bx  ;деление полученной суммы на numb2
    mov a,ax ;частное 
    mov b,dx ;остаток
; выгрузка из памяти
    mov ah, 4ch
    int 21h
cseg ends
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
Похожие ответы