segunda-feira, 27 de dezembro de 2010

Fotos da banda.




domingo, 26 de dezembro de 2010

quinta-feira, 23 de dezembro de 2010

Baixar chave de Kaspersky 2009. Aprenda como ativa o anti-vírus.

Fonte de Alimentação.

Introdução

A fonte de alimentação  é o dispositivo responsável por fornecer energia elétrica aos componentes de um computador. Portanto, é um tipo de equipamento que deve ser escolhido e manipulado com cuidado, afinal, qualquer equívoco pode resultar em provimento inadequado de eletricidade ou em danos à máquina. É por esse motivo que o InfoWester apresenta este artigo. Nele, você conhecerá as principais características das fontes, como tensão, potência, PFC, eficiência, tipos de conectores, entre outros. O foco do artigo serão as fontes do tipo ATX, por esse ser o tipo mais popular. Vamos lá?

Tipos de fontes de alimentação

Como já dito, as fontes de alimentação são equipamentos responsáveis pelo fornecimento de energia elétrica aos dispositivos dos computadores. Para isso, convertem corrente alternada (AC - Alternating Current) - grossamente falando, a energia recebida por meio de geradores, como uma hidroelétrica - em corrente contínua (DC - Direct Current), uma tensão apropriada para uso em aparelhos eletrônicos. Assim, a energia que chega nas tomadas da sua casa em 110 V (Volts) ou 220 V é transformada em tensões como 5 V e 12 V.
Os computadores usam fontes de alimentação do tipo chaveada. Trata-se de um padrão que faz uso de capacitores e indutores no processo de conversão de energia e recebe esse nome por possuir, grossamente falando, um controle de chaveamento que "liga e desliga" a passagem de energia de forma a gerar e fixar uma tensão de saída. Há também uma categoria chamada fonte linear, mas esse tipo não se mostra adequado aos computadores por vários motivos, entre eles, tamanho físico e peso elevado, além de menor eficiência (conceito que será explicado neste texto), uma vez que fontes lineares utilizam um "excesso" de energia para manter sua tensão de saída, gerando também mais calor. Nas fontes chaveadas isso não ocorre porque esse tipo simplesmente desativa o fluxo de energia em vez de dissipar a "sobra". Além disso, fontes chaveadas também exigem menor consumo, pois utilizam praticamente toda a energia que "entra" no dispositivo.
Fonte de alimentação ATX - Imagem por OCZ
Fonte de alimentação ATX - Imagem por OCZ
Por se tratar de um equipamento que gera campo eletromagnético (já que é capaz de trabalhar com frequências altas), as fontes devem ser blindadas para evitar interferência em outros aparelhos e no próprio computador.
Antes de ligar seu computador na rede elétrica, é de extrema importância verificar se o seletor de voltagem da fonte de alimentação corresponde à tensão da tomada (no Brasil, 110 V ou 220 V). Se o seletor estiver na posição errada, a fonte poderá ser danificada, assim como outros componentes da máquina. Menos comuns, há modelos de fontes que são capazes de fazer a seleção automaticamente.

Padrões de fontes de alimentação

Assim como qualquer tecnologia produzida por mais de um fabricante, as fontes de alimentação devem ser fornecidas dentro de padrões estabelecidos pela indústria de forma a garantir sua compatibilidade com outros dispositivos e o seu funcionamento regular. No caso das fontes, o padrão mais utilizado nos dias de hoje é o ATX (Advanced Tecnology Extendend), que surgiu em meados de 1996 e que também especifica formatos de gabinetes de computadores e de placas-mãe.
Com essa padronização, uma pessoa saberá que, ao montar uma computador, a placa-mãe se encaixará adequadamente no gabinete da máquina, assim como a fonte de alimentação. Também haverá certeza de provimento de certos recursos, por exemplo: as fontes ATX são capazes de fornecer tensão de 3,3 V, característica que não existia no padrão anterior, o AT (Advanced Tecnology). O padrão ATX, na verdade, é uma evolução deste último, portanto, adiciona melhorias em pontos deficientes do AT. Isso fica evidente, por exemplo, no conector de alimentação da placa-mãe: no padrão AT, esse plugue era dividido em dois, podendo facilmente fazer com que o usuário os invertesse e ocasionasse danos. No padrão ATX, esse conector é uma peça única e só possível de ser encaixada de uma forma, evitando problemas por conexão incorreta.
As fontes ATX também trouxeram um recurso que permite o desligamento do computador por software. Para isso, as fontes desse tipo contam com um sinal TTL (Transistor-Transistor Logic) chamado PS_ON (Power Supply On). Quando está ligada e em uso, a placa-mãe mantém o PS_ON em nível baixo, como se o estive deixando em um estado considerado "desligado". Se a placa-mãe estiver em desuso, ou seja, não estiver recebendo as tensões, deixa de gerar o nível baixo e o PS_ON fica em nível alto. Esse sinal pode mudar seu nível quando receber ordens de ativação ou desativação de determinados recursos, por exemplo:
- Soft Power Control: usado para ligar ou desligar a fonte por software. É graças a esse recurso que o sistema operacional consegue desligar o computador sem que o usuário tenha que apertar um botão para isso;
- Wake-on-LAN: permite ligar ou desligar a fonte por placa de rede.
O sinal PS_ON depende da existência de outro: o sinal +5 VSB ou Standby. Como o nome indica, esse sinal permite que determinados circuitos sejam alimentados quando as tensões em corrente contínua estão suspensas, mantendo ativa apenas a tensão de 5 V. Em outras palavras, esse recurso é o que permite ao computador entrar em "modo de descanso". É por isso que a placa de vídeo ou o HD, por exemplo, pode ser desativado e o computador permanecer ligado.
Há também outro sinal importante chamado Power Good que tem a função de comunicar à máquina que a fonte está apresentando funcionamento correto. Se o sinal Power Good não existir ou for interrompido, geralmente o computador desliga automaticamente. Isso ocorre porque a interrupção do sinal indica que o dispositivo está operando com voltagens alteradas e isso pode danificar permanentemente um componente. O Power Good é capaz de impedir o funcionamento de chips enquanto não houver tensões aceitáveis. Esse sinal, na verdade, existe desde padrão AT. No caso do padrão ATX, sua denominação é PWR_OK (Power Good OK) e sua existência se refere às tensões de +3,3 V e de +5 V.
Como se trata de uma padrão relativamente antigo, o ATX passou - e passa - por algumas mudanças para se adequar a necessidades que foram - e vão - aparecendo por conta da evolução tecnológica de outros dispositivos. Com isso, surgiram várias versões:
- ATX12V 1.x: essa nova especificação surgiu em meados de 2000 e consiste, basicamente, em um conector adicional de 12 V formado por 4 pinos, e outro, opcional, de 6 pinos e tensão de 3,3 V ou 5 V. Essa versão foi sofrendo pequenas revisões ao longo do tempo. A última, a 1.3, teve como principal novidade a implementação de um conector de energia para dispositivos SATA;
- ATX12V 2.x: série de revisões que lançou um conector para a placa-mãe de 24 pinos (até então, o padrão era 20 pinos) e adicionou, na versão 2.2, um plugue para placas de vídeo que usam o slot PCI Express, recurso necessário devido ao alto consumo de energia desses dispositivos. Neste padrão, o conector opcional de 6 pinos foi removido;
- EPS12V: especificação muito parecida com a série ATX12V 2.x, definida pela SSI (Server System Infrastructure) inicialmente para ser aplicada em servidores. Seu principal diferencial é a oferta de um conector adicional de 8 pinos (que pode ser uma combinação de dois conectores de 4 pinos) e um opcional de 4. Para atender de forma expressiva o mercado, muitos fabricantes oferecem fontes que são, ao mesmo tempo, ATX12V v2.x e EPS12V.
Vale frisar que há ainda vários outros formatos menos comuns para atender determinadas necessidades, como variações do ATX (EATX, microATX, etc), EBX, ITX (e suas versões), entre outros.
Com tantos padrões, você pode estar se perguntando qual escolher, não é mesmo? Essa decisão pode ser mais fácil do que parece. Via de regra, se você está montando um computador novo, com componentes totalmente recentes, basta escolher o último padrão disponível, que muito provavelmente será o mais fácil de se encontrar no mercado. Em caso de dúvida, basta consultar a descrição de sua placa-mãe para ver qual padrão ela utiliza e checar se a fonte pela qual você se interessa oferece suporte a essa especificação.

Tensões das fontes de alimentação

Os dispositivos que compõem um computador são tão variados que requerem níveis diferentes de tensão para o seu funcionamento. Por isso, as fontes de alimentação fornecem, essencialmente, as seguintes tensões: +3,3 V, +5 V, +12 V, -5 V e -12 V (as antigas fontes AT não oferecem a tensão de +3,3 V). As saídas de +3,3 V e +5 V são mais direcionadas a dispositivos menores, como chips de memória. A tensão de +12 V é utilizada por dispositivos que consomem mais energia, tais como aqueles que contam com "motores", como HDs (cujo motor é responsável por girar os discos) e drives de DVD ou Blu-ray (que possuem motores para abrir a gaveta e para girar o disco). As tensões de -5 V e -12 V são pouco utilizadas - serviam ao antigo barramento ISA, por exemplo.
É claro que há dispositivos que exigem voltagens menores. Memórias RAM do tipo DDR3, por exemplo, podem trabalhar com +1,5 V. Para esses casos, a placa-mãe conta com reguladores que convertem uma saída de voltagem da fonte de alimentação para a tensão necessária ao componente em questão.

Potência das fontes de alimentação

