Analisi di programmi con il debugger.

Somma di due numeri memorizzati in 5 byte

Versione TASM

.model small
.data 
    n1 DB 12, 34, 56, 78, 90
    n2 DB 09, 87, 65, 43, 21
    somma DB 5 dup(?)
.code
inizio:
  MOV AX, @data
  MOV DS, AX

  MOV SI, offset n1
  ADD SI,4
  MOV DI, offset n2
  ADD DI, 4
  MOV BX, offset somma
  ADD BX, 4
  MOV CX, 5
  CLC
ciclo:
  MOV AL, [SI]
  ADC AL, [DI]
  MOV [BX], AL
  DEC SI
  DEC DI
  DEC BX
  LOOP ciclo
END inizio  

Osservare il segmento dati per individuare gli offset in cui sono state memorizzate le variabili.

L'assemblatore interpreta i valori in decimale, non essendo seguiti dal suffisso h, ma li memorizza in esadecimale.

Eseguire il programma passo-passo ed osservare l'effetto di ciascuna istruzione eseguita.

Al termine del programma, il risultato si trova nelle locazioni riservate alla variabile somma. Con i valori usati, nessuna somma produce il riporto. Affinchè si abbia un riporto, le somme parziali dovrebbero produrre un risultato, in decimale, maggiore di 255.

Modificare i valori e ripetere il tracing del programma.