Ir ao conteúdo

Posts recomendados

Postado

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
Postado

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.

  • Curtir 1
Postado
  Em 11/12/2019 às 17:06, 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.

Expandir  

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

Estou com bastantes dificuldade em fazer o código 

  • Curtir 1
Postado
  Em 11/12/2019 às 17:09, 881056 disse:

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

Estou com bastantes dificuldade em fazer o código 

Expandir  

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
Postado
  Em 11/12/2019 às 17:41, 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?

Expandir  

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
Postado
  Em 11/12/2019 às 17:50, KXSY disse:

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

Está tudo em decimal.

Expandir  

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

 

 

adicionado 5 minutos depois
  Em 11/12/2019 às 17:51, 881056 disse:

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

 

 

Expandir  

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

 

Capturar.PNG

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

Poste aqui o que já fez.

Expandir  

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

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!