Esse é o aspecto mais considerado por qualquer pessoa na hora de comprar uma fonte. E deve ser mesmo. Se adquirir uma fonte com potência mais baixa que a que seu computador necessita, vários problemas podem acontecer, como desligamento repentino da máquina ou reinicializações constantes. O ideal é optar por uma fonte que ofereça uma certa "folga" neste aspecto. Mas escolher uma requer alguns cuidados.
O principal problema está no fato de que algumas fontes, principalmente as de baixo custo, nem sempre oferecem toda a potência que é descrita em seu rótulo. Por exemplo, uma fonte de alimentação pode ter em sua descrição 500 W (Watts) de potência, mas em condições normais de uso pode oferecer, no máximo 400 W. Acontece que o fabricante pode ter atingindo a capacidade de 500 W em testes laboratoriais com temperaturas abaixo das que são encontradas dentro do computador ou ter informado esse número com base em cálculos duvidosos, por exemplo. Por isso, no ato da compra, é importante se informar sobre a potência real da fonte.
Para isso, é necessário fazer um cálculo que considera alguns aspectos, sendo o mais importante deles o conceito de potência combinada. Antes de compreendermos o que isso significa, vamos entender o seguinte: como você já viu, no que se refere às fontes ATX, temos as seguintes saídas: +3,3 V, +5 V, +12 V, -5 V e -12 V. Há mais uma chamada de +5 VSB (standby). O fabricante deve informar, para cada uma dessas saídas, o seu respectivo valor de corrente, que é medido em ampères (A). A definição da potência de cada saída é então calculada multiplicando o valor em volts pelo número de ampères. Por exemplo, se a saída de +5 V tem 30 A, basta fazer 5x30, que é igual a 150. A partir daí, resta fazer esse cálculo para todas as saídas e somar todos os resultados para conhecer a potência total da fonte, certo? Errado! Esse, aliás, é um dos cálculos duvidosos que alguns fabricantes usam para "maquiar" a potência de suas fontes.
É aí que entra em cena a potência combinada. As saídas de +3,3 V e +5 V são combinadas, assim como todas as saídas de +12 V. A potência máxima de cada uma só é possível de ser alcançada quando a saída "vizinha" não estiver em uso. Ou seja, no exemplo anterior, a potência da saída de +5 V só seria possível se a tensão de +3,3 V não fosse utilizada. Há ainda outro detalhe: uma outra medida de potência combinada considera os três tipos de saída mencionados: +3,3 V, +5 V, +12 V. Esse valor é então somado com as potências das saídas de -12 V (note que o sinal de negativo deve ser ignorado no cálculo) e +5 VSB. Daí obtém-se a potência total da fonte.
Para facilitar na compreensão, vamos partir para um exemplo. Vamos considerar uma fonte cujo rótulo informa o seguinte:
Tensões =>
+3,3 V
+5 V
+12 V (1)
+12 V (2)
-12 V
+5 VSB
Carga
28 A
30 A
22 A
22 A
0,6 A
3 A
Potência combinada
160 W
384 W
7,2 W
15 W
477,8 W
22,2 W
500 W
Observe que a potências combinada das tensões +3,3 V, + 5 V e +12 V é de 477,8 W, que é somada com a potência das saídas de - 12 V e +5 VSB, que é 22,2 W (7,2 + 15). Assim, a fonte tem 500 W de potência total. Mas aqui vai uma dica: no ato da compra, observe se as saídas de +12 V (sim, geralmente há mais de uma) fornecem uma potência combinada razoável. Essa é mais importante porque consiste na tensão que é utilizada pelos dispositivos que mais exigem energia, como o processador e a placa de vídeo. No nosso exemplo, esse valor é de 384 W.
Rótulo descritivo na lateral de uma fonte ATX
Rótulo descritivo na lateral de uma fonte ATX
Mas você deve estar se perguntando: como saber a potência adequada para o meu computador? Você já sabe que terá problemas se adquirir uma fonte com potência insuficiente. Por outro lado, se comprar uma fonte muito poderosa para uma PC que não precisa de tudo isso, vai ser como comprar um ônibus para uma família de 5 pessoas. A tabela a seguir pode te ajudar nisso. Ela fornece uma estimativa do quanto os principais componentes de um computador podem consumir:
Item
Consumo
Processadores medianos e top de linha 60 W - 110 W
Processadores econômicos 30 W - 80 W
Placa-mãe 20 W - 100 W
HDs e drives de DVD ou Blu-ray 25 W - 35 W
Placa de vídeo com instruções em 3D 35 W - 110 W
Módulos de memória 2 W - 10 W
Placas de expansão (placa de rede, placa de som, etc) 5 W - 10 W
Cooler 5 W - 10 W
Teclado e mouse 1 W - 15 W
Como já dito, processadores e placas de vídeo são os dispositivos que mais exigem energia. Para piorar a situação, essa medida pode variar muito de modelo para modelo. Por isso, é importante consultar as especificações desses itens para conhecer suas médias de consumo. Suponha, por exemplo, que você tenha escolhido a seguinte configuração:
Processador 95 W
HD (cada) 25 W + 25 W
Drive de DVD 25 W
Placa de vídeo 3D 80 W
Mouse óptico + teclado 10 W
Total 260 W
Veja que o total é de 260 W, sem considerar outros itens, como placas-mãe, pentes de memória, etc. Neste caso, uma fonte com pelo menos 400 W reais seria o ideal (lembre-se da dica de sempre contar com uma "folga").

Eficiência das fontes de alimentação

Esse é outro aspecto de extrema importância na hora de escolher uma fonte. Em poucas palavras, a eficiência é uma medida percentual que indica o quanto de energia da rede elétrica, isto é, da corrente alternada, é efetivamente transformada em corrente contínua. Para entender melhor, vamos a um rápido exemplo: suponha que você tenha um computador que exige 300 W, mas a fonte está extraindo 400 W. A eficiência aqui é então de 75%. Os 100 W a mais que não são utilizados são eliminados em forma de calor.
Com base nisso, perceba o seguinte: quanto maior a eficiência da fonte, menor é o calor gerador e menor é o desperdício de energia, fazendo bem para o seu bolso e evitando que seu computador tenha algum problema causado por aquecimento excessivo. Por isso que eficiência é um fator muito importante a ser considerado. Fontes de maior qualidade tem eficiência de pelo menos 80%, portanto, estas são as mais indicadas. Fontes com eficiência entre 70% e 80% são até aceitáveis, mas abaixo disso não são recomendadas.

Power Factor Correction (PFC)

O PFC (Power Factor Correction ou, em bom português, Fator de Correção de Potência) é, em poucas palavras, um meio de permitir o máximo de otimização possível na distribuição de energia. Vamos entender melhor: dispositivos constituídos por motores, transformadores, reatores, entre outros, lidam com dois tipos de energia: ativa e reativa. A diferença básica entre ambos é que a energia reativa é aquela que é utilizada apenas para magnetizar determinados componentes dos motores, transformadores, etc.
A questão é que o excesso de energia reativa pode causar vários problemas, como aquecimento, sobrecarga, entre outros. Isso acontece porque a energia reativa não é energia de "trabalho", cabendo à energia ativa esse papel, mas pode utilizar recursos que poderiam ser dedicados a esta última. Por isso, quanto menos energia reativa for usada, melhor.
Uma maneira de medir o uso de energia reativa é comparando-a com a energia ativa. Isso se chama Fator de Potência. A medição é feita analisando valores entre 0 e 1. Quanto mais próximo de 1, menor é a utilização de energia reativa. Pelo menos em aplicações industriais, o ideal é que o fator de potência seja de, pelo menos, 0,92.
Nas fontes de alimentação, o Fator de Correção de Potência é utilizado para manter essa relação em patamares aceitáveis. Há dois tipos de mecanismos para isso: PFC ativo e PFC passivo. O primeiro faz uso de componentes que conseguem deixar o fator de potência em 0,95 ou mais - pelo menos teoricamente - e que também conseguem reduzir interferências. O segundo tipo, por sua vez, é menos eficiente, pois utiliza componentes que não conseguem oferecer um "equilíbrio" tão otimizado quanto o PFC ativo. O fator de potência de fontes com PFC passivo fica em torno de 0,80, mas modelos de menor qualidade podem chegar a 0,60.
É evidente que fontes com PFC ativo são mais recomendadas, mesmo porque estas podem oferecer um recurso bastante interessante: seleção automática de voltagem. Note, no entanto, que em termos de benefícios para o usuário final, o PFC é vantajoso em seus aspectos de proteção. Não há relevância em termos de economia de energia, por exemplo. Fabricantes passaram a adotar esse recurso mais por determinação de autoridades reguladoras de alguns países.

Conectores das fontes de alimentação

As imagens a seguir mostram os principais conectores existentes em uma fonte ATX, começando pelo conector que é ligado à placa-mãe:
Conector de 24 pinos de fonte ATX
A foto acima mostra um conector de placa-mãe com 24 pinos, sendo que uma parte, com 4 pinos, é separada. Isso existe para garantir compatibilidade com placas-mãe que utilizam conectores de 20 pinos. Na imagem abaixo, é possível ver seu respectivo encaixe na placa-mãe:
Encaixe de fonte de alimentação em placa-mãe
A imagem abaixo mostra um conector utilizado em dispositivos como HDs e unidades de CD/DVD que utilizam a inferface PATA, também conhecida como IDE. Esse padrão está caindo em desuso, pois foi substituído pelas especificações SATA:
Conector de alimentação para dispositivos IDE ou PATA
Na figura abaixo é possível ver o encaixe desse conector na parte traseira de um HD:
Encaixe de alimentação em HD PATA
Por sua vez, a imagem abaixo mostra um conector utilizado em unidades de disquetes. Esse dispositivo também caiu em desuso, portanto, trata-se de um conector que tende a desaparecer:
Conector de alimentação para drive de disquete
Vemos abaixo um conector de energia do atual padrão SATA:
Conector de alimentação para dispositivos SATA
Na foto seguinte, o encaixe SATA na parte traseira de um disco rígido:
Entrada de alimentação em HD SATA
Chamado de ATX12V, o conector visto abaixo conta com 4 pinos, deve ser encaixado na placa-mãe e geralmente tem a função de fornecer alimentação elétrica para o processador. Há uma versão mais atual, denominada EPS12V, que utiliza 8 pinos e que pode ser formada também pela união de dois conectores de 4 pinos:
Conector auxiliar de alimentação
Na figura seguinte, o encaixe na placa-mãe do conector da imagem anterior:
Encaixe de conector auxiliar de alimentação

Ventoinha das fontes

Ao pegar uma fonte de alimentação, você vai perceber que ela possui uma ventoinha, isto é, um "ventilador" que tem a função de retirar o ar quente proveniente do calor que é gerado dentro do computador. Para o usuário, esse é um aspecto que é importante de ser analisado por um simples motivo: barulho. Boa parte das fontes disponíveis no mercado, principalmente as de baixo de custo, utilizam uma ventoinha que fica em sua parte traseira, geralmente de 80 mm, de forma que é possível visualizá-la ao olhar a parte de trás da máquina. Por outro lado, há modelos de fonte que utilizam uma ventoinha maior, quase sempre de 120 mm, que fica instalada na parte de baixo, de forma que só é possível vê-la com a abertura do gabinete da máquina, como mostra a imagem a seguir:
Ventoinha na parte de baixo de uma fonte ATX
A vantagem de utilizar um fonte deste último tipo é que a ventoinha é maior, portanto, requer um número menor de rotações para direcionar o fluxo de ar. Dessa forma, essa fonte também consegue ser mais silenciosa.
Modelos mais sofisticados também contam com um sensor de temperatura que é capaz de acelerar a rotação das ventoinhas em caso de aumento de calor. Esse recurso é interessante não só por oferecer proteção contra aumento excessivo de temperatura, como também por servir de alerta de que alguma coisa está atrapalhando a circulação de ar necessária para o bom funcionamento da máquina.

.: Livros sugeridos :.
:: Arquitetura de computadores
:: Hardware na prática
Via Shopping UOL

