ToUpperCase em Assembler 8086

Publicado por Perfil removido (última atualização em 31/03/2010)

[ Hits: 7.249 ]

Download toUpperCase.asm




Recebe uma string e devolve-a com todas as letras em maiúsculas.

  



Esconder código-fonte

.model small

.stack

.data

espaco db 15, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

.code  

main proc

mov ax, seg espaco

mov ds, ax

lea dx, espaco

mov ah, 0Ah

int 21h

mov bx, dx

inc bx

mov cl, [bx]

mov ch, 0

mov ah, 02h

mov dl, 10

int 21h   

mov dl, 13

int 21h

laco:

inc bx

mov dl, [bx]

cmp dl, 'a'

jl pular

sub dl, 32

pular:

int 21h

loop laco



mov ax, 4C00h

int 21h  



main endp

end main

Scripts recomendados

Escrita de número em decimal em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)

Escrita de um número em octal na tela em Assembly Puro para Linux x86 (GNU Assembly)

Inverter uma string, Assembly8086

FreeBSD Execve

Fatorial em assembly


  

Comentários
[1] Comentário enviado por murilonet em 22/04/2010 - 11:49h

;SIMPLIFIQUEI UM POUCO SEU ALGORITMO, E DEIXEI ELE LIBERADO PARA ESCREVER MAIS PALAVRAS E NÃO SE LIMITANDO APENAS EM 15 CARACTERES

.model small
.stack
.data
espaco db 0
.code
main proc
mov ah, 0Ah
int 21h
mov bx, dx ;um registrador BX para armazenar deslocamento de memoria
inc bx
mov cl, [bx]
mov ch, 0
mov ah, 02h ;Character Output
mov dl, 10 ;Pular linha
int 21h
mov dl, 13 ;e alinhar
int 21h
laco:
inc bx
mov dl, [bx]
cmp dl, 'a'
jl pular
sub dl, 32
pular:
int 21h
loop laco
mov ax, 4C00h
int 21h
main endp
end main

[2] Comentário enviado por removido em 04/05/2010 - 00:42h

Valeu Murilo :D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts