Ciao raga, mi sapreste correggere questa parte di codice in Assembly:
codice:
DSEG    SEGMENT 'DATA'
OP1    DB 110110b
OP2    DB 1110b
APP    DW ?
CONTA  DB 10000b
DSEG    ENDS

.
.

        MOV AH, 00000000b 		;DA NON TOCCARE
        MOV CH, 00000000b 		;DA NON TOCCARE
        MOV BX, 0000000000000010b       ;DA NON TOCCARE
        MOV AL, OP1
        MOV CL, OP2
INIZIO:
         TEST BX, CX
         JZ  LABEL1
         JNZ LABEL2 
LABEL1:  
         SUB CONTA, 1
         SHR BX, 1
         CMP CONTA, 10000b
         JL  INIZIO
         JMP FINE
         
LABEL2:  MOV APP, AX
         MOV DL, CONTA
         SHL APP, DL     ; mi da qui errore
l'errore e': parametri errati: SHL APP, DL. Solo un byte immediato o CL possono essere usati come secondo parametro