Portal do Governo Brasileiro
Ferramentas PessoaisInício
Docentes
Acessibilidade
- alto contraste
- aumentar fonte
- fonte normal
- diminuir fonte
Ir para o conteúdo. | Ir para a navegação
Busca
Busca Avançada…
Você está aqui: Página Inicial › Courses / Disciplinas › Organização e Arquitetura de Computadores (Licenciatura em Informática) › Linguagem de Montagem e Linguagem de Máquina
Linguagem de Montagem e Linguagem de Máquina
Navegação
- Início
- Courses / Disciplinas
- Organização e
Arquitetura de Computadores (Licenciatura em Informática)
- Plano de Aula
- Apresentação da disciplina
- Seminários - 1º Bimestre
- Introdução
- Interconexão do computador
- Conjunto de instruções
- Linguagem de Montagem e Linguagem de Máquina
- Praticando Assembly
- Palestra sobre a plataforma Arduino
- Unidade Central de Processamento
- Memórias do Computador
- Seminários - 2º Bimestre
- Entrada e Saída
- Organização e
Arquitetura de Computadores (Licenciatura em Informática)
« Novembro 2022 » Novembro
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte | Reitoria
- Rua Dr. Nilo Bezerra Ramalho, 1692, Tirol
- CEP: 59015-300
- Email:
- Telefone: 4005-0757
- Sítio: //portal.ifrn.edu.br
- Youtube
São coisas diferentes!
São três coisas diferentes mas relacionadas e as pessoas vivem confundindo, então vamos a explicação.
Assembly
É uma linguagem de programação composta por mnemônicos simples. Ela reflete um para um as instruções da plataforma que estiver sendo usada. Escrevendo código Assembly você sabe exatamente o que o processador esta fazendo e tem acesso a recursos que podem não estar disponíveis em linguagens de mais alto nível… falando nisso podemos chamar Assembly de uma linguagem de baixo nível, nesse caso não é ruim, quer dizer apenas mais perto do hardware.
Assembler
Assembler é o montador, um programa que lê o arquivo contendo os mnemônicos da linguagem Assembly e transforma em linguagem de maquina. É o compilador!
Linguagem de Maquina
É a única coisa que o processador consegue interpretar, e são apenas códigos, não da para ser lido por humanos… bom eu tenho uns dois amigos que conseguem mas não tenho certeza que eles são humanos.
Falando sério, com alguma pratica você começa a reconhecer alguns dos códigos da linguagem de maquina escritos em hexadecimal e relacionar eles com seu mnemônico em Assembly, por exemplo na plataforma 8086 a instrução NOP é 0x90 e 0xCD é o código para chamar uma interrupção. Já na plataforma Z80, NOP é 0x00.
Exemplos
Olá Mundo escrito para DOS x86 16 bits
ORG 100h section .text MOV AH, 40h MOV BX, 1 MOV CX, 11 MOV DX, msg INT 21h MOV AL, 1 MOV AH, 4Ch INT 21h section .data msg db "hello world"
O mesmo programa depois de compilado pelo Assembler
B4 40 BB 01 00 B9 0B 00 BA 14 01 CD 21 B0 01 B4 4C CD 21 00 68 65 6C 6C 6F 20 77 6F 72 6C 64Aplicação nos dias de hoje
Houve uma época que Assembly era a única escolha possível, era isso ou tentar digitar diretamente os códigos de maquina.
Hoje em dia não é mais assim mas Assembly ainda é uma linguagem importante e faz parte do código de muitas linguagens modernas.
É usado por exemplo para acessar instruções de criptografia por hardware ou para maxima velocidade em tarefas importantes como a troca de contexto em linguagens modernas como Go.
Aprender Assembly é aprender como os computadores funcionam debaixo do capo e todo programador profissional que leva seu trabalho a sério devia aprender.
O computador
Para aprender mais sobre como as partes de um computador funcionam eu sugiro escrever um emulador, não precisa ser um emulador completo, pode ser apenas um pequeno interpretador que lê e interpreta o binário simulando um interpretador e um pouco de RAM.
Eu criei um exemplo de emulador muito limitado com exatamente o objetivo de ser um exemplo didático. Se tiver duvidas quanto ao conceito e ao funcionamento é só me avisar.
Cesar Gimenes
#assembly | #desenvolvimento