8
votes

Prendre un cours d'assemblage, coincé dans Dos!

Je prends un cours sur la programmation des microprocesseurs dans le cadre de mon diplôme d'ingénieur électronique. Malheureusement, dans les laboratoires, nous devons travailler à DOS en utilisant MASM.

Maintenant, je ne trouve pas vraiment à DOS un obstacle, mais je ne l'ai tout simplement pas sur un ordinateur à la maison (et aucun des ordinateurs que j'ai contient des lecteurs de disquettes), donc je suis incapable de pratiquer des programmes d'écriture . J'ai essayé sous Windows, mais cela ne s'assemble tout simplement pas (je suppose que cela est à cause d'un mode protégé).

Des conseils sur ce que dois-je faire? Devrais-je simplement apprendre à programmer en mode protégé? Est-ce que cela m'aider avec le cours? Le cours est concentré sur le 8086.

Peut-être qu'une machine virtuelle pourrait aider? Si oui, où puis-je obtenir DOS et MASM pour cela?


2 commentaires

Pour obtenir un peu de sentiment pour le langage de montage, il est préférable de se concentrer sur 8086. 80386 et au-delà (Pentium, etc.) nécessite beaucoup plus de connaissances sur la gestion de la mémoire et utilisez principalement des registres de taille plus grande (32 ou 64 bits au lieu de 8 ou 16 bits au lieu de 8 ou 16 bits). . Il y a beaucoup d'émulateurs (voir réponses ci-dessous) disponibles.


@ROALT: Ce conseil est ridicule, la simplicité seule ne devrait pas dire jeter des connaissances pragmatiques. Le AX BX CX DX 16 Les registres bits sont tous inclus dans 386+, et personne n'est obligé d'être en mode protégé. Un processeur X86 moderne en 16 bits RealMode est assez simple. Vous commencez avec les bases et intégrez lentement dans les fonctionnalités supplémentaires.


8 Réponses :


3
votes

Je regarderais dans l'exécution de VirtualBox (gratuit) pour exécuter un DOS VM sur n'importe quelle plate-forme (Windows , Mac, Linux, ...)


0 commentaires

0
votes

Si vous tapez la commande au lieu de cmd dans le menu Démarrer et sélectionnez Exécuter Vous serez dans DOS.


7 commentaires

Utilisez ces liens et vous obtiendrez des conseils sur la façon de commencer. website.mmasm32.com et Microsoft.com/downloads/.../a>


Intéressant. Quelle est la compatible avec cela avec un ancien logiciel? Comme .. tetris par exemple?


Je recommande vivement de le faire dans le but d'apprendre. Il y a beaucoup de bizarreries dans la course en mode virtuel 8086 qui peut tromper un apprenant ESP. Au niveau de la langue de montage - et ce n'est pas disponible sur x64 de toute façon.


Je suis d'accord avec Mahrdad Afshari, cela ne fournit pas d'un environnement 16 bits et MASM32 est pour un environnement de 32 bits (mode protégé), qui est très différent de l'instruction de Saad à l'école.


Si vous utilisez 64 bits Windows 7, vous pouvez télécharger le mode Windows XP qui vous permettrait de le faire. Je ne suis pas contre une machine virtuelle, mais s'il doit alors que Sun Virtualbox avec Freedos serait mon choix. FreeDos.org


Je pensais que le commandement et la cmd étaient synonymes une fois que vous êtes arrivé à XP. Je ne sais pas non plus comment il va être capable de piquer à des registres réels faisant partie de la mémoire de mode protégée Windows ou des écrires de disque direct. Vous pouvez faire beaucoup plus dans les "DOS" réels que vous pouvez sous Windows elle-même. J'irais avec des Freedos dans une machine virtuelle pour moins de "problèmes". Je détesterais le voir déboguer d'un problème lié à Windows protégeant le système d'exploitation.


Ils ne sont pas. La commande est l'émulateur Windows 16 bits et CMD est la coque de la commande Windows XP. Peu importe que vous n'êtes pas si vous n'avez jamais accès au matériel direct (sauf dans certains cas rares avec des pilotes signés) dans toutes les fenêtres supérieures à Windows me comme le résumé du noyau.



1
votes

Une machine virtuelle ferait. Je suis à peu près sûr que DOS est librement disponible sur MSDNAA si votre établissement académique lui donne accès. Si vous utilisez Windows, je suggère d'utiliser le PC Microsoft Virtual pour DOS VMS. Bien que je préfère personnellement VMware comme hôte VM, pour DOS spécifiquement, le PC virtuel semble faire un meilleur travail à l'émulation.


4 commentaires

Je n'ai pas vraiment essayé Freedos et je ne peux rien dire de la compatibilité. Je doute fort que cela soit 100% compatible avec tous les bugs MS-DOS. 100% de compatibilité avec Tout logiciel est à côté de la non-accumulée.


FreeDos est exceptionnellement compatible. Je ne m'attendrais pas à ce que de très nombreuses personnes trouvent des différences qui ont causé des problèmes réels.


Si tel est le cas, cela devrait fonctionner aussi. Obtenir l'accès aux MSDO actuels ne devrait pas être très difficile non plus. Quoi qu'il en soit, VM est la voie à suivre. NTVDM n'est certainement pas.


Généralement, j'ai été capable de tout courir dans Freedos, sans beaucoup de problèmes. MSDOS contient des idiosyncrasies et pourrait être problématique si quelqu'un a codé pour eux spécifiquement. Donc, si vous suivez des pratiques de codage «Sane», ça devrait aller.



8
votes

FreeDos est une autre option et l'exécutant dans VirtualBox

http://www.freedos.org/

BTW, DOS gratuits peut également être démarré à partir d'un CD. Je pense que vous pouvez même l'installer sur une clé USB si tellement encline.


1 commentaires

Je me demande comment DosBox ferait des tarifs ... il est orienté vers l'exécution de vieux jeux de Dos, mais je sais que je l'ai eu pour diriger des programmes de base de GW vraiment anciens que j'ai écrits de retour à 193 et ​​à 194!



2
votes

J'ai utilisé cet émulateur Bochs tandis que de retour avec des dons gratuits est plutôt bon si vous avez juste besoin de bas de base.


1 commentaires

QEMU a généralement remplacé Bochs , il a également un support de virtualisation mature.



0
votes

Inline :: ASM - Écrivez les sous-programmes Perl dans assembleur.

Synopsis xxx


0 commentaires

5
votes

Je suggérerais d'utiliser une machine virtuelle telle que le free virtualbox ou QEMU , un émulateur X86 (+ autres). Je suggérerais d'utiliser MS-DOS comme le système d'exploitation invité, car mes tentatives précédentes d'essayer de l'assemblage de base sous Freedos dans VirtualBox n'étaient pas fiables.

MASM V8 est disponible au téléchargement de Microsoft - mais je ne me souviens pas si cela inclut un assembleur de 16 bits ou non. Lisez également Blurb sur MASM. Le Le site Web d'art du montage est un lieu de départ pour l'assemblage d'apprentissage. Bien sûr, Wikipedia a un Comparaison des assembleurs . Vous y voudrez un qui est compatible MASM et fonctionne sous DOS (c'est-à-dire 16 bits).

Ajout de la note: Les versions plus anciennes de MS-Windows avant Windows XP comprenaient MS-DOS, y compris Windows 95 et 98. Si vous avez ou pouvez trouver une ancienne copie sur CD, sinon sinon Les gens vont probablement donner le CD librement s'ils en ont une - demandez des amis, des magasins d'ordinateurs locaux, de la famille et vous devriez pouvoir les installer dans une machine virtuelle avec peu ou pas d'effort.


0 commentaires

0
votes

VMware ferait. Il suffit de trouver l'image DOS (.iso ou une disquette) et installez-la sur le VMware. Vous pouvez faire ce que vous voulez avec elle sans aucun préjudice à votre machine hôte. Vous pouvez même jouer avec INT13 Interruption si vous le souhaitez;). Oh, je manque le temps où j'ai fait les applications "Résidant" Accrochaing Interrupt Subroutines sous DOS sur mon I386 :)

bonne chance et amusez-vous avec ASM.


0 commentaires