Finalizando

Como você deve ter percebido no decorrer do artigo, a fonte de alimentação tem mais importância para um computador do que pensa. Por isso, é necessário direcionar maior atenção a esse item na hora de fazer um upgrade ou montar uma máquina. Como dica final, uma orientação que é comum na comprar de qualquer produto: pesquise. Dê preferência por modelos de marcas conceituadas, que fornecem todos os detalhes de seus produtos e garantia. E, mesmo assim, pesquise na internet pelos modelos que te interessatrm, pois mesmo entre fabricantes reconhecidos há produtos que decepcionam. É claro que na maioria das vezes não é necessário adquirir uma fonte top de linha, por outro lado, fontes de custo muito baixo, apelidadas de "genéricas", devem ser evitadas sempre que possível, pois quase sempre são de baixa qualidade e podem inclusive representar algum risco ao seu computador.

Retirado de InfoWester.

sexta-feira, 17 de dezembro de 2010

Memórias ROM e RAM

Introdução

No que se refere ao hardware dos computadores, entendemos como memória os dispositivos que armazenam os dados com os quais o processador trabalha. Há, essencialmente, duas categorias de memórias: ROM (Read-Only Memory), que permite apenas a leitura dos dados e não perde informação na ausência de energia; e RAM (Random-Access Memory), que permite ao processador tanto a leitura quanto a gravação de dados e perde informação quando não há alimentação elétrica. Neste artigo, o InfoWester apresenta os principais tipos de memórias ROM e RAM, assim como mostra as características mais importantes desses dispositivos, como frequência, latência, encapsulamento, tecnologia, entre outros.

Memória ROM

As memórias ROM (Read-Only Memory  - Memória Somente de Leitura) recebem esse nome porque os dados são gravados nelas apenas uma vez. Depois disso, essas informações não podem ser apagadas ou alteradas, apenas lidas pelo computador, exceto por meio de procedimentos especiais. Outra característica das memórias ROM é que elas são do tipo não voláteis, isto é, os dados gravados não são perdidos na ausência de energia elétrica ao dispositivo. Eis os principais tipos de memória ROM:
- PROM (Programmable Read-Only Memory): esse é um dos primeiros tipos de memória ROM. A gravação de dados neste tipo é realizada por meio de aparelhos que trabalham através de uma reação física com elementos elétricos. Uma vez que isso ocorre, os dados gravados na memória PROM não podem ser apagados ou alterados;
- EPROM (Erasable Programmable Read-Only Memory): as memórias EPROM têm como principal característica a capacidade de permitir que dados sejam regravados no dispositivo. Isso é feito com o auxílio de um componente que emite luz ultravioleta. Nesse processo, os dados gravados precisam ser apagados por completo. Somente depois disso é que uma nova gravação pode ser feita;
- EEPROM (Electrically-Erasable Programmable Read-Only Memory): este tipo de memória ROM também permite a regravação de dados, no entanto, ao contrário do que acontece com as memórias EPROM, os processos para apagar e gravar dados são feitos eletricamente, fazendo com que não seja necessário mover o dispositivo de seu lugar para um aparelho especial para que a regravação ocorra;
- EAROM (Electrically-Alterable Programmable Read-Only Memory): as memórias EAROM podem ser vistas como um tipo de EEPROM. Sua principal característica é o fato de que os dados gravados podem ser alterados aos poucos, razão pela qual esse tipo é geralmente utilizado em aplicações que exigem apenas reescrita parcial de informações;
- Flash: as memórias Flash também podem ser vistas como um tipo de EEPROM, no entanto, o processo de gravação (e regravação) é muito mais rápido. Além disso, memórias Flash são mais duráveis e podem guardar um volume elevado de dados. É possível saber mais sobre esse tipo de memória no artigo Cartões de memória Flash, publicado aqui no InfoWester;
- CD-ROM, DVD-ROM e afins: essa é uma categoria de discos ópticos onde os dados são gravados apenas uma vez, seja de fábrica, como os CDs de músicas, ou com dados próprios do usuário, quando o próprio efetua a gravação. Há também uma categoria que pode ser comparada ao tipo EEPROM, pois permite a regravação de dados: CD-RW e DVD-RW e afins.

Memória RAM

As memórias RAM (Random-Access Memory - Memória de Acesso Aleatório) constituem uma das partes mais importantes dos computadores, pois são nelas que o processador armazena os dados com os quais está lidando. Esse tipo de memória tem um processo de gravação de dados extremamente rápido, se comparado aos vários tipos de memória ROM. No entanto, as informações gravadas se perdem quando não há mais energia elétrica, isto é, quando o computador é desligado, sendo, portanto, um tipo de memória volátil.
Há dois tipos de tecnologia de memória RAM que são muitos utilizados: estático e dinâmico, isto é, SRAM e DRAM, respectivamente. Há também um tipo mais recente chamado de MRAM. Eis uma breve explicação de cada tipo:
- SRAM (Static Random-Access Memory - RAM Estática): esse tipo é muito mais rápido que as memórias DRAM, porém armazena menos dados e possui preço elevado se considerarmos o custo por megabyte. Memórias SRAM costumam ser utilizadas como cache (saiba mais sobre cache neste artigo sobre processadores);
- DRAM (Dynamic Random-Access Memory - RAM Dinâmica): memórias desse tipo possuem capacidade alta, isto é, podem comportar grandes quantidades de dados. No entanto, o acesso a essas informações costuma ser mais lento que o acesso às memórias estáticas. Esse tipo também costuma ter preço bem menor quando comparado ao tipo estático;
- MRAM (Magnetoresistive Random-Access Memory - RAM Magneto-resistiva): a memória MRAM vem sendo estudada há tempos, mas somente nos últimos anos é que as primeiras unidades surgiram. Trata-se de um tipo de memória até certo ponto semelhante à DRAM, mas que utiliza células magnéticas. Graças a isso, essas memórias consomem menor quantidade de energia, são mais rápidas e armazenam dados por um longo tempo, mesmo na ausência de energia elétrica. O problema das memórias MRAM é que elas armazenam pouca quantidade de dados e são muito caras, portanto, pouco provavelmente serão adotadas em larga escala.

Aspectos do funcionamento das memórias RAM

As memórias DRAM são formadas por chips que contém uma quantidade elevadíssima de capacitores e transistores. Basicamente, um capacitor e um transistor, juntos, formam uma célula de memória. O primeiro tem a função de armazenar corrente elétrica por um certo tempo, enquanto que o segundo controla a passagem dessa corrente.
Se o capacitor estiver armazenamento corrente, tem-se um bit 1. Se não estiver, tem-se um bit 0. O problema é que a informação é mantida por um curto de período de tempo e, para que não haja perda de dados da memória, um componente do controlador de memória é responsável pela função de refresh (ou refrescamento), que consiste em regravar o conteúdo da célula de tempos em tempos. Note que esse processo é realizado milhares de vezes por segundo.
O refresh é uma solução, porém acompanhada de "feitos colaterais": esse processo aumenta o consumo de energia e, por consequência, aumenta o calor gerado. Além disso, a velocidade de acesso à memória acaba sendo reduzida.
A memória SRAM, por sua vez, é bastante diferente da DRAM e o principal motivo para isso é o fato de que utiliza seis transistores (ou quatro transistores e dois resistores) para formar uma célula de memória. Na verdade, dois transistores ficam responsáveis pela tarefa de controle, enquanto que os demais ficam responsáveis pelo armazenamento elétrico, isto é, pela formação do bit. A vantagem desse esquema é que o refresh acaba não sendo necessário, fazendo com que a memória SRAM seja mais rápida e consuma menos energia. Por outro lado, como sua fabricação é mais complexa e requer mais componentes, o seu custo acaba sendo extremamente elevado, encarecendo por demais a construção de um computador baseado somente nesse tipo. É por isso que sua utilização mais comum é como cache, pois para isso são necessárias pequenas quantidades de memória.
Como as memórias DRAM são mais comuns, eles serão o foco deste texto a partir deste ponto.

CAS e RAS

O processador armazena na memória RAM as informações com os quais trabalha, portanto, a todo momento, operações de gravação, eliminação e acesso aos dados são realizadas. Esse trabalho todo é possível graças ao trabalho de um circuito já citado chamado controlador de memória.
Para facilitar a realização dessas operações, as células de memória são organizadas em uma espécie de matriz, ou seja, são orientadas em um esquema que lembra linhas e colunas. O cruzamento de uma certa linha (também chamada de wordline), com uma determinada coluna (também chamada de bitline) forma o que conhecemos como endereço de memória. Assim, para acessar o endereço de uma posição na memória, o controlador obtém o seu valor de coluna, ou seja, o valor RAS (Row Address Strobe) e o seu valor de linha, ou seja, o valor CAS (Column Address Strobe).
RAS e CAS

Temporização e latência das memórias

Os parâmetros de temporização e latência indicam quanto tempo o controlador de memória gasta com as operações de leitura e escrita. Em geral, quanto menor esse valores, mais rápidas são as operações.
Para que você possa entender, tomemos como exemplo um módulo de memória que informa os seguintes valores em relação à latência: 5-4-4-15-1T. Esse valor está escrito nesta forma: tCL-tRCD-tRP-tRAS-CR. Vejamos o que cada um desses parâmetros significa:
- tCL (CAS Latency): quando uma operação de leitura de memória é iniciada, sinais são acionados para ativar as linhas (RAS) e as colunas (RAS) correspondentes, determinar se a operação é de leitura ou escrita (CS - Chip Select) e assim por diante. O parâmetro CAS Latency indica, em ciclos de clock (saiba mais sobre clock nesta matéria sobre processadores), qual o período que há entre o envio do sinal CAS e a disponibilização dos respectivos dados. Em outras palavras, é o intervalo existente entre a requisição de um dado pelo processador e a entrega deste pela memória. Assim, no caso do nosso exemplo, esse valor é de 5 ciclos de clock;
- tRCD (RAS to CAS Delay): esse parâmetro indica, também em ciclos de clock, o intervalo que há entre a ativação da linha e da coluna de um determinado dado. No exemplo acima, esse valor corresponde a 4;
- tRP (RAS Precharge): intervalo em clocks que informa o tempo gasto entre desativar o acesso a uma linha e ativar o acesso a outra. Em nosso exemplo, esse valor é de 4 ciclos;
- tRAS (Active to Precharge Delay): esse parâmetro indica o intervalo, também em clocks, necessário entre um comando de ativar linha e a próxima ação do mesmo tipo. Em nosso exemplo, esse valor é de 15 ciclos de clock;
- CR (Command Rate): intervalo que há entre a ativação do sinal CS e qualquer outro comando. Em geral, esse valor é de 1 ou 2 ciclos de clock e é acompanhado da letra T. No nosso exemplo esse valor é de 1 ciclo.
Esses parâmetros costumam ser informados pelo fabricante em um etiqueta colada ao pente de memória (muitas vezes, o valor de CMD não é informado). Quando isso não ocorre, é possível obter essa informação através de softwares específicos (como o gratuito CPU-Z, para Windows, mostrado abaixo) ou mesmo pelo setup do BIOS.
CPU-Z exibindo dados sobre memória
CPU-Z exibindo dados sobre memória

