Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

linguagem de montagem exercicios, Exercícios de Microprocessador e Programação em Linguagem de Montagem

lista de programação, exercicios que ajudaram o aluno a compreender melhor a linguagem de programçao estruturada

Tipologia: Exercícios

2021

Compartilhado em 11/12/2021

rute-cristina-bach
rute-cristina-bach 🇧🇷

1 documento

Pré-visualização parcial do texto

Baixe linguagem de montagem exercicios e outras Exercícios em PDF para Microprocessador e Programação em Linguagem de Montagem, somente na Docsity! Academica: rute c bach Faça um programa que possibilite ao usuário realizar a conversão de unidade de temperatura. As opções possíveis são: Celsius para Fahrenheit; Celsius para Kelvin; Fahrenheit para Celsius; Fahrenheit para Kelvin; Kelvin para Celsius e Kelvin para Fahrenheit %include"asm io.inc” segment .data ;Aqui os dados inicializados são colocados, no segment .data entrada db "Entre com um numero para a conversão em Celsius: saida db "A conversão para célsius é: ",0 segment .bss ; Dados não inicializados, são colocados no segment .bss input resd 1 segment .text global asm main —asm main: enter 0,0 ;rotina de instação pusha ; O código é colocado no segmento do texto. mov eax, entrada ; mov dest, src call print string call read int mov [input], eax ; armazenar em input mov eax, [input] sub eax,32 mov ebx,5 imul ebx mov ebx, eax mov eax,9 idiv ebx mov ebx,eax mov eax,ebx mov [input],eax mov eax,saida call print nl call print string mov eax, [input] call print int call print nl popa ; mov eax, O : eave ; return; ret 3 %include "asm io.inc” segment .data ler db "Informe uma temperatura em graus Kelvin: ",0 ;char* ler = "Informe uma temperatura em graus Kelvin saida db "Temperatura em graus Celsiu: "Temperatura em graus Celsius: "; ;char* saida = ;Declaração de textos informativos ao usuário. segment .text global asm main ; segment .text global asm main —asm main: enter 0,0 ; rotina de instalação pusha ; Recebe o numero mov eax, entradai ; mov dest, src call print string ; imprimir a entrada call read int ; lê um inteiro mov [nota1], eax ;armazenar o que tem no registrador EAX para o Input1 mov | eax, entrada? ; mov dest, src call print string ; imprimir a entrada call read int ; lê um inteiro mov [nota2], eax mov | eax, entrada3 ; mov dest, src call print string ; imprimir a entrada call read int ; lê um inteiro mov [nota3], eax mov eax, [nota1] add eax, [nota2] add eax, [nota3] mov ebx, 3 idiv ebx mov [med], eax cmp eax, 6 js signon jo elseblock imp thenblock signon: jo thenblock elseblock: cmp eax, 4 js signonex jo elseblockex imp thenblockex thenblockex: mov eax, saida3 call print string call print nl jmp next signonex: jo thenblockex elseblockex: mov eax, saida? call print string call print nl jmp next thenblock: mov eax, saidal call print string call print nl imp next next: ; Não modificar o código antes ou após este comentário popa mov eax, 0 ;Retorna para o C leave ret
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved