Buscar

Código de máquina

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

03/10/2016 Código de máquina – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/C%C3%B3digo_de_m%C3%A1quina 1/2
Código de máquina
Origem: Wikipédia, a enciclopédia livre.
Todo computador possui alguns conjuntos de instruções para seu processador que será capaz de executar. Estas
instruções, chamadas código de máquina, são representadas por muitas sequências de bits, normalmente
limitadas pelo número de bits do registrador principal da CPU. Esse código é chamado de código binário. São
formados por 0 e 1.[1]
As instruções correspondem a sequências muito simples de operações, como transferir um dado em memória
para a CPU ou somar dois valores e são normalmente interpretadas por microcódigo.
Um programa em código de máquina consiste de uma sequência de números que significam uma sequência de
instruções a serem executadas. É normal a representação da linguagem de máquina por meio de números
(opcodes) constantes e variáveis em sistema binário ou sistema hexadecimal. Alguns computadores também
têm seus opcodes representados no sistema octal.
Microprocessadores têm, normalmente, seus códigos de operação como múltiplos de 2, 8 e 16, pois usam
arquiteturas com registradores de 8, 16, 32, 64 ou 128 bits em 2006. Porém, existem máquinas com
registradores de tamanho diferente.
Os programas de computador raramente são criados em linguagem de máquina, mas devem ser traduzidos (por
compiladores) para serem executados diretamente pelo computador. Existe a opção, em voga atualmente, de
não executá­los diretamente, mas sim por meio de um interpretador, esse sim rodando diretamente em código
de máquina e previamente compilado.
Índice
1 Visualização de programas em linguagem de máquina
2 Programação em código de máquina
3 Referências
4 Ver também
Visualização de programas em linguagem de máquina
Estes números não podem ser vistos num editor de texto, ou, caso se tente ver parecem apenas um texto sem
significado devido à existência de caracteres de controle. Abaixo pode­se ver o que é mostrado ao se abrir um
código de máquina de um PC com um editor de texto:
MZÀ�$Pÿv�èŠÿ]Ë3ÀP¸�F�
ë�ƒF��¸�< uè2Àëä�Àt�Bª
Àu�C†à2Àùã�¬I,"t��"<\u�€<"u�¬I�öà é�îY�Ê.Ž�t�‰�”�C�Û�Û‹ô‹ì+ërâ‹å‰.–�Œ�˜�ã�‰v¸�vüÿv�
ÿv� �èÅ�ƒÄ�ÿvþÿvü �èüêYY‹V�‹F�ë�Rÿvþÿvü �èWíƒÄ�‹å]ËU‹ìƒìHVW‹~�‹F�‰Fþ�Àu
´�Í!´3Àé•Š�˜‹ØŠ‡Ïn
Pode­se editar o código de máquina usando editores hexadecimais, como por exemplo o "debug" que roda
sobre o DOS do Windows. Com estes programas pode­se ver o código não em binário, mas em hexadecimal,
como mostrado abaixo nesta captura da tela do DOS com o debug aberto editando o programa "v.exe": (tecla­
se ? para comandos e d para dump)
https://pt.wikipedia.org/wiki/Computador
https://pt.wikipedia.org/wiki/Bit
https://pt.wikipedia.org/wiki/CPU
https://pt.wikipedia.org/w/index.php?title=Microc%C3%B3digo&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Opcodes
https://pt.wikipedia.org/wiki/Sistema_bin%C3%A1rio_(matem%C3%A1tica)
https://pt.wikipedia.org/wiki/Sistema_hexadecimal
https://pt.wikipedia.org/wiki/Sistema_octal
https://pt.wikipedia.org/wiki/Registradores
https://pt.wikipedia.org/wiki/8_bit
https://pt.wikipedia.org/wiki/16_bit
https://pt.wikipedia.org/wiki/32_bit
https://pt.wikipedia.org/wiki/64_bit
https://pt.wikipedia.org/wiki/128_bit
https://pt.wikipedia.org/wiki/2006
https://pt.wikipedia.org/wiki/Programas_de_computador
https://pt.wikipedia.org/wiki/Compiladores
https://pt.wikipedia.org/wiki/Interpretador
https://pt.wikipedia.org/wiki/Car%C3%A1cter_de_controle
https://pt.wikipedia.org/wiki/Editor_hexadecimal
https://pt.wikipedia.org/wiki/MS-DOS
https://pt.wikipedia.org/wiki/Windows
03/10/2016 Código de máquina – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/C%C3%B3digo_de_m%C3%A1quina 2/2
C:\Utility>debug v.exe
‐d 0 100
0E3D:0000  CD 20 FF 9F 00 9A F0 FE‐1D F0 4F 03 F0 07 8A 03   . ........O.....
0E3D:0010  F0 07 17 03 F0 07 DF 07‐01 01 01 00 02 FF FF FF   ................
0E3D:0020  FF FF FF FF FF FF FF FF‐FF FF FF FF BD 0D 4C 01   ..............L.
0E3D:0030  D0 0C 14 00 18 00 3D 0E‐FF FF FF FF 00 00 00 00   ......=.........
0E3D:0040  05 00 00 00 00 00 00 00‐00 00 00 00 00 00 00 00   ................
0E3D:0050  CD 21 CB 00 00 00 00 00‐00 00 00 00 00 20 20 20   .!...........
0E3D:0060  20 20 20 20 20 20 20 20‐00 00 00 00 00 20 20 20           .....
0E3D:0070  20 20 20 20 20 20 20 20‐00 00 00 00 00 00 00 00           ........
0E3D:0080  00 0D 76 2E 65 78 65 0D‐44 4F 57 53 5C 73 79 73   ..v.exe.DOWS\sys
0E3D:0090  74 65 6D 33 32 5C 64 6F‐73 78 0D 0D 64 61 20 72   tem32\dosx..da r
0E3D:00A0  65 64 65 20 28 63 61 72‐72 65 67 61 72 20 61 6E   ede (carregar an
0E3D:00B0  74 65 73 20 64 6F 20 64‐6F 73 78 2E 65 78 65 29   tes do dosx.exe)
No exemplo acima é mostrado à esquerda o endereço da memória (segmento:endereço), ao centro o código em
hexadecimal e à direita como seria o texto em ASCII.
Programação em código de máquina
Para se programar em código de máquina, deve­se obter os códigos de instruções do processador utilizado,
contendo opcodes, operandos e formatos de cada instrução.
Por esse motivo, foi criada uma linguagem de programação chamada linguagem de montagem (Assembly
Language), composta de códigos mnemônicos que, do ponto de vista técnico, é tão próxima do processador
quanto o código de máquina, mas é humanamente mais fácil de se compreender uma vez que seus códigos são
geralmente acrônimos do inglês. Por exemplo ´mov´ de mover, ´rep´ de repetição e assim por diante.
Referências
1. Código de máquina definição ­ Colégio São Francisco (http://www.portalsaofrancisco.com.br/alfa/historia­do­computa
dor/codigo­de­maquina.php)
Ver também
Linguagem de alto nível
Linguagem de baixo nível
Assembly
Obtida de "https://pt.wikipedia.org/w/index.php?title=Código_de_máquina&oldid=46846775"
Categorias:  Arquitetura de computadores Linguagens de programação
Esta página foi modificada pela última vez à(s) 19h36min de 30 de setembro de 2016.
Este texto é disponibilizado nos termos da licença Creative Commons ­ Atribuição ­ Compartilha Igual
3.0 Não Adaptada (CC BY­SA 3.0); pode estar sujeito a condições adicionais. Para mais detalhes,
consulte as Condições de Uso.
https://pt.wikipedia.org/wiki/ASCII
https://pt.wikipedia.org/wiki/Linguagem_de_montagem
http://www.portalsaofrancisco.com.br/alfa/historia-do-computador/codigo-de-maquina.php
https://pt.wikipedia.org/wiki/Linguagem_de_alto_n%C3%ADvel
https://pt.wikipedia.org/wiki/Linguagem_de_baixo_n%C3%ADvel
https://pt.wikipedia.org/wiki/Assembly
https://pt.wikipedia.org/w/index.php?title=C%C3%B3digo_de_m%C3%A1quina&oldid=46846775
https://pt.wikipedia.org/wiki/Especial:Categorias
https://pt.wikipedia.org/wiki/Categoria:Arquitetura_de_computadores
https://pt.wikipedia.org/wiki/Categoria:Linguagens_de_programa%C3%A7%C3%A3o
https://creativecommons.org/licenses/by-sa/3.0/deed.pt
https://wikimediafoundation.org/wiki/Condi%C3%A7%C3%B5es_de_Uso

Mais conteúdos dessa disciplina