Movimento de dados
Eu estou alistando algumas instruções da língua de conjunto para operações dos dados aqui para seus conhecimento e conveniência, quando nós estaremos fazendo a programação com a ajuda das interrupções e das outras operações que do BIOS nós necessitaremos seus princípios.
A introdução detalhada e o estudo completo da língua de conjunto são além do limite deste livro. Embora o conhecimento dos princípios do conjunto é necessário para proseguir nos capítulos de programação importantes mais adicionais contudo se você o sente difícil de compreender todas as instruções, você não necessita preocupar-se mas recomenda-se que você deve ganhar a idéia básica das instruções.
Em todo o programa é necessário mover os dados na memória e no processador central regista e há diversas maneiras fazer isto. pode copí dados na memória a algum registo, do registo - - regista, de um registo a uma pilha, de uma pilha a um registo, para transmitir dados aos dispositivos externos as well as o versa vice.
Este movimento dos dados é sujeito às réguas e às limitações. Os seguintes são alguma delas:
- Não é possível mover diretamente dados de uma posição de memória para outra. É necessário a primeiramente move os dados da posição da fonte para um registo e então do registo para o locality do destino.
- Não é possível mover uma constante diretamente para um registo do segmento; primeiramente deve ser movido para um registo no processador central.
- É possível mover blocos dos dados por meio das instruções de MOVS, que copía uma corrente dos bytes ou das palavras. MOCSB que copía bytes de n de uma posição às palavras outro e das cópias n de MOVSW de uma posição a outra. As últimas duas instruções fazem exame dos valores dos endereços definidos pelo DS: SI como um grupo dos dados a mover-se e do ES: DI como o localization novo dos dados.
Para mover-se os dados lá são também estruturas chamadas as baterias, onde os dados são introduzidos com a instrução do impulso e extraídos com a instrução do PNF. Em uma pilha que os primeiros dados a ser introduzidos são último nós podemos fazer exame, este está, se em nosso programa nós usarmos estas instruções:
PUSH AX
PUSH BX
PUSH CX
Retornar os valores corretos a cada registo neste momento de fazer-lhes - exame da pilha d é necessário fazê-la na seguinte ordem:
POP CX
POP BX
POP AX
Para a comunicação com os dispositivos externos o comando da saída é usado emitir a informação a um porto e no comando ler a informação recebida de um porto.
A sintaxe do comando da SAÍDA é:
OUT DX,AX
Onde DX contem o valor do porto que será usado para a comunicação e o MACHADO contem a informação que será emitida.
A sintaxe do no comando é:
IN AX,DX
Onde o MACHADO é o registo onde a informação entrante será mantida e DX contem o endereço do porto por que a informação chegará.
|