Перемещение битов, не происходит компиляция - Assembler

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

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

Нужно превратить однобайтовое число перемещая биты в таком порядке: a1 7 6 5 4 3 2 1 0 a2 5 7 0 1 4 2 6 3
.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
Постановка вопроса: как исправить ошибку при компиляции через masm? Пикча прикреплена.

Решение задачи: «Перемещение битов, не происходит компиляция»

textual
Листинг программы
.model small
.i386

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

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