Сравнить две половинки одного числа - Assembler

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

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

Помогите очень надо. Вобшем есть четьірьох значное число например 5438, надо сравнить две половини тоесть 54 и 38 и записать их в файл, зависимо от того что вийдит прьі сравнении Пробувал ссувами и добавлять к регистру 30h но нечего путнего не вьійшло. Вот пример моего кода
    mov ax, number
    mov f, ah
    mov s, al
    
    mov al, f
    shr al, 4
    add al, 30h
    mov temp, al
    
    mov al, f
    shl al, 4
    shr al, 4
    add al, 30h
    mov temp+1, al

Решение задачи: «Сравнить две половинки одного числа»

textual
Листинг программы
mov ax,5438 
mov dx,0
mov cx,100; 5438/100
div cx; dx=38 остаток от деления ax=54 частное от деления
cmp ax,dx; сравниваем половинки

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

  1. mov ax,5438 - переносим значение 5438 в регистр ax
  2. mov dx,0 - переносим значение 0 в регистр dx
  3. mov cx,100 - переносим значение 100 в регистр cx (для деления)
  4. div cx - делим значение в регистре ax на значение в регистре cx (5438/100)
  5. dx=38 остаток от деления - результат деления (54) сохраняется в регистре ax, а остаток от деления (38) сохраняется в регистре dx
  6. cmp ax,dx - сравниваем значения в регистрах ax и dx (то есть половинки числа 5438)

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


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

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

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