Вопрос № 174308: (tasm x86 Windows) Здравствуйте, уважаемые программисты! Требуется помощь в решении лабораторной работы. И если можно написать подробные пояснения. Вот само задание. Осуществить вставку битовой строки А длиной 4 бита в строку памяти B длиной...
Вопрос № 174308:
(tasm x86 Windows) Здравствуйте, уважаемые программисты! Требуется помощь в решении лабораторной работы. И если можно написать подробные пояснения. Вот само задание. Осуществить вставку битовой строки А длиной 4 бита в строку памяти B длиной 16 бит, начиная со второго бита. А=0101 b; B-номер студента по списку. (я 18 номер)
Отвечает Airyashov, Студент :
Здравствуйте, Svistaplas90. во всех комментариях указаны только младшие быиты результатов без лидирующих нулей
Код:
.model small .286 .stack 200h .data b dw 18 a dw 0101b .code .startup mov ax, b ; ax=b это битовая строка (10010) shl ax,4 ; сдвинуть
на 4 бита (100100000) and ax,0FFC0h ; сбросить младшие 6 битов куда будет производится вставка (100000000) shl a,2 ; сдвиг на 2 бита, т.к. вставка со 2 (010100) or ax,a ; поместить 4 бита в строку (100010100) and b,11b ; выдолить биты 0,1 (10) or b,ax ; объеденить все в битовую строку в b (100010110)
mov ax,4c00h; завершить программу int 21h
end
Ответ отправил: Airyashov, Студент
Ответ отправлен: 17.11.2009, 08:46
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256613
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.