Specifications

MICROPROCESSADORES
O DEBUG, TASM E TLINK
3
Luís Miguel Charrua Figueiredo 3 - 6 E.N.I.D.H.
0CB2:0200 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0CB2:0210 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 69 ...............i
0CB2:0220 61 6C 20 4E 75 6D 62 65-72 20 69 73 20 25 31 al Number is %1
-f 021f l 10 'abcd' ; preenche um bloco de 10h bytes com a string ‘abcd’
-d 0200 l 2f
0CB2:0200 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0CB2:0210 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 61 ...............a
0CB2:0220 62 63 64 61 62 63 64 61-62 63 64 61 62 63 64 bcdabcdabcdabcd
-
Podemos ver que inicialmente a memória estava com dados, e após o primeiro comando de
fill,
parte ficou com o valor 00h, tal como pretendido, da segunda vez, fomos preencher com a
string
abcd o restante bloco de memória.
O comando Assemble
O comando
assemble (A) é o mais complexo destes comandos de edição. Ele aceita instruções em
assembly e converte-as em código de máquina. No entanto não aceita labels, set equates, use
macros
, nem outros tipos de directivas a que estamos normalmente habituados. Qualquer tipo de
instrução de salto deverá ser feita com o endereço absoluto.
TASM DEBUG Comments
Mov AX,1234 Mov AX,1234 Place 1234 into AX
Mov AX,L1234 Mov AX,[1234] Contents of add. 1234 to AX
Mov AX,CS:1234 CS:Mov AX,[1234] Move from offset of CS.
Movs Byte ptr ... Movesb Move byte string
Movs Word ptr ... Movsw Move word string
Ret Ret Near return
Ret Retf Far return
Tabela 10 - Comparação entre modos de introdução do Debug e Tasm.
Na tabela 10, podemos verificar algumas das específicidades e diferênças entre o
Tasm e o
Debug.
Exemplo de um pequeno programa
-A 100
6897:0100 mov ax,600
6897:0103 mov cx,0
6897:0106 mov dx,184f
6897:0109 mov bh,07
6897:010B int 10
6897:010D int 20
6897:010F
-