Os parâmetros de temporização fornecem uma boa noção do tempo de acesso das memórias. Note que, quando falamos disso, nos referimos ao tempo que a memória leva para fornecer os dados requisitados. O que não foi dito acima é que esse tempo é medido em nanossegundos (ns), isto é, 1 segundo dividido por 1.000.000.000.
Assim, para se ter uma noção de qual é a frequência máxima utilizada pela memória, basta dividir 1000 pelo seu tempo de acesso em nanossegundos (essa informação pode constar em uma etiqueta no módulo ou pode ser informada através de softwares especiais). Por exemplo: se um pente de memória trabalha com 15 ns, sua frequência é de 66 MHz, pois 1000/15=66.

Outros parâmetros

Algumas placas-mãe atuais ou direcionadas ao público que faz overclock (em poucas palavras, prática onde dispositivos de hardware são ajustados para que trabalhem além das especificações de fábrica) ou, ainda, softwares que detalham as características do hardware do computador, costumam informar outros parâmetros, além dos mencionados acima. Geralmente, estes parâmetros adicionais são informados da seguinte forma: tRC-tRFC-tRRD-tWR-tWTR-tRTP (por exemplo: 22-51-3-6-3-3), também considerando ciclos de clock. Vejamos o que cada um significa:
- tRC (Row Cycle): consiste no tempo necessário para que se complete um ciclo de acesso a uma linha da memória;
- tRFC (Row Refresh Cycle): consiste no tempo necessário para a execução dos ciclos de refresh da memória;
- tRRD (Row To Row Delay): semelhante ao tRP, mas considera o tempo que o controlador necesita esperar após uma nova linha ter sido ativada;
- tWR (Write Recovery): informa o tempo necessário para que o controlador de memória comece a efetuar uma operação de escrita após realizar uma operação do mesmo tipo;
- tWTR (Write to Read Delay): consiste no tempo necessário para que o controlador de memória comece a executar operações de leitura após efetuar uma operação de escrita;
- tRTP (Read to Precharge Delay): indica o tempo necessário entre uma operação de leitura efetuada e ativação do próximo sinal.

Voltagem

Em comparação com outros itens de um computador, as memórias são um dos componentes que menos consomem energia. O interessante é que esse consumo diminuiu com a evolução da tecnologia. Por exemplo, módulos de memória DDR2 (tecnologia que ainda será abordada neste texto), em geral, exigem entre 1,8 V e 2,5 V. É possível encontrar pentes de memória DDR3 (padrão que também será abordado neste artigo) cuja exigência é de 1,5 V. Módulos de memória antigos exigiam cerca de 5 V.
Algumas pessoas com bastante conhecimento no assunto fazem overclock nas memórias aumentando sua voltagem. Com esse ajuste, quando dentro de certos limites, é possível obter níveis maiores de clock.

SPD (Serial Presence Detect)

O SPD é um pequeno chip (geralmente do tipo EEPROM) inserido nos módulos de memória que contém diversas informações sobre as especificações do dispositivo, como tipo (DDR, DDR2, etc), voltagem, temporização/latência, fabricante, número de série, etc.
Chip SPD
Chip SPD
Muitas placas-mãe contam com um setup de BIOS que permite uma série de ajustes de configuração. Nesses casos, um usuário experimente pode definir os parâmetros da memória, no entanto, quem não quiser ter esse trabalho, pode manter a configuração padrão. Algumas vezes, essa configuração é indicada por algo relacionado ao SPD, como mostra a imagem abaixo:
Exemplo de ajuste de memória em setup de BIOS baseado em SPD
Exemplo de ajuste de memória em setup de BIOS baseado em SPD

Detecção de erros

Alguns mecanismos foram desenvolvidos para ajudar na detecção de erros da memória, falhas essas que podem ter várias causas. Esses recursos são especialmente úteis em aplicações de alta confiabilidade, como servidores de missão crítica, por exemplo.
Um desses mecanismos é a paridade, capaz apenas de ajudar a detectar erros, mas não de corrigí-los. Nesse esquema, um bit é adicionado a cada byte de memória (lembre-se: 1 byte corresponde a 8 bits). Esse bit assume o valor 1 se a quantidade de bits 1 do byte for par e assume o valor 0 (zero) se a referida quantidade por ímpar (o contrário também pode acontecer: 1 para ímpar e 0 para par). Quando a leitura de dados for feita, um circuito verificará se a paridade corresponde à quantidade de bits 1 (ou 0) do byte. Se for diferente, um erro foi detectado.
A paridade, no entanto, pode não ser tão precisa, pois um erro em dois bits, por exemplo, pode fazer com que o bit de paridade corresponda à quantidade par ou ímpar de bits 1 do byte. Assim, para aplicações que exigem alta precisão dos dados, pode-se contar com memórias que tenham ECC (Error Checking and Correction), um mecanismo mais complexo capaz de detectar e corrigir erros de bits.

Tipos de encapsulamento de memória

O encapsulamento correspondente ao artefato que dá forma física aos chips de memória. Eis uma breve descrição dos tipos de encapsulamento mais utilizados pela indústria:
- DIP (Dual In-line Package): um dos primeiros tipos de encapsulamento usados em memórias, sendo especialmente popular nas épocas dos computadores XT e 286. Como possui terminais de contato - "perninhas" - de grande espessura, seu encaixe ou mesmo sua colagem através de solda em placas pode ser feita facilmente de forma manual;
Encapsulamento DIP - Imagem por Wikipedia
Encapsulamento DIP - Imagem por Wikipedia
- SOJ (Small Outline J-Lead): esse encapsulamento recebe este nome porque seus terminais de contato lembram a letra 'J'. Foi bastante utilizado em módulos SIMM (vistos mais à frente) e sua forma de fixação em placas é feita através de solda, não requerendo furos na superfície do dispositivo;
Encapsulamento SOJ
Encapsulamento SOJ
- TSOP (Thin Small Outline Package): tipo de encapsulamento cuja espessura é bastante reduzida em relação aos padrões citados anteriormente (cerca de 1/3 menor que o SOJ). Por conta disso, seus terminais de contato são menores, além de mais finos, diminuindo a incidência de interferência na comunicação. É um tipo aplicado em módulos de memória SDRAM e DDR (que serão abordados adiante). Há uma variação desse encapsulamento chamado STSOP (Shrink Thin Small Outline Package) que é ainda mais fino;
Encapsulamento TSOP
Encapsulamento TSOP
- CSP (Chip Scale Package): mais recente, o encapsulamento CSP se destaca por ser "fino" e por não utilizar pinos de contato que lembram as tradicionais "perninhas". Ao invés disso, utiliza um tipo de encaixe chamado BGA (Ball Grid Array). Esse tipo é utilizado em módulos como DDR2 e DDR3 (que serão vistos à frente).
Encapsulamento CSP
Encapsulamento CSP

Módulos de memória

Entendemos como módulo ou, ainda, pente, uma pequena placa onde são instalados os encapsulamentos de memória. Essa placa é encaixada na placa-mãe por meio de encaixes (slots) específicos para isso. Eis uma breve descrição dos tipos mais comuns de módulos:
- SIPP (Single In-Line Pins Package): é um dos primeiros tipos de módulos que chegaram ao mercado. É formato por chips com encapsulamento DIP. Em geral, esses módulos eram soldados na placa-mãe;
- SIMM (Single In-Line Memory Module): módulos deste tipo não eram soldados, mas encaixados na placa-mãe. A primeira versão continha 30 terminais de contato (SIMM de 30 vias) e era formada por um conjunto de 8 chips (ou 9, para paridade). Com isso, podiam transferir um byte por ciclo de clock. Posteriormente surgiu uma versão com 72 pinos (SIMM de 72 vias), portanto, maior e capaz de transferir 32 bits por vez. Módulos SIMM de 30 vias podiam ser encontrados com capacidades que iam de 1 MB a 16 MB. Módulos SIMM de 72 vias, por sua vez, eram comumente encontrados com capacidades que iam de 4 MB a 64 MB;
- DIMM (Double In-Line Memory Module): os módulos DIMM levam esse nome por terem terminais de contatos em ambos os lados do pente. São capazes de transmitir 64 bits por vez. A primeira versão - aplicada em memória SDR SDRAM - tinha 168 pinos. Em seguida, foram lançados módulos de 184 vias, utilizados em memórias DDR, e módulos de 240 vias, utilizados em módulos DDR2 e DDR3. Existe um padrão DIMM de tamanho reduzido chamado SODIMM (Small Outline DIMM), que são utilizados principalmente em computadores portáteis, como notebooks;
- RIMM (Rambus In-Line Memory Module): formado por 168 vias, esse módulo é utilizado pelas memórias Rambus, que serão abordadas ainda neste artigo. Um fato curioso é que para cada pente de memória Rambus instalado no computador é necessário instalar um módulo "vazio", de 184 vias, chamado de C-RIMM (Continuity-RIMM).
Módulo de memória inserida em um slot
Módulo de memória inserida em um slot

Tecnologias de memórias

