8086 - pourquoi ne peut-on pas déplacer une immédiate des données dans le registre de segment?

Dans 8086 assemblage de programmation, nous ne pouvons nous en charger des données dans un registre de segment par, d'abord la charger dans un registre et puis nous devons nous déplacer à partir de ce registre général pour le registre de segment.

Pourquoi ne pouvons-nous pas de le charger directement? Est-il une raison particulière pour ne pas être autorisé?

Quelle est la différence entre mov ax,5000H et mov ax,[5000H]? Ne [5000h] dire contenu dans l'emplacement de mémoire 5000h?

Cette question semble être hors-sujet, car il est à propos de la philosophie de conception de 30 ans en processeur.
Comment est-ce hors sujet? Si ce gars-là est la programmation d'un 8086 pourquoi ne pas aussi être un endroit pour obtenir de l'aide? Il demande une question d'ordre pratique. Si j'ai demandé "pourquoi ne puis-je pas écrire à l'arbitraire d'un emplacement de la mémoire en C?" voteriez-vous pour fermer que, pour la même raison? Assez beaucoup n'importe quelle question peut se résumer ainsi: "la conception de décision". Cela ne veut pas dire que c'est pas la peine de se demander et de savoir la réponse. Yeesh, les gens d'ici ont le devenir ridiculement main lourde avec leurs boutons de fermeture.
L'OP est de se demander pourquoi un certain opération n'est pas possible - parce que les ingénieurs ont conçu de cette façon. Le jeu d'instruction est ce que c'est. De se demander s'il devrait être quelque chose d'autre, de ne pas le modifier, ni l'aide de ce programme.
Droit, et vous pouvez probablement "réponse" environ 90% des questions posées ici avec la même réponse. Bien sûr, vous ne voudriez pas être aider n'importe qui, et vous n'auriez pas à faire le site mieux. Tous les choix de conception a une raison derrière tout ça (je l'espère!) et ces raisons sont la peine de savoir. Je préfère laisser un peu douteux questions glisser à travers (non pas que je pense que celui-ci s'inscrit dans cette catégorie) que nix questions utiles qui peuvent aider les autres en bas de la route.
Dans un pincement, si vous souhaitez charger un registre de segment, sans toucher à l'un des registres, vous pouvez toujours faire du "push immédiate / pop registre de segment' de la séquence.

OriginalL'auteur Rijo Joseph | 2013-09-29