Salve ho bisogno di alcune delucidazioni riguardo questo linguaggio di programmazione,non sto incontrando grandi difficoltà,però diciamo che sto dando troppe cose "per buone" ed ho bisogno di capire alcuni concetti.
Qual é l'architettura di un processore Intel 8086?Cosa sono precisamente i registri?A cosa servono?Quanti e quali registri ha un processore Intel 8086?Quando si usa l'intero registro piuttosto che la parte alta o la parte bassa?Cosa significa ".model small/tiny" messo all'inizio di ogni programma?Quando si usa small piuttosto che tiny piuttosto che altri tipi di "model"?Riguardo ".stack 100H"?Riguardo a ".data" invece?Perché non possiamo effettuare operazioni tra variabili presenti in ".data" e dobbiamo necessariamente copiare il valore della variabile in un un registro per poi poter effettuare le operazione tra un registo ed una variabile(o tra due registri?Che senso ha fare la seguente operazione MOV AX,@DATA/MOV DS,AX?Cosa rappresenta la '@'?Perché muovere tutto ciò che contiene .DATA in AX per poi muoverlo in DS?Qual é la differenza tra DS e gli altri registri?Perché non é possibile fare direttamente MOV DS,@DATA?Cosa sono di preciso le etichette,o per meglio dire,come riesce il processore a salatare da un'etichetta all'altra(so che si usa JMP oppure un CMP con JG,JL,JE ed etc,vorrei una spiegazione tecnica più che altro)?Cosa rappresenta INT 21H?Con questo codice si esegue una particolare operazione di input/output dipendente da un particolare valore del registro AH,giusto?Esite tipo una tabella che specifica ad ogni valore del registro AL qual é la corrispondente operazione che si esegue usando il comando INT 21H?
Per il momento queste sono le domande,so che sembrano domande da niubbio completo ed effettivamente non nego di esserlo,però se non ho tutto completamente chiaro non riesco a stare in pace con me stesso,anche perché finora ho fatto vari programmini in assembly senza sapere nello specifico cosa realmente andavo a fare,non so se mi spiego...Grazie in anticipo per il vostro aiuto