Várias tecnologias de memórias foram (e são) criadas com o passar do tempo. É graças a isso que, periodicamente, encontramos memórias mais rápidas, com maior capacidade e até memórias que exigem cada vez menos energia. Eis uma breve descrição dos principais tipos de memória RAM:
- FPM (Fast-Page Mode): uma das primeiras tecnologias de memória RAM. Com o FPM, a primeira leitura da memória tem um tempo de acesso maior que as leituras seguintes. Isso porque são feitos, na verdade, quatro operações de leitura seguidas, ao invés de apenas uma, em um esquema do tipo x-y-y-y, por exemplo: 3-2-2-2 ou 6-3-3-3. A primeira leitura acaba sendo mais demorada, mas as três seguintes são mais rápidas. Isso porque o controlador de memória trabalha apenas uma vez com o endereço de uma linha (RAS) e, em seguida, trabalha com uma sequência de quatro colunas (CAS), ao invés de trabalhar com um sinal de RAS e um de CAS para cada bit. Memórias FPM utilizavam módulos SIMM, tanto de 30 quanto de 72 vias;
- EDO (Extended Data Output): a sucessora da tecnologia FPM é a EDO, que possui como destaque a capacidade de permitir que um endereço da memória seja acessado ao mesmo tempo em que uma solicitação anterior ainda está em andamento. Esse tipo foi aplicado principalmente em módulos SIMM, mas também chegou a ser encontrado em módulos DIMM de 168 vias. Houve também uma tecnologia semelhante, chamada BEDO (Burst EDO), que trabalhava mais rapidamente por ter tempo de acesso menor, mas quase não foi utilizada, pois tinha custo maior por ser de propriedade da empresa Micron. Além disso, foi "ofuscada" pela chegada da tecnologia SDRAM;
Módulo de memória EDO
Módulo de memória EDO
- SDRAM (Synchronous Dynamic Random Access Memory): as memórias FPM e EDO são assíncronas, o que significa que não trabalham de forma sincronizada com o processador. O problema é que, com processadores cada vez mais rápidos, isso começou a se tornar um problema, pois muitas vezes o processador tinha que esperar demais para ter acesso aos dados da memória. As memórias SDRAM, por sua vez, trabalham de forma sincronizada com o processador, evitando os problemas de atraso. A partir dessa tecnologia, passou-se a considerar a frequência com a qual a memória trabalha para medida de velocidade. Surgiam então as memórias SDR SDRAM (Single Data Rate SDRAM), que podiam trabalhar com 66 MHz, 100 MHz e 133 MHz (também chamadas de PC66, PC100 e PC133, respectivamente). Muitas pessoas se referem a essa memória apenas como "memórias SDRAM" ou, ainda, como "memórias DIMM", por causa de seu módulo. No entanto, a denominação SDR é a mais adequada;
Módulo de memória SDR SDRAM
Módulo de memória SDR SDRAM -
Observe que neste tipo há duas divisões entre os terminais de contato

- DDR SDRAM (Double Data Rate SDRAM): as memórias DDR apresentam evolução significativa em relação ao padrão SDR, isso porque elas são capazes de lidar com o dobro de dados em cada ciclo de clock (memórias SDR trabalham apenas com uma operação por ciclo). Assim, uma memória DDR que trabalha à frequência de 100 MHz, por exemplo, acaba dobrando seu desempenho, como se trabalhasse à taxa de 200 MHz. Visualmente, é possível identificá-las facilmente em relação aos módulos SDR, porque este último contém duas divisões na parte inferior, onde estão seus contatos, enquanto que as memórias DDR2 possuem apenas uma divisão. Você pode saber mais sobre essa tecnologia na matéria Memória DDR, publicada aqui no InfoWester;
- DDR2 SDRAM: como o nome indica, as memórias DDR2 são uma evolução das memórias DDR. Sua principal característica é a capacidade de trabalhar com quatro operações por ciclo de clock, portanto, o dobro do padrão anterior. Os módulos DDR2 também contam com apenas uma divisão em sua parte inferior, no entanto, essa abertura é um pouco mais deslocada para o lado. Saiba mais sobre essa tecnologia na matéria Memória DDR2, disponibilizada aqui no InfoWester;
Memória DDR2 acima e DDR abaixo. Note que a posição da divisão entre os terminais de contato é diferente.
Memória DDR2 acima e DDR abaixo -
Note que a posição da divisão entre os terminais de contato é diferente

- DDR3 SDRAM: as memórias DDR3 são, obviamente, uma evolução das memórias DDR2. Novamente, aqui dobra-se a quantidade de operações por ciclo de clock, desta vez, de oito. Na época de fechamento deste artigo, as memórias DDR3 ainda não eram muito populares. Saiba mais sobre essa tecnologia nesta matéria da Wikipedia;
.: Livros sugeridos :.
:: Arquitetura de computadores
:: Hardware na prática
:: Hardware: o guia definitivo
Via Shopping UOL
- Rambus (Rambus DRAM): as memórias Rambus recebem esse nome por serem uma criação da empresa Rambus Inc. e chegaram ao mercado com o apoio da Intel. Elas são diferentes do padrão SDRAM, pois trabalham apenas com 16 bits por vez. Em compensação, memórias Rambus trabalham com frequência de 400 MHz e com duas operações por ciclo de clock. Tinham como desvantagens, no entanto, taxas de latência muito altas, aquecimento elevado e maior custo. Memórias Rambus nunca tiveram grande aceitação no mercado, mas também não foram um total fiasco: foram utilizadas, por exemplo, no console de jogos Nintendo 64. Curiosamente, as memórias Rambus trabalham em pares com "módulos vazios" ou "pentes cegos". Isso significa que, para cada módulo Rambus instalado, um "módulo vazio" tem que ser instalado em outro slot. Essa tecnologia acabou perdendo espaço para as memórias DDR.

Finalizando

Com o passar do tempo, a evolução das tecnologias de memórias não somente as torna mais rápidas, mas também faz com que passem a contar com maior capacidade de armazenamento de dados. Memórias ROM do tipo Flash, por exemplo, podem armazenar vários gigabytes. No que se refere às memórias RAM, o mesmo ocorre. Por conta disso, a pergunta natural é: quanto utilizar? A resposta depende de uma série de fatores, no entanto, a indústria não para de trabalhar para aumentar ainda mais a velocidade e a capacidade desses dispositivos. Portanto, não se espante: quando menos você esperar, vai ouvir falar de uma nova tecnologia de memória que poderá se tornar um novo padrão de mercado :)

postagem tirada do site InfoWester.

quarta-feira, 15 de dezembro de 2010

Principais comandos do MSDOS

ANSI.SYS_ Define as funções que alteram a exibição gráfica, controlam a movimentação do cursor e reatribuem teclas.
Append _ Possibilita que o programa abra os arquivos de dados nos diretórios especificados como se os arquivos estivessem no diretório atual.
Attrib_ Exibe ou altera os atributos de arquivo.
Break_ Define ou remove o controle de verificação CTRL+C
Buffers_ Aloca memória para um número especificado de memórias intermediárias
Call_ Chama um programa de lote a partir de outro sem interromper o primeiro programa de lote.
Cd_ Exibe o nome do diretório atual ou altera o diretório atual.
Chcp_ Exibe o número do conjunto de caracteres ativo (página de código).
Chdir_ Exibe o nome do diretório atual ou altera o diretório atual.
Chkdsk_ Verifica o status de um disco e exibe um relatório. Também corrige os erros encontrados no disco.
CHKSTATE.SYS_ Utilizado pelo programa de otimização de memória, o MemMaker, para controlar o processo de otimização.
Choice_ Exibe uma mensagem de aviso especificada, efetua uma pausa para o usuário escolher entre um conjunto de teclas especificado e fornece um parâmetro.
Cls _ limpa a tela de vídeo.


Comandos do CONFIG.SYS_

O arquivo CONFIG.SYS é um arquivo de texto que contém comandos especiais, que configuram os componentes de hardware do computador para que o MS-DOS e os aplicativos possam usá-lo.

Comandos Internacionais Altera as configurações específicas de país e conjuntos de caracteres (páginas de código).
Command_ Inicia uma nova ocorrência do interpretador de comando do MS-DOS, COMMAND.COM.


Configurações

Múltiplas Define diversas configurações de sistema no arquivo config.sys.
Controladores de dispositivos instaláveis do MS-DOS.
Copy_ Copia um ou mais dos arquivos para o local especificado.
Country_ Possibilita que o MS-DOS utilize horas, datas e moedas internacionais, conversões de letras maiúsculas/minúsculas e separadores decimais.
Ctty _ Altera o dispositivo de terminal utilizado para controlar o seu computador.

Date_ Exibe a data e emite um aviso se for necessário alterar a data.
Dblspace _ Configura as unidades que foram compactadas.
Debug_ Inicia o Debug, um programa que pode ser utilizado para testar e depurar arquivos executáveis.
Defrag_ Reorganiza os arquivos no disco visando otimizar o seu desempenho.
De_ l Exclui os arquivos especificados.
Deltree _ Exclui um diretório, seus arquivos e todos os subdiretórios e arquivos abaixo do mesmo.
Device_ Carrega na memória o controlador de dispositivo especificado. Este comando pode ser utilizado somente no arquivo CONFIG.SYS.
Devicehigh_ Carrega os controladores de dispositivo na área de memória superior.

Dicas sobre DriveSpace Responde algumas das perguntas mais comuns relativas ao DriveSpace.

Dir_ Exibe uma lista dos arquivos e subdiretórios de um diretório.
Diskcomp_ Compara o conteúdo de dois discos flexíveis.
Diskcopy_ Copia o conteúdo do disco flexível na unidade de origem para um disco flexível formatado ou não formatado na unidade de destino.
DISPLAY.SYS_ Suporta a alternação de conjuntos de caracteres para a sua tela e teclado.
Dos_ Especifica que o MS-DOS dever manter um vínculo com a área de memória superior, carregar uma parte de si mesmo na área de memória alta(HMA), ou ambos.
Doskey _ Possibilita a edição das linhas de comando e a criação e execução de macros.
Dosshel_ l Inicia o MS-DOS Shell, uma interface gráfica do MS-DOS.
DRIVER.SYS _ Cria uma unidade lógica que pode ser utilizada para fazer referência a uma unidade de disco flexível física.
Drivparm_ Define os parâmetros para os dispositivos de bloco, como unidades de disco, quando você inicia o MS-DOS.
Drvspace_ Compacta as unidades de disco rígido ou discos flexíveis, e configura as unidades que foram compactadas com a utilização do DriveSpace.
DRVSPACE.SYS_ Determina o local de memória final de DRVSPACE.BIN, a parte do MS-DOS que propicia acesso às suas unidades compactadas.

Echo _ Exibe ou oculta o texto em programas de lote quando o programa está sendo executado.
Edit _ Inicia Editor do MS-DOS, que pode ser utilizado para a criação e edição de arquivos de texto ASCII.
EGA.SYS_ Salva e restaura a exibição quando a Alternação entre Tarefas do MS-DOS_ Shell for utilizada com monitores EGA.
Emm386_ Ativa ou desativa o suporte para memória expandida EMM386 em um computador com um processador 80386 ou superior.
EMM386.EXE_ Propicia acesso á área de memória superior e simula memória expandida durante a utilização da memória estendida.
Erase_ Exclui os arquivos especificados.
Exit _ Finaliza o programa o interpretador de comando e retorna para o programa que iniciou.
Expand_ Expande um arquivo compactado.
Fasthelp _ Exibe uma lista de todos os comandos do MS-DOS e fornece uma breve explicação sobre cada um deles.
Fastopen_ Diminui o tempo necessário para abrir arquivos utilizados com frequência.
Fc_ Compara dois arquivos e exibe as diferenças entre eles.
Fcbs_ Especifica o número de blocos de controle de arquivos que o MS-DOS é capaz de manter abertos ao mesmo tempo.
Fdisk_ Configura um disco rígido para ser usado com o MS-DOS.
Files_ Especifica o número de arquivos que o MS-DOS é capaz de acessar de uma só vez.

