2013 Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados No comeo, programar um microprocessador para executar uma determinada tarefa no era uma das coisas mais fceis que existiam. O programador estava preso a utilizar- se da Linguagem de Mquina, que era a programao diretamente em binrio ou em hexadecimal. Guardar o que cada cdigo, ou seja, cada nmero binrio ou seu equivalente em hexadecimal significava para o microprocessador, no era fcil. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Nos meados do sculo passado foi criado a primeira linguagem de programao, a linguagem Assembly. Nesta linguagem , cada seqencia de cdigo binrio que possui um significado especial para o microprocessador (comando) recebe um nome. muito mais fcil de se memorizar um nome do que um cdigo binrio qualquer, alm de ser muito mais fcil de se programar por nomes. 101110000011001011111111 100000111100000001000000 MOV AX, 0FF32h ADD AX, 040h Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Famlias de microprocessadores Microprocessador 8086 Ling. de mquina Assembly B0 FF MOV AL, 0FFh A2 00 20 MOV [2000h], AL Microprocessador 6800 Ling. de mquina Assembly 86 FF LDA A, # FF 97 00 20 STA A, 00 Microprocessador 6502 Ling. de mquina Assembly A9 FF LDA # FF 8D 00 20 STA 00 Comando: colocar o valor 255 na posio de memria 2000h. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Observamos que para cada microprocessador possu um conjunto de instrues prprio. Ou seja, no h qualquer correlao entre as instrues dos diversos tipos de microprocessadores existentes no mercado. O que estipular uma famlia de microprocessadores ser justamente a existncia de uma similaridade no conjunto de instrues dos microprocessadores que constituam uma famlia. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Por assim dizer, um 8086, um 8088, um 80286, um 80386 etc. constituem uma famlia de microprocessadores por possurem instrues similares. Quem sabe programar em assembly em um 8086 saber programar em um 80286. Outros microprocessadores como o 6800, o 68000, 68020, etc. constituem uma outra famlia de microprocessadores, por possurem instrues similares entre si Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Porm devemos lembrar que mesmo sendo o Assembly uma linguagem de baixo nvel, o microprocessador no a entende . O processador entende somente linguagem de mquina. O microprocessador no sabe o que MOV AX, 0FF32h Ele entende somente nmeros, e portanto s sabe interpretar o conjunto binrio do comando acima, ou seja, a seqencia de 101110000011001011111111. Esta converso pode ser feita basicamente de duas maneiras: 1) Na mo mesmo, utilizando-se a tabela de instrues fornecida pelo fabricante Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados 2) Utilizar de um programa especfico. Este programa chamado genericamente de Assembler, ou seja, montador. O Assembler l o programa em Assembly e converte-o para linguagem de mquina. Linguagens de baixo nvel So linguagens totalmente dependentes da mquina, ou seja, que o programa que se realiza com este tipo de linguagem no pode ser migrado ou utilizado em outras mquinas. Ao estar praticamente desenhado a medida do hardware, aproveitam ao mximo as caractersticas do mesmo, acessando registradores, endereos de memrias e etc. Neste conceito podemos aplicar a Linguagem de Mquina e o Assembly. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Linguagem de alto nvel So aquelas que se encontram mais prximas linguagem natural que linguagem mquina. Trata-se de linguagens independentes da arquitetura do computador. Sendo assim, princpio, um programa escrito em uma linguagem de alto nvel, pode ser migrado de uma mquina a outra sem nenhum tipo de problema. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados Linguagens de Mdio nvel Trata-se de um termo no aceito por todos. Estas linguagens se encontram em um ponto mdio entre as duas anteriores. Dentro destas linguagens poderia se situar a Linguagem C j que pode acessar aos registros do sistema, trabalhar com endereos de memria, que so caractersticas de linguagens de baixo nvel e ao mesmo tempo realizar operaes de alto nvel. Introduo linguagem de mquina Prof. Edgard Veiga 2013 Sistemas Microprogramados