; first.asm               Celio G. 15/08/01
; percorre uma cadeia de caracteres incrementando o valor de cada byte
; a cadeia resultante contera'  o caracter ascii seguinte em cada posicao
; a cadeia inicial dever  terminar com os caracteres 0d, 0a e $
[ORG 0x0100]		;Set code start address to 0100h


;[SEGMENT .text]		;Main code segment
mov dx, msg
mov ah, 9
int 21h                 ; mostra a cadeia original
mov bx, msg             ; bx contem o endereco do comeco da cadeia
myloop:
  cmp byte [bx], 0dh
  jz fim                ; sai do laco se chegamos ao final da cadeia
  inc byte [bx]         ; incrementa o caracter corrente
  inc bx                ; faz bx apontar para o proximo caracter
  jmp myloop

fim:
mov dx,msg
mov ah, 9
int 21h                 ; mostra o conteudo da cadeia modificada
mov ah, 4ch
int 21h                 ; volta ao prompt do DOS

;[SEGMENT .data]		;Initialised data segment
msg db 'ABCDEFGHIJKLMNOPQRSTUVXYZ',0dh,0ah, '$'



