You are on page 1of 1
sit de num venos tageo onde ética aldo ‘er? loce ume dao olver woe come as80 ‘iliza an bela yes Ana tivo 30a 108, Capttulo 10 Conjustos de insides: cxraceretiasefuncdes BS ‘Agora, suponha que tenhamnos 0 EBCDIC para os digitos 1984 comegando no focal 2100 e queiramos traduzir para IRA, Considere 0 sequinte: * Locals 2100-2103 contém F1 F9F8 FA, = RY contem 2100, © R2contém 1000. Ent, se executarmnos TRRI (4), R2 15 lacais 2100-2103 terdo 3) 3938 34, i Be Entrada/saida As instrugdes de entrads/saida foram discutidas com alguns detalhes no Capitulo 7. Como vimos, existern di- versas técnicas que pocier ser usadas, incluinda E/S programada independente, £/S progremada mapeada na meméria, DAMA e 2 uso de um pracessador de £/5, Muitas implementagdes oferecem apenas algumas Instrucoes ide £/5, com acbes espectlicas ditadas por pardmetros, cbdigos ou palavras de comando. Ba Controle do sistema ‘As instrugées de controle do sistema so aquelas que podem ser executadas apenas enquanto o processacor esté em um certo estado privilegiado ou esté executando um programa em uma area privlegiaca especial da me~ rmiétia, Normalmente, 3895 instrugbes s80 reservadas para 0 uso do sistema aperacional ‘Alguns exemplos de operagbes de controle do ssterna sfo os seguintes. Urnainstrucso de controle do sistema pode ler ou alterar un registracor de conttole, ciscutimos os registradores de controle no Capitulo 12. Outro exemple é uma instrugSo para lerou madifcar uma chave ce protegdo de armazenamnento,comoa que é usada no sistema de memérie io EAS/390, Cutro exemplo & 0 acesso para procestarblocos de controle em um sistema muliprogramado. a Transferéncia de controle Para todos 08 tipos de oneragio discutidos até aqui, a préxima instrucso a ser realizada ¢ aquela que, na me- éria, vem imediatamente apbs @ instrucBo atual. Porém, urna fracéo significative das instrugGes em um programa ‘em como fungio mudar a sequéncia de execucao de instrugbes. Pare essas instrusdes, a operacho realizad pelo processadoré atualizar 0 contador de programa para conter o endereco de alguma instrugso ne meméria, Baéstem varios motivos pelos quais as operacdes de transferenicia de controle s8o nacessérias, Entre 05 mais importantes estdo os seguintes: 1. No uso prético dos computadores, & essencial poder executar cada instrugao mais dé urna vez e,talvez, ‘muitas mihares de vezes. Poem ser necessétias milhares ou talvez mithdes de instugées para implementar ‘uma aplicacio. Sera impensavel se cada instrugao tivesse que ser escita separedamente, Se ume tabela OU ‘uma lista de itenstiver que ser processada, um loop de programaé necessévio, Ume sequéncia de instracées é executada repetidanente para processar todos os dados. Praticamnente todos os programas envalvem alguma tomada de decisso, Gostarfamos que o computador fzes- se uma coisa se urna condi¢ao for verdadeira @ cutre coisa se outta condicio for verdadeite, Por exemplo, uma sequencia de instrucdes calcula a raiz quadrada de um nimero, No Inicio da sequéncia, 0 sinal do numero & testado. Seo numero for negativo, 0 célculo no € realizado, mas uma condigao ce erro 8 informads. Compor cortetamente um programa de computador de tamanho grande, ou mesmo médio, é uma tarefa extiemamnente dificil € util que haja mecanismos para dvd a tarefa em pedagos menares, que possam ser trabalhedos um de cada ver. Agora, varnos passar a uma discussio das operacoes de transferéncia de controle mais comuns encontradas 1nos coijuntos de instrugoes: desvio, salto e chamada de procedimento. INSTRUGOES DE DESVIO Uma insirusao de desvio, também chemada de instrugSo de salto, tem como um de seus operandios o endereco da préxima instrugo a ser executads. Normaimente, € uma instrusio de desvio condi- ional, ou s2j2, 0 desvio é tomado fatualizar o contactor de programa para que see igual ao enderego especificado no operanda) somente se 2 condicao for atendide. Caso contréria a préxima instrucdo na sequéncia & executada

You might also like