Find_ Procura uma sequência de texto específica em um arquivo ou arquivos.
For_ Executa um comando especificado para cada arquivo de um grupo de arquivos.
Format _ Formata um disco para ser utilizado com o MS-DOS.
Goto_ Direciona o MS-DOS para a linha de um programa de lote marcada com um nome especificado.
Graphics_ Carrega na memória um programa que permite ao MS-DOS imprimir as informações exibidas na tela.
Help _ Inicia a Ajuda do MS-DOS
HIMEM.SYS_ Gerenciador de memória estendida, coordena o uso da memória.
If_ Executa processamento condicional em programas de lote.
Include _ Inclui o conteúdo de um bloco de configuração.
Instal_ l Carrega um programa residente na memória ao iniciar o MS-DOS.
Interlnk_ Conecta dois computadores através de portas paralelas ou seriais e habilita os computadores a compartilhar discos e portas de impressora.
INTERLNK.EXE_ Redireciona as solicitações de operações em uma ou mais unidades Interlnk de cliente ou portas de impressora para uma ou mais unidades ou portas de impressora no servidor Interlnk.
Intersvr_ Inicia o servidor Interlnk.
Keyb_ Inicia o programa Keyb que configura o teclado para um idioma específico.
Label_ Cria, altera ou exclui o nome do volume de um disco.
Lastdrive_ Especifica o número máximo de unidades que podem ser acessadas.
Lh_ Carrega um programa na área de memória alta.
Loadfix_ Assegura que um programa seja carregado acima dos primeiros 64K de memória convencional e executa o programa.
Loadhigh_ Carrega um programa na área de memória alta.
Md_ Cria um diretório.
Mem _ Exibe a quantidade de memória utilizada e livre no computador.
Memmaker_ Otimiza a memória do computador movendo os controladores de dispositivo e programas residentes para a memória alta.
MenuColor_ Define o texto e as cores de segundo plano do menu de inicialização.
MenuDefault_ Especifica o item padrão do menu do menu de inicialização e define um valor para intervalo entre operações, se desejado.
MenuItem_ Define um item no menu de inicialização.
Mkdir_ Cria um diretório.
Mode Commands _ Configura os dispositivos do sistema. Executa tarefas diferentes, tais como a exibição de status do sistema, a mudança de configurações do sistema ou portas ou dispositivos.
More_ Exibe uma tela de saída de cada vez.
Move_ Move um ou mais arquivos para outro local especificado.
Msav_ Procura por vírus conhecidos no computador.
Msbackup_ Executa o Microsoft Backup para o MS-DOS, o qual cria uma cópia de segurança ou restaura um ou mais arquivos de um disco para outro.
Mscdex _ Possibilita o acesso a unidades CD-ROM.
Msd_ Fornece informações técnicas detalhadas sobre o computador.
Nlsfunc_ Inicia o programa Nlsfunc, que carrega informações especificas de pais para o suporte de língua nacional (NLS).
Numlock_ Especifica se a configuração de NUM LOCK do teclado numérico está inicialmente definida como ON (ativada) ou OFF (desativada).
Path_ Indica os diretórios a serem pesquisados pelo MS-DOS à procura de arquivos executáveis.
Pause_ Suspende o processamento de um programa de lote e exibe uma mensagem solicitando ao usuário pressionar qualquer tecla para continuar.
Power_ Reduz o consumo de energia quando aplicativos e dispositivos estão inativos.
POWER.EXE _ Reduz o consumo de energia quando os aplicativos e dispositivos estiverem inativos.
Print_ Imprime um arquivo de texto enquanto você está usando outros comandos do MS-DOS.


Programa de lote Arquivo de texto não formatado que contém um ou mais comandos do MS-DOS, ao qual é atribuída uma extensão .BAT.

Prompt Muda a aparência do aviso de comando.

Qbasic_ Lê instruções escritas em linguagem Basic e as interpreta em código executável de computador.
RAMDRIVE.SYS _ Cria uma unidade RAM na memória de acesso aleatório (RAM) do computador para simular uma unidade de disco rígido.
Rd_ Exclui (remove) diretórios.
Rem _ Permite incluir comentários em arquivos de lote ou no arquivo CONFIG.SYS.
Ren_ Muda o nome de um arquivo ou arquivos.
Rename_ Muda o nome de um arquivo ou arquivos.
Replace_ Substitui arquivos incluídos no diretório de destino por arquivos do diretório de origem que possuem o mesmo nome.
Restore_ Restaura arquivos dos quais foram feitas cópias de segurança.
Rmdir _ Exclui (remove) diretórios.
ScanDisk_ Aplicatico de análise e correção de discos que procura erros em uma unidade e corrige os problemas encontrados.
Scandisk.ini_ Contem as configurações que podem ser utilizadas para personalizar o programa ScanDisk.
Set_ Exibe, define ou remove variáveis de ambiente do MS-DOS.
Setver _ Exibe a tabela de versões. Informa um número de versão (anterior á 6.0) a programas ou controladores de dispositivo que foram criados para versões anteriores do MS-DOS.
SETVER.EXE_ Carrega a tabela de versão do MS-DOS na memória.
Share_ Inicia o programa Share, que instala o compartilhamento de arquivos e os recursos que não permitem acesso aos discos e ás unidades de rede.
Shel_ Especifica o nome e a localização do interpretador de comandos a ser usado pelo MS-DOS.
Shift_ Muda a posição de parâmetros substituíveis em um arquivo de lote.
SIZER.EXE _ Usado pelo programa de otimização de memória MemMaker para determinar o tamanho da memória de controladores de dispositivo e programas residentes em memória.
Smartdrv_ Inicia ou configura o SMARTDrive, o qual cria um cachê de disco em memória estendida.
SMARTDRV.EXE_ Carrega o controlador de dispositivo SMARTDRV.EXE para executar a duplicação de memórias intermediárias.
Sort_ Lê entradas, classifica dados e grava os resultados na tela, em um arquivo ou em outro dispositivo.
Stacks _ Suporta o uso dinâmico de pilhas de dados para o gerenciamento de interrupções de hardware.
Submenu _ Define um item do menu de inicialização que, quando selecionado, exibe outro conjunto de opções.
Subst _ Associa um caminho a uma letra de unidade.
Switches _ Fornece opções especiais.
Sys _ Cria um disco de inicialização,
Time _ Exibe a hora do sistema e configura o relógio interno do computador.
Tree _ Exibe graficamente a estrutura de diretório de um caminho ou do disco em uma unidade.
Type_ Exibe o conteúdo de um arquivo de texto.
Undelete _ Restaura arquivos previamente excluídos com o comando DEL.
Unformat _ Restaura um disco apagado com o comando FORMAT.
Ver_ Exibe o número da versão do MS-DOS.
Verify _ Informa ao MS-DOS se deve verificar se os arquivos estão gravados corretamente em um disco, ou não.
Vol_ Exibe o nome de volume e o número de série do disco, se houver.
VSafe_ Monitora continuamente o computador á procura de vírus e exibe um alerta quando encontra algum.
Xcopy_ Copia arquivos (exceto arquivos ocultos e de sistema) e diretórios, inclusive subdiretórios.

ArquivoTipoTamanho 
Comandos MSDos.doc.docArquivo DOC161,5 KbBaixar o
 Arquivo

domingo, 12 de dezembro de 2010

S.O key

 A lista de todas as interrupções que atualmente são suportados pelo montador 8086 emuladoressas interrupções devem ser compatíveis a IBM PC e todas as gerações de 86, original Intel 8086 e microprocessadores AMD compatível, porém o Windows XP pode substituir algumas das interrupções original.Referência rápida:
10h/00h INT10h/01h INT10h/02h INT10h/03h INT10h/05h INT10h/06h INT10h/07h INT10h/08h INT10h/09h INT10h/0Ah INT10h/0Ch INT10h/0Dh INT10h/0Eh INT10h/13h INT10h/1003h INTINT 11hINT 12h13h/00h INT13h/02h INT13h/03h INT15h/86h INT16h/00h INT16h/01h INTINT 19hINT 1Ah/00hINT 20hINT 21hINT 33h


a lista curta de interrupções suportados com descrições:

  
INT 10h / AH = 0 - modo de vídeo definido.

    
entrada:
    
AL = desejado modo de vídeo.

    
estes modos de vídeo são suportados:

    
00h - em modo texto. 40x25. 16 cores. 8 páginas.

    
03h - em modo texto. 80x25. 16 cores. 8 páginas.

    
13h - modo gráfico. 40x25. 256 cores. 320x200 pixels. Página 1.
exemplo:

mov al, 13hmov ah, 0Int 10h

  
10h INT / AH = 01h - definir a forma do cursor em modo texto.

    
entrada:
    
CH = linha de partida cursor (bits 0-4) e opções (bits 5-7).
    
CL = linha de fundo do cursor (bits 0-4).

    
quando o bit 5 do CH é definido como 0, o cursor fica visível. quando o bit 5 é 1, o cursor não está visível.


    
; Esconder piscando cursor de texto:
         
mov ch, 32
         
mov ah, 1
         
Int 10h

    
; Mostram padrão piscando cursor de texto:
         
mov ch, 6
         
mov cl, 7
         
mov ah, 1
         
Int 10h

    
; Show cursor de texto em forma de caixa piscando:
         
mov ch, 0
         
mov cl, 7
         
mov ah, 1
         
Int 10h

    
; Nota: Algumas BIOS CL necessária para ser> = 7, formas de outra forma errada cursor são exibidos.
Voltar ao Topo INT 10h / AH = 2 - posição do cursor.

    
entrada:
    
DH = linha.
    
DL = coluna.
    
BH = número da página (0 .. 7).
exemplo:

mov dh, 10mov dl, 20mov bh, 0mov ah, 2Int 10h

Voltar ao Topo INT 10h / AH = 03h - obter a posição do cursor e tamanho.

    
entrada:
    
BH = número da página.
    
retorno:
    
DH = linha.
    
DL = coluna.
    
CH linha de partida = cursor.
    
CL = linha de fundo do cursor.
Voltar ao Topo INT 10h / AH = 05h - página de seleção de vídeo ativo.

    
entrada:
    
AL = novo número de página (0 .. 7).
    
Página ativado é exibido.
Voltar ao Topo INT 10h / AH = 06h - vá até a janela.10h INT / AH = 07h - role a janela.

    
entrada:
    
AL = número de linhas por que se deslocar (00h = janela inteira transparente).
    
BH = atributo usado para escrever as linhas em branco na parte inferior da janela.
    
CH, CL = fileira, coluna do canto superior esquerdo da janela.
    
DH, DL = fileira, coluna do canto inferior direito da janela.
Voltar ao Topo INT 10h / AH = 08h - leia caráter e atributo na posição do cursor.

    
entrada:
    
BH = número da página.
    
retorno:
    
AH = atributo.
    
