Перемещение битов, не происходит компиляция - Assembler
Формулировка задачи:
Нужно превратить однобайтовое число перемещая биты в таком порядке:
a1 7 6 5 4 3 2 1 0
a2 5 7 0 1 4 2 6 3
Постановка вопроса: как исправить ошибку при компиляции через masm? Пикча прикреплена.
.model small swapbit macro a,b,c,d mov al,a mov cl,c shr al,cl shl al,7 mov cl,07h sub cl,d shr al,cl mov bl,b add bl,al mov b,bl endm printet macro data mov dl,data and dl,0Fh add dl,30h mov ah,02h int 21h endm printw macro data mov dx,data mov dl,dh mov ah,02h int 21h mov dx,data mov ah,02h int 21h mov dl,space mov ah,02h int 21h endm crlf macro lea dx,CR mov ah,09h int 21h endm org 100h .data a1 db 10111101b a2 db 00h CR db 13,10,'$' .code mov ax,@data mov ds,ax mov al,a1 shr al,4 printet al mov al,a1 printet al swapbit a1,a2,7,5;0000 0100 swapbit a1,a2,6,7;0000 0100 swapbit a1,a2,5,0;0000 0110 swapbit a1,a2,4,1;0010 0110 swapbit a1,a2,3,4;1010 0110 swapbit a1,a2,2,2;1110 0110 swapbit a1,a2,1,6;1110 0110 swapbit a1,a2,0,3;1111 0110 crlf mov al,a2 shr al,4 printet al mov al,a2 printet al mov ah,01h int 21H mov ah,4ch int 21H end
Решение задачи: «Перемещение битов, не происходит компиляция»
textual
Листинг программы
.model small .i386