Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Assembler] Извлечь 5 битов


Автор: alexmikt 5.10.2009, 13:49
помогите пожалуйста решить задачку на языке Assembler

извлечь 5 битов числа A, начиная со второго и вставить их в число B, начиная с третьего бита. A-номер студента по списку. B=1A74h.

***номер по списку 27

Заранее оч благодарен!

Автор: piritus 5.10.2009, 14:10
Уже второй раз эту же тему создаёте.

Код

.586
.model FLAT,STDCALL
option casemap:none

include windows.inc
include kernel32.inc
include user32.inc

includelib kernel32.lib
includelib user32.lib

.data
    A dw 27d   ; 0000 0000 0001 1011
    B dw 1A74h ; 0001 1010 0111 0100
               ; 0001 1010 0011 0100 == 1a34h
    
.code
Start:
    xor eax,eax
    xor ebx,ebx
    
    mov ax,A
    shr ax,2
    and ax,0000000000011111b
    mov bx,B
    ror bx,3
    and bx,1111111111100000b
    or bx,ax
    rol bx,3
    ; в bx 1a34h
    
    invoke ExitProcess,0

end Start


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)