Дано 16-и битное слово, нужно записать старшие 3 бита в обратном порядке - Assembler

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

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

Мальчики, всем привет! На этой неделе нужно сдавать лабораторную, преподаватель назвал эту программку простецкой, но я ни капельки не знаю, как это сделать. С прошлой справилась при помощи одногруппника, но как делать эту ни он ни я не знаем, подскажете? Задачка следующая: Дано 16-и битное слово, нужно записать старшие 3 бита в обратном порядке. Даже с чего начать ума не приложу ((

Решение задачи: «Дано 16-и битное слово, нужно записать старшие 3 бита в обратном порядке»

textual
Листинг программы
; masm dos exe #
.286
.model small
.stack 100h
.data 
x dw 0BAD0h
.code
start:  mov ax,@data
    mov ds,ax
    mov ax,x
;------------------------
;  c15| c13
;  ---+---
;   0 | 0  ничего не меняем
;   0 | 1  меняем местами
;   1 | 0  меняем местами
;   1 | 1  ничего не меняем
;-------------------------
    test ah,10100000b
    jz equal; оба нули
    test ah,10000000b; проверяем на равенство нулю 15-ый
    jz a
    test ah,00100000b; проверяем на равенство нулю 13-ый
    jnz eqaul; оба единицы
a:  xor  ah,10100000b
equal:
...;тут какие-то действия типа вывода сообщения на экран
exit:   mov ah,4Ch; завершаем программу
    int 21h
end start

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


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

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

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