AL = caractere.
Voltar ao Topo INT 10h / AH = 09h - personagem escrever e atributo na posição do cursor.

    
entrada:
    
AL = personagem para mostrar.
    
BH = número da página.
    
BL = atributo.
    
CX = número de vezes para escrever caracteres.
Voltar ao Topo INT 10h / AH = 0Ah - escreve caráter apenas na posição do cursor.

    
entrada:
    
AL = personagem para mostrar.
    
BH = número da página.
    
CX = número de vezes para escrever caracteres.
Voltar ao Topo INT 10h / AH = 0Ch - mudam de cor para um único pixel.

    
entrada:
    
AL cor do pixel =
    
CX = coluna.
    
DX = linha.
exemplo:

mov al, 13hmov ah, 0Int 10h; definir o modo de vídeo de gráficos.mov al, 1100Bmov cx, 10mov dx, 20mov ah, 0ChInt 10h; conjunto de pixels.
aviso: esta interrupção está disponível na última atualização (se esta interrupção não está funcionando, clique aqui para baixar a versão mais recente do emulador)
Voltar ao Topo INT 10h / AH = 0Dh - obter a cor de um único pixel.

    
entrada:
    
CX = coluna.
    
DX = linha.
    
saída:
    
AL cor do pixel =
AVISO: Esta interrupção ESTÁ DISPONÍVEL NO última atualização (se esta interrupção não está funcionando, clique aqui para baixar a versão mais recente do emulador)
Voltar ao Topo INT 10h / AH = 0Eh - Saída de teletipo.

    
entrada:
    
AL = caractere para escrever.
Isso exibe as funções de um personagem na tela, fazendo avançar o cursor e rolagem da tela, conforme necessário. a impressão é sempre feito para a página corrente ativa.
exemplo:

mov al, 'a'mov ah, 0EhInt 10h
; Nota: em sistemas específicos essa função não pode ser apoiada em modo gráfico.
Voltar ao Topo INT 10h / AH = 13h - escreve a string.

    
entrada:
    
AL = modo de escrita:
        
bit 0: cursor atualização depois de escrever;
        
bit 1: string contém atributos.
    
BH = número da página.
    
BL = atributo se string contém apenas caracteres (bit 1 da AL é zero).
    
CX = número de caracteres em seqüência (atributos não são contados).
    
DL, DH = coluna, linha em que começar a escrever.
    
ES: BP aponta para string a ser impresso.
exemplo:

mov al, 1mov bh, 0mov bl, 0011_1011bmov cx, msg1end - offset msg1; calcular o tamanho da mensagem.mov dl, 10mov dh, 7cs pushes popmov bp, offset msg1mov ah, 13hInt 10hjmp msg1endmsg1 db "Olá mundo!"msg1end:
Voltar ao Topo INT 10h / AX = 1003h - intensidade de alternância / piscando.

    
entrada:
    
BL = modo de escrita:
        
0: permitir cores intensas.
        
1: permitir a piscar (não suportados pelo emulador e janelas do prompt de comando).
    
BH = 0 (para evitar problemas em algumas placas).
exemplo:

mov ax, 1003hmov bx, 0Int 10h

 
tabela de cores pouco:atributos de caracteres é 8 bit valor, baixa de 4 bits color set frente, alta de 4 bits definir a cor de fundo.Atenção: o emulador e janelas linha de comandos não suportam fundo piscando, porém para tornar as cores têm a mesma aparência no DOS e no modo de tela cheia, é necessário desligar o fundo piscar.

HEX COR BIN
0 0000 preto1 0001 azul2 0010 verde3 0011 ciano4 0100 vermelho5 0101 magenta6 0110 marrom7 0111 cinza8 1000 cinza escuro9 1001 azulUma luz verde 1010B ciano claro 1011C 1100 luz vermelhaD magenta claro 1101E 1110 amarelaF 1111 branca
nota:

; Usar esse código para compatibilidade com o DOS / modo de tela cheia cmd prompt:mov ax, 1003hmov bx, 0; desativar a piscar.Int 10h

Voltar ao TopoINT 11h - get BIOS lista de equipamentos.

    
retorno:
    
AX = BIOS palavra lista de equipamentos, na verdade, essa chamada retorna o conteúdo da palavra em 0040h: 0010h.

    
Atualmente, esta função pode ser usada para determinar o número de peça instalada de unidades de disquete.


    
Campos de bits de BIOS detectou o hardware instalado:
    
Bit (s) Descrição
     
15-14 número de dispositivos em paralelo.
     
13 não é suportado.
     
12 porta de jogos instalados.
     
09/11 número de dispositivos seriais.
     
8 reservados.
     
7-6 número de unidades de disquete (menos 1):
              
00 única disquete;
              
01 dois disquetes;
              
10 três disquetes;
              
11 quatro disquetes.
     
modo de vídeo 04/05 inicial:
              
00 EGA, VGA, PGA, ou outros, com vídeo on-board do BIOS;
              
40x25 01 cores CGA;
              
10 cores CGA 80x25 (emulador padrão);
              
11 texto monocromático 80x25.
     
3 não são suportados.
     
2 não é suportado.
     
Um co-processador matemático instalado.
     
0 definida quando iniciado a partir do disquete (sempre definido pelo emulador).
Voltar ao TopoINT 12h - Pega o tamanho da memória.

    
retorno:
    
AX = kilobytes de memória contígua a partir de 00000h endereço absoluto, essa chamada retorna o conteúdo da palavra em 0040h: 0013h.

Disquetes são emulados usando FLOPPY_0 (.. 3) arquivos.
Voltar ao Topo13h INT / AH = 00h - sistema de disco de reset, (atualmente chamada de isso não fazer nada).
Voltar ao Topo13h INT / AH = 02h - leia setores do disco na memória.13h INT / AH = 03h - escrever setores de disco.

    
entrada:

        
AL = número de setores para ler / escrever (deve ser diferente de zero)
        
CH = número de cilindros (0 .. 79).
        
CL número do setor = (1 .. 18).
        
DH = Número da cabeça (0 .. 1).
        
DL = número da unidade (0 .. 3, para o emulador depende da quantidade de arquivos FLOPPY_).
        
ES: BX aponta para o buffer de dados.

    
retorno:

        
CF definido em erro.
        
CF claro caso de sucesso.
        
AH = estado (0 - se bem-sucedido).
        
AL = número de setores transferido.

    
Nota: cada setor tem 512 bytes.
Voltar ao TopoINT 15h / AH = 86h - BIOS esperar função.

    
entrada:

        
CX: DX = Intervalo em microsegundos

    
retorno:

        
CF claro se for bem sucedida (intervalo de espera transcorrido),
        
CF definido em caso de erro ou quando a função de espera já está em andamento.


    
nota:

        
a resolução do período de espera é 977 microssegundos em muitos sistemas (1 milhão de microsegundos - 1 segundo).
        
Windows XP não oferece suporte a essa interrupção (sempre define CF = 1).

Voltar ao Topo16h INT / AH = 00h - get teclas do teclado (sem eco).

    
retorno:

        
AH = código de verificação do BIOS.
        
AL = ASCII.
        
(Se uma tecla estiver presente, ele é removido do buffer de teclado).
Voltar ao Topo16h INT / AH = 01h - verificar a tecla no buffer de teclado.

    
retorno:

        
ZF = 1 se a tecla não está disponível.
        
ZF = 0 se keystroke disponíveis.
        
AH = código de verificação do BIOS.
        
AL = ASCII.
        
(Se uma tecla estiver presente, ele não é removido do buffer de teclado).
Voltar ao Topo19h INT - reinicialização do sistema.

    
Normalmente, o BIOS tentará ler o setor 1, cabeça 0, trilha 0 do disco A: para 0000h: 7C00h. O emulador apenas suspende a execução, para iniciar a unidade de disquete selecione o menu: "drive virtual" - "inicialização através de disquetes '>
Voltar ao Topo1Ah INT / AH = 00h - chegar a hora do sistema.

    
retorno:

        
CX: DX = número de pulsos do relógio desde a meia noite.
        
AL = contador da meia-noite, avançado cada vez que passa da meia-noite.
Notas:Há aproximadamente 18,20648 relógio carrapatos por segundo,e 1800B0h por 24 horas.AL não é definida pelo emulador. Voltar ao Topo
INT 20h - saída para o sistema operacional.


a lista curta de interrupções emulado MS-DOS - INT 21h
AVISO: A maioria dos interrompe essas estão disponíveis na última atualização (Se essas interrupções não estão funcionando, clique aqui para baixar a versão mais recente do emulador)


INT 21h / AH = 1 - ler o caráter a partir da entrada padrão, com eco, o resultado é armazenado em AL.se não houver nenhum caractere no buffer de teclado, a função espera até que uma tecla é pressionada.
exemplo:

mov ah, 1Int 21h


INT 21h / AH = 2 - escrever caracteres na saída padrão.entrada: DL = personagem para escrever, após a execução AL = DL.
exemplo:

mov ah, 2mov dl, 'a'Int 21h


INT 21h / AH = 5 - caractere de saída para a impressora.entrada: DL = personagem para imprimir, após a execução AL = DL.
exemplo:

mov ah, 5mov dl, 'a'Int 21h


INT 21h / AH = 6 - direto do console de entrada ou de saída.
parâmetros de saída: DL = 0 .. 254 (código ASCII)parâmetros de entrada: DL = 255
retorna para a saída: AL = DLpara os retornos de entrada: ZF definir se nenhum caractere disponíveis e AL = 00h, ZF claro se caracteres disponíveis.AL = caractere lido; buffer é esvaziado.
exemplo:

mov ah, 6mov dl, 'a'Int 21h; caracter de saída.
mov ah, 6mov dl, 255Int 21h; obter personagem do buffer de teclado (se houver) ou conjunto ZF = 1.


INT 21h / AH = 7 - Entrada de caractere sem eco para AL.se não houver nenhum caractere no buffer de teclado, a função espera até que uma tecla é pressionada.
exemplo:

mov ah, 7Int 21h



INT 21h / AH = 9 - saída de uma seqüência de caracteres em DS: DX. String deve ser denunciado por '$'.
exemplo:

org 100hmov dx, offset msgmov ah, 9Int 21hretdb msg "Olá mundo $"


INT 21h / AH = 0Ah - A entrada de uma seqüência para DS: DX, byte punho é o tamanho do buffer, segundo byte é o número de caracteres realmente ler. Esta função não adicionar '$' no final da cadeia. para imprimir INT 21h usando / AH = 9 você deve conjunto de caracteres do dólar no final do mesmo e iniciar a impressão do endereço DS: DX + 2.
exemplo:

