Сравнить две половинки одного числа - 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; сравниваем половинки
Объяснение кода листинга программы
- mov ax,5438 - переносим значение 5438 в регистр ax
- mov dx,0 - переносим значение 0 в регистр dx
- mov cx,100 - переносим значение 100 в регистр cx (для деления)
- div cx - делим значение в регистре ax на значение в регистре cx (5438/100)
- dx=38 остаток от деления - результат деления (54) сохраняется в регистре ax, а остаток от деления (38) сохраняется в регистре dx
- cmp ax,dx - сравниваем значения в регистрах ax и dx (то есть половинки числа 5438)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д