2016-07-31 1 views
0

Je lis le livre de programmation et de langage IBM PC Assembly et dans le troisième chapitre je pense, l'auteur a commencé à parler de l'outil de débogage fourni avec MS-DOS. Dans les exemples, il a utilisé la commande A pour assembler un code, puis a utilisé la commande U pour désassembler le même code.La sortie de commande U dans l'outil de débogage dans MS-DOS

laisse supposer que le code était comme ça:

Note: l'adresse de départ est fixée à 100 en démarrant l'assemblage commande comme:A 100

MOV ax, 20 
MOV dx, 10 
ADD ax, dx 
NOP 

La question est ici, quand il a utilisé la commande U pour désassembler le code de 100 où nous avons commencé à 106 où nous nous sommes arrêtés la sortie contient environ 5 colonnes.

je vais copier ici, et nous espérons que vous pouvez expliquer ce que sont ces nombres hexadécimaux:

`1` `2` `3`   `4` 

073F:0100 B81000  MOV AX, 20 
073F:0103 BB1000  MOV DX, 10 
073F:0106 01C6  ADD AX, DX 
073F:0108 90   NOP 

Colonne 2 et 4 sont claires et très simples, mais quels sont ces chiffres dans la colonne 1 et 3?

+1

1,2 est l'adresse de la mémoire, la figure 3 est un code d'octets, la figure 4 est un démontage de code octet? – YOU

+0

@YOU voulez-vous dire 1,2 sont juste 1 colonne? 073F: 0100 n'est pas deux choses? juste une chose, l'adresse de la mémoire? – Kordy

+0

0x073F0100 est une adresse réelle, ':' est juste pour les humains à comprendre clairement, imo. – YOU

Répondre

0

(colonne 1) * 16 + Colonne 2 = l'adresse réelle colonne 3 est le code machine La colonne 4 est évidemment le code assembleur

+1

Ce n'est pas "le résultat de la multiplication". C'est 'col1 * 16 + col2'. IDK si vous avez mal compris le commentaire de Weather Vane expliquant cela, ou si vous venez de choisir les mauvais mots pour le décrire. Aussi "code machine" serait une meilleure description pour col3. "code octet" a une signification technique spécifique autre que "octets de code machine". (Cela signifie une entrée non textuelle pour un interpréteur ou un compilateur JIT, mais pas pour le matériel, par exemple le bytecode Java.) –

+0

@PeterCordes merci pour l'illustration – Kordy