Página 1 de 1

KEIL MDK-ARM 3.04: toupper()

MensagemEnviado: 08 Mar 2007 17:25
por Viktor
Compilando em modo Thumb2 a função toupper apresenta um funcionamento estranho. Fiz a minha e agora meu programa funciona corretamente. Para quem desejar :

toupper
cmp r0,#'a'
bxlo lr
cmp r0,#'z'
subls r0,#0x20
bx lr
[/b]

MensagemEnviado: 09 Mar 2007 13:02
por tcpipchip
Viktor,
Fale a turma qual o comportamento estranho é este, caso contrário...sua pode nao ter proveito.

MensagemEnviado: 09 Mar 2007 13:15
por Viktor
tcpipchip escreveu:Viktor,
Fale a turma qual o comportamento estranho é este, caso contrário...sua pode nao ter proveito.


Retorna o valor incorreto. Estou debugando com JTAG e percebi que quando a rotina era chamada em um determinado ponto com a letra 'h' a rotina não retornava 'H'. Em outro ponto do programa acontecia a mesma coisa com as letras minúsculas 's' e 'n'. Evidentemente não testei todas as possibilidades e fiz a mina própria rotina.

Saudações