org 100hmov dx, offset buffermov ah, 0AHInt 21himprimir jmpdb buffer de 10,?, 10 dup ('')impressão:xor bx, bxmov bl, buffer [1]mov [bx 2] buffer, '$'mov dx, offset tampão + 2mov ah, 9Int 21hret
a função não permite a inserção de caracteres mais do que o tamanho do buffer especificado.veja também int21.asm em c: \ emu8086 \ exemplos
INT 21h / AH = 0Bh - obter o status de entrada;retorno: AL = 00H se não de caracteres disponíveis, AL = 0FFh se o personagem está disponível.
INT 21h / AH = 0Ch - buffer de teclado flush e ler a entrada padrão.entrada: AL = número de função de entrada para executar após tampão de lavagem (podem ser 01h, 06h, 07h, 08h, ou 0Ah - para outros valores do buffer é liberado, mas nenhuma entrada é tentada); outros registros, conforme apropriado para a função de entrada selecionado .
INT 21h / AH = 25h - conjunto de vetores de interrupção;entrada: AL = número de interrupção. DS: DX -> novo manipulador de interrupção.
INT 21h / AH = 2Ah - get data do sistema;retorno: CX = anos (1980-2099). DH = mês. DL = dia. AL = dia da semana (00h de domingo =)
INT 21h / AH = 2Ch - obtém o tempo do sistema;retorno: CH = hora. CL = minutos. DH = segundos. DL = 1 / 100 segundos.
INT 21h / AH = 35h - get vetor de interrupção;entrada: AL = número de interrupções;retorno: ES: BX - manipulador atual> interrupção.
Sistema de arquivos DOS é emulado em c: \ emu8086 \ Vdrive \ x (x é uma letra de unidade)
Se nenhuma letra de unidade é especificada e diretório atual não é definido, então c: \ emu8086 \ MyBuild caminho \ é usado por padrão. FLOPPY_x arquivos são emulados independentemente do sistema de arquivos DOS.
Nota: O sistema de arquivos DOS limita a nomes de arquivos e diretórios a 8 caracteres, extensão é limitado a 3 personagens;exemplo de um nome de arquivo válidos: myfile.txt (nome do arquivo = 6 caracteres, extensão - 3 caracteres). extensão é escrito depois do ponto, não há outros pontos são permitidos.
INT 21h / AH = 39h - faça diretório.Entrada: DS: DX -> caminho ASCIZ; zero string terminada. exemplo:

org 100hmov dx, offset filepathmov ah, 39hInt 21h
ret
filepath DB "C: \ mydir", 0; caminho a ser criado.final
O código acima cria c: \ emu8086 \ Vdrive diretório mydir C \ \ se for executado pelo emulador.
Retorno: CF claro se AX sucesso destruído. CF definido no código de erro erro = ax.Nota: todos os diretórios no caminho dado deve existir, exceto a última.
INT 21h / AH = 3AH - remove diretório.
Entrada: DS: DX -> ASCIZ caminho do diretório a ser removido.
Retorno:
CF é claro se for bem sucedida, AX destruídos CF é definido no erro AX = código de erro.
Notas: O diretório deve estar vazio (não deve haver arquivos dentro dela).
INT 21h / AH = 0Eh - unidade padrão de seleção.
Entrada: DL = disco novo padrão (0 = A:, 1 = B:, etc)
Retorno: AL = número de letras de unidade potencialmente válidas
Notas: o valor de retorno é o presente maior unidade.
INT 21h / AH = 3Bh - Diretório conjunto atual.
Entrada: DS: DX -> ASCIZ caminho para se tornar o diretório atual (máximo de 64 bytes).
Retorno:
Carry Flag é claro se for bem sucedida, AX destruído.Carry Flag é definido no código de erro erro = ax.Notas: O mesmo nome do novo diretório inclui uma letra de unidade, a unidade padrão não seja alterada,somente o diretório atual na unidade.
INT 21h / AH = 19h - obter unidade padrão atual.
Retorno: AL = drive (0 = A:, 1 = B:, etc)
INT 21h / AH = 47h - obter o diretório atual.
Entrada:
DL = número da unidade (default = 00h, 01h = A:, etc)DS: SI -> buffer de 64 bytes para o caminho ASCIZ.
Retorno:
Carry é claro se for bem sucedidaCarry é acionado em caso de erro, AX = código de erro (0Fh)
Notas:
o caminho retornado não inclui uma unidade ea barra invertida inicial.
INT 21h / AH = 3Ch - criar ou truncar arquivo.
Entrada:
CX = arquivo atributos:


 
mov cx, 0; normal - sem atributos.
 
mov cx, 1; somente leitura.
 
mov cx, 2; escondido.
 
mov cx, 4; sistema
 
mov cx, 7; sistema oculto e somente leitura!
 
mov cx, 16; arquivo
DS: DX -> ASCIZ nome.
Retorno:
CF claro se for bem sucedida, AX = arquivo identificador.CF definido no código de erro erro = ax.
Nota: Se o arquivo especificado existe ele é excluído sem aviso.
exemplo:

org 100hmov ah, 3chmov cx, 0mov dx, offset filenamemov ah, 3chInt 21hjc errarmov punho, machadok jmpNome db "myfile.txt", 0lidar com dw?err:; ....k:ret


INT 21h / AH = 3Dh - Abrir arquivo existente.
Entrada:
AL = modos de acesso e partilha:

mov al, 0; lermov al, 1; escrevermov al, 2; de leitura / gravação

DS: DX -> ASCIZ nome.
Retorno:
CF claro se for bem sucedida, AX = arquivo identificador.CF definido no código de erro erro = ax.
Nota 1: O ponteiro do arquivo é definido para o início do arquivo.Nota 2: O arquivo deve existir.
exemplo:

org 100hmov al, 2mov dx, offset filenamemov ah, 3DHInt 21hjc errarmov punho, machadok jmpNome db "myfile.txt", 0lidar com dw?err:; ....k:ret


INT 21h / AH = 3Eh - fechar o arquivo.
Entrada: BX = identificador de arquivo
Retorno:
CF claro se for bem sucedida, AX destruído.CF definido em caso de erro, AX = código de erro (06h).
INT 21h / AH = 3Fh - leitura do arquivo.
Entrada:
BX = arquivo identificador.CX = número de bytes para ler.DS: DX - reserva> de dados.
Retorno:
CF é claro se for bem sucedida - AX = número de bytes realmente lidos; 0 se a EOF (fim de arquivo) antes de ligar.CF é definido no código de erro erro = ax.
Nota: os dados são lidos no início posição atual do arquivo e da posição do arquivo é atualizado depois de uma bem sucedida ler o AX retornado pode ser menor do que o pedido CX se uma leitura parcial ocorreu.

  
INT 21h / AH = 40h - escrever no arquivo.
Entrada:
BX = arquivo identificador.CX = número de bytes para escrever.DS: DX -> Dados para escrever.
Retorno:
CF claro se for bem sucedida; AX = número de bytes realmente escritos.CF definido em erro; AX = código de erro.
Nota: Se CX é zero, não há dados escritos, e o arquivo é truncado ou estendido para os dados da posição atual é escrito no início a posição do arquivo corrente, ea posição do arquivo é atualizado depois de uma gravação bem-sucedida a causa usual para AX sobre o retorno é um disco cheio.
INT 21h / AH = 41h - ficheiro de excluir (desvincular).
Entrada:
DS: DX -> ASCIZ nome (sem curingas, mas veja notas).
retorno:
CF claro se for bem sucedida, AX destruído. AL é a unidade de arquivo que foi excluído (sem documentos).CF definido no código de erro erro = ax.
Nota: O sistema não apaga os dados do arquivo, ele simplesmente se torna inacessível, pois a cadeia FAT para o arquivo é limpo apagar um arquivo que está aberto no momento podem levar à corrupção de arquivos.
INT 21h / AH = 42h - SEEK - posição do arquivo conjunto atual.
Entrada:
AL = origem do movimento: 0 - início do arquivo. 1 - posição atual do arquivo. 2 - fim do arquivo.BX = arquivo identificador.CX: DX = offset de origem da posição do novo arquivo.
Retorno:
CF claro se for bem sucedida, DX: AX = Posição novo arquivo em bytes desde início do arquivo.CF definido em caso de erro, AX = código de erro.
Notas:
e 2 de origem 1, o ponteiro pode ser posicionado antes do início do arquivo, nenhum erro é retornado, nesse caso, mas as tentativas subseqüentes para ler ou escrever o arquivo irá gerar erros. Se a nova posição está para além do fim do atual arquivo, o arquivo será estendido até a próxima gravação (ver AH = 40h).
exemplo:

org 100hmov ah, 3chmov cx, 0mov dx, offset filenamemov ah, 3chInt 21h; criar o arquivo ...mov punho, machado
mov bx, punhomov dx, offset dadosmov cx, data_sizemov ah, 40hInt 21h; escrever no arquivo ...
mov al, 0mov bx, punhomov cx, 0mov dx, 7mov ah, 42hInt 21h; procurar ...
mov bx, punhomov dx, offset buffermov cx, 4mov ah, 3FhInt 21h; leitura do arquivo ...
mov bx, punhomov ah, 3EHInt 21h; fechar o arquivo ...ret
Nome db "myfile.txt", 0lidar com dw?dados db "arquivos Olá!"data_size dados = $ offsetdb buffer 4 dup ('')



INT 21h / AH = 56h - arquivo renomear / mover arquivos.
Entrada:
DS: DX -> ASCIZ nome do arquivo existente.ES: DI -> ASCIZ novo nome.
Retorno:
CF claro caso de sucesso.CF definido em caso de erro, AX = código de erro.
Nota: permite mover entre diretórios na unidade lógica só mesmo; arquivos abertos não devem ser renomeados!
INT 21h / AH = 4Ch - retornar o controle para o sistema operacional (parada do programa).
Voltar ao Topo

interrompe o driver do mouse - INT 33h


INT 33h / AX = 0000 - ininialization mouse. qualquer ponteiro do mouse anterior é oculto.
retorna:

    
se bem-sucedido: AX = 0FFFFh e BX = número de botões do mouse.
    
Se falhou: AX = 0
exemplo:

mov ax, 033h int
Veja também: mouse.asm nos exemplos.
Voltar ao Topo AX INT 33h = / 0001 - ponteiro do mouse show.
retorna:

    
nada.
exemplo:

mov ax, 133h int



Voltar ao Topo INT 33h / AX = 0002 - ocultar ponteiro do mouse visível.
retorna:

    
nada.
exemplo:

mov ax, 233h int



Voltar ao Topo INT 33h / AX = 0003 - conseguir a posição do mouse eo status dos seus botões.
retorna:

    
Se o botão esquerdo é baixo: BX = 1
    
Se o botão direito é baixo: BX = 2
    
se ambos os botões estão abaixo: BX = 3
    
CX = x
    
DX y =
exemplo:

MOV AX, 333h int
; Nota: No modo gráfico 320x200 o valor de CX é dobrada. mouse2.asm ver nos exemplos.