Stavo ripassando le varie istruzione assembler, credo sia un errore causato dal tipo di variabili
Ma sono incappato in un errore
errore c2400 errore di sintassi dell'assembler inline in 'secondo operando'. trovato 'newline' riga 45
IMUL BX
B è inserto dall'utente tramite cin, é un signed short
Ecco il codice specifico
codice:
    signed short A, B;                           //Inizializzazione variabili            
    cin>>B;
    cin>>A;
codice:
//SEMPLICE IF
    // if (B < 0) {                                 //confronto salto
      //  B = B * -1;
    
 _asm
 {
  
  mov AX, B
  mov BX, 0
  cmp AX, BX
  jnl finese2   //se (AX<BX) esegui istruzione se no salta
  MOV AX, B
  MOV BX, -1             //MUL usa sempre il registro privilegiato AX
  IMUL BX,              //IMUL Moltiplicazione con segni  MUL sorgente: AX=AX*BX
  mov word ptr B, ax
  finese2:
 
 }

Ecco tutto il programma( non ha un senso visto che stavo solo testando le istruzioni)
codice:
#include<iostream>
using namespace std;
 
void IF()
{
    signed short A, B;                           //Inizializzazione variabili            
    cin>>B;
    cin>>A; 
    // IF AND
    //if ((A < 0) && (B < 0)) {                             //confronto-salto con AND      
    //    cout << "A e B sono entrambi negativi" << endl;
    //}
 _asm {
 mov AX, A
 mov bx, 0
 cmp ax, bx
 jnl finese       
 mov ax, bx
 mov bx, 0
 cmp ax, bx
 jnl finese
    }
       cout << "A e B sono entrambi negativi" << endl;
    _asm {
finese:
    }
 //SEMPLICE IF
    // if (B < 0) {                                 //confronto salto
      //  B = B * -1;
    
 _asm
 {
  
  mov AX, B
  mov BX, 0
  cmp AX, BX
  jnl finese2   //se (AX<BX) esegui istruzione se no salta
  MOV AX, B
  MOV BX, -1             //MUL usa sempre il registro privilegiato AX
  IMUL BX,              //IMUL Moltiplicazione con segni  MUL sorgente: AX=AX*BX
  mov word ptr B, ax
  finese2:
 
 }
 
 //IF CON XOR  if(B<10||B>30)
 //{
 // B++
 //}
 cin>>B;
 _asm
 {
  mov AX,B
  CMP AX,10
  JL istruzione
  mov AX,B
  CMP AX,30
  JG istruzione
  JMP saltaist
istruzione:
  INC B
        
saltaist:
 }
 system("pause");
}