Ir ao conteúdo
  • Cadastre-se

Assembly Como posso converter uma string para inteiro em linguagem assembly?


Posts recomendados

Desenvolva um programa em assembly para converter uma string de terminação NULL para o inteiro correspondente, representado em palavras de 16 bits. Por exemplo, uma string “41275” (6 bytes) daria A13BH. Pode assumir a representação tanto da string como do inteiro sem sinal. A string inicial deve encontrar-se em memória, a partir do endereço 1000H. O programa deve ser simulado e testado no PEPE.

como posso resolver este problema ??

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

2 minutos atrás, Flávio Pedroza disse:

O código ASCII dos números vai de 30H até 39H. Então basta subtrair 30H de cada byte do string para converter em número.  Ex.:

"42" é armazenado na memória como 3432H. 34H-30H = 4, 32H-30H=2. O resultado, então, seria 4*10+2 = 42 em decimal.

Preciso de programar assembly no notpad++ dá para fazer por esse processo ??

Estou com bastantes dificuldade em fazer o código 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

32 minutos atrás, 881056 disse:

Preciso de programar assembly no notpad++ dá para fazer por esse processo ??

Estou com bastantes dificuldade em fazer o código 

Acredito que sim.

É para utilizar qual assembler, o da intel x86? Tente começar a escrever, pois não é permitido eu escrever o código por você, mas posso ajudá-lo a corrigir.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Flávio Pedroza disse:

Acredito que sim.

Tente começar a escrever, pois não posso dar a solução aqui. É para utilizar qual assembler, o da intel x86?

Estou mesmo desesperado e não consigo mesmo resolver nos escrevemos em notpad++ e testamos no no simulador (ficheiro.pepe).

precisava mesmo da solução 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

agora, KXSY disse:

@881056 Não sei se ajuda ou atrapalha, mas seria assim.Sem_Misterio.thumb.png.280d6322b654725783b6d66667b03f88.png

Está tudo em decimal.

eu percebi o problema só ão consigo escrever em linguagem assembly

 

 

adicionado 5 minutos depois
4 minutos atrás, 881056 disse:

eu percebi o problema só ão consigo escrever em linguagem assembly

 

 

tem de ficar algo deste genero, este e um problema diferenta 

 

Capturar.PNG

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 11/12/2019 às 17:46, Flávio Pedroza disse:

Poste aqui o que já fez.

Como posso fazer este codigo , mas de maneira diferente ? 

 

Consite em , escrever em memória, a partir do endereço 1000H, todos os pares de letras maiúscula/minúscula.

 

 

 

stop EQU 122

start:
        MOV R1,64; dar valor de A a R1
        MOV R2,96; dar o valor de A a R2
        MOV R3,1000H
        MOV R4, stop

adicionar:
        ADD R1, 1 ; adicionar 20 ao R1 para que a letra passe para minuscula
        ADD    R2, 1 
        MOV [R3], R1
        ADD R3, 2
        Mov [R3], R2
        ADD R3,2;
        CMP R2, R4; comparar o valor de R1 com o valor o STOP
        JGE    fim
        JMP    adicionar
fim: 
        JMP fim

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!