Arquivo da tag: Assembler

Recuperado o código-fonte do primo esquisitão do BASIC

Já ouviu falar em FOCAL? É uma linguagem de programação que segue princípios muito, mas muito parecidos aos bons e velhos BASICs interpretados dos nossos bons e velhos micros de 8 bits. Foi desenvolvida na DEC para rodar no PDP-6, e depois foi portada para microcomputadores, em particular o KIM-1 e outros micros posteriores baseados no processador 6502, como o Apple II.

Dave Hassler, do canal The 6502 Show, através de muito trabalho de detetive, chegou aos autores da versão 6502 e conseguiu os fontes e os manuais originais, completos, que eram considerados perdidos! E ele promete os fontes digitalizados para breve.

Repórter Retro 097

Este é o Repórter Retro 097, produzido pela A.R.N.O. (Agência Retropolitana de Notícias)!

Do que falamos?
Trilha sonora

Random Chiptune Mix 46

Antes de sair…

Os episódios do Repórter Retro estão, como todo o conteúdo de Retrópolis, em muitos lugares: Spotify, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts. Ou então, se você é dazantiga que nem a gente, pode baixar o MP3 deste episódio clicando neste link para escutar mais tarde.

Além disso, não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Repórter Retro 094

Este é o Repórter Retro 094, produzido pela A.R.N.O. (Agência Retropolitana de Notícias)!

Do que falamos?
Trilha sonora

Random Chiptune Mix 30

Antes de sair…

Os episódios do Repórter Retro estão, como todo o conteúdo de Retrópolis, em muitos lugares: Spotify, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts. Ou então, se você é dazantiga que nem a gente, pode baixar o MP3 deste episódio clicando neste link para escutar mais tarde.

Além disso, não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Dividir para conquistar

Há muitos anos tem-se como óbvio que multiplicações e divisões são coisas feitas no hardware. São instruções de Assembly em todo microprocessador digno do nome. Mas nem sempre foi assim. Na era dos 8 bits, o normal era o sistema operacional ter que fazer essas operações por algoritmo, como uma criança fazendo dever de casa de Matemática no segundo ano.

O 8086/8088 (dos primeiros IBM PC) foi um dos primeiros a fazer divisão por hardware, e aqui temos (e também nesta thread no Mastodon) a engenharia reversa dessa operação, feita por (oooooh surpresa) Ken Shirriff.

Repórter Retro 090

Este é o Repórter Retro 090, produzido pela A.R.N.O. (Agência Retropolitana de Notícias)!

Do que falamos?
Trilha sonora

Random Chiptune Mix 55

Antes de sair…

Os episódios do Repórter Retro estão, como todo o conteúdo de Retrópolis, em muitos lugares: Spotify, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts. Ou então, se você é dazantiga que nem a gente, pode baixar o MP3 deste episódio clicando neste link para escutar mais tarde.

Além disso, não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Repórter Retro 070

O Seu Repórter Retro

Bem-vindos à edição 070 do Repórter Retro.

Links do podcast

Música de fundo

Random Chiptune Mix 23

Ouvindo este episódio offline

Baixe o ZIP, descompacte e ouça com seu tocador de música preferido.

Onde este episódio (e todo o Retrocomputaria) está disponível

Os episódios do Repórter Retro estão, como todo o conteúdo do Retrocomputaria, em muitos lugares: Spotify, YouTube, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts.

Seu comentário é o nosso salário

Não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Crônica de uma morte anunciada: o Coprocessador Numérico x87

Assim como quem não quer nada, resolvi começar a ler sobre programação Assembly para processadores Intel do seu PC velho… mas a versão muderna, cheia de zilhões de instruções, registradores a dar com pau, mil maneiras de fazer operações paralelas e o escambau. Por que alguém faria algo tão insano? Ora raios…

Pois bem, ao longo dos mais de 40 anos que a arquitetura sobreviveu, níveis e mais níveis de funcionalidade foram sendo adicionados uns por cima dos outros, mantendo sempre todas as estruturas anteriores presentes:

16 bits modo real16 bits modo protegido32 bitsMMX64 bitsSSEAVX … e contando.

Correndo por fora, existiu, lá nos primórdios, um bicho chamado 8087 – o Coprocessador Matemático. Se seu PC tivesse esse chip, ele adicionava instruções para fazer operações matemáticas com números reais, não apenas inteiros, e também operações como seno, cosseno, logaritmos… a partir do 486, ele passou a ser incorporado ao processador principal, mas todas as velhas instruções como FMUL, FDIV, FCOS etc estavam lá, e usá-las sempre foi a melhor maneira de fazer contas. A alternativa era usar bibliotecas de ponto flutuante, lentas e nem sempre dentro do padrão (é o que os nossos retromicros clássicos usam).

Mas aí que tá… os novos conjuntos de instruções SSEn e AVX, planejados para realizar várias operações ao mesmo tempo num conjunto grande de números, também fazem operações de ponto flutuante. Aí, no capítulo sobre otimização deste livro, leio o seguinte:

Os seguintes critérios devem ser observados ao escrever código em Assembly que realize aritmética de ponto flutuante:
* (…)
* Em código novo, use as funções escalares das arquiteturas SSE ou AVX, em vez da FPU x87.

Pois é, a utilidade do velho chip, amigão dos estudantes de engenharia (e de tantas outras áreas) nos anos 80, chegou ao fim. Mais um dinossauro se dirigindo lentamente ao poço de piche. É provável que daqui a alguns anos, os quatro primeiros itens da cadeia de setas acima sejam abandonados e os novos processadores sejam puramente 64 bits.