Você está na página 1de 304
HU ! ath MU MA " ia tl UU WM M WL | WL li \ TU ON ANAL MMi i i : MH rn * Ni ene Pa oe ee DT aS (| (i i ] H ] UVP GVA MT I, i H i mr Holt : i ven ator vicTOR CTA repacio Dirtora Editorial ra Rodrigues Editor chet: Palo Alea dlr de text: Clio AV Cavalcanti ‘Asaatentes de Arte: Alloa era Lopes Dnacy M Sag Sout Mari de Olvera, race A Arua, Wowie Lesion Cara Seeretra de Redagi /Coordnadora: Sean Cras ‘Seeretrion de Redago: Beatz Hogs Jose Heneio Ove Dania Mara e Laude Cava, Marsa Sours Ge Andrade Maur de Queer ‘Serer Gri: Antoaio ke Fito ES Consultor Editorial Responsive: Reto WE Sabai ami da Execigi Eitri: DATAQUESTAsesora en Iola Lis Campinas SP Tage Mari enc ti Adaptor ered: Ai Pi Net kona fm Manske Ton fa def ne er eee Sata Act re Opn an ono COMERCIAL, Dirtor Comercial: Raber Noise Gerente Comercial: Fivio Feruco Msc (erent de Creag Dense Maria Moo! (Gren Prodan: Suns de lipresdo: lo Roero Boron ruta fete Corenaer Beier Cha Preparadores de Texto: Ana Maria ier, Aono Fane d lve Raia Ap Grech, Leven Yau, Mara Tereza Gala Pal Feip Mende Revi) Core os is Revisors:oncio Apareia Gai, abe Late Comarga Liga Apaeié let Mara do Carmo ere ote, Mara Luiza Stes, Maria Tress Mars Lopes © Marsal Cavendish Lied, 1988/8. ‘Goa Nova Carl Li, Sto Paul, Bras 156. ‘igo raza pla tora Nova Cura Li, (Qe Ida Lei 8, de 14121973, {Et ao compet AM rode Gras Lia ges a Deis rea da Era Abi SA SUMARIO Escreva cartas sem esforco 17 Organize as suas colecdes (1) 68 Organize as suas colecdes (2) 81 Ponha ordem em suas contas 134 Retina seus dados em grificos 181 Um professor de datilografia 253 Datilografia: alfabeto completo 276 Melhore a sua datilografia 281 Programacdo em cédigo de maquina 1 Aprenda a contar com um dedo s6 34 Aprenda aritmética hexadecimal 56 Como entrar cidigo de maquina 88 No coragdo de um micro 109 Abaixo de zero 142 Memérias sdo feitas assim 174 Tradugaé manual do Assembly 196 Programas em cédigo de maquina 213 Assembler para 0 Apple 238 Assembler para o Spectrum 248 Assembler para 0 TRS-Color 296 ‘Como descomplicar SAVEs ¢ LOADs 53 Joysticks 287 Niimeros ao acaso 11 A arte de fazer lagos 21 Ensine seu micro a tomar decisdes 41 ‘As placas de sinalizagao 76 Programe jogos a cores 86 Q que sdo varidveis 96 ‘Como desenhar em Basic 113 Os comandos READ e DATA 128 Faca programas mais curtos 141 Ordem e limpeza no video 146 E agora... O que fazer? 161 Crie sprites no MSX 188 Conjuntos: caixas de informagao 192 Conjuntos de duas dimensdes 201 Como estruturar seus programas 221 Recursos graficos sofisticados 232 Cadeias de caracteres 241 Codigo de controle 260 Os comandos PEEK e POKE 261 Mais cédigos de controle 269 Ordenacdo pelo método de bolhas 292 ‘Animacdo e sinais graficos 4 Apontar... fogo! 28 Divirta-se com labirintos 46 Marque 0 tempo ¢ os pontos 61 Ataque extraterrestre 101 Bombardeios ¢ explosdes 121 Torne 0 jogo mais dificil 153 Quebre a barreira do som 168 Como planejar uma aventura 208 © mapa da aventura 226 ‘Como movimentar o aventureiro 270 Utilizado na programagao de jogos, 0 cédigo de maquina proporciona uma ago répida e continua. ‘Antes de empreyé-lo, porém, voce deve saber como ele afeta 0 desempenho do seu computador. O BASIC constitui sem divida a mais difundida e popular linguagem de pro- gramacao. Universalmente-conhecido, ele & facil de aprender e pode ser adap- tado a diferentes méquinas. Seus pro- gramas, contudo, ocupam grandes espa- 0s de memoria € permitem apenas um Movimento de cada vez. Assim, se um canhao atira, num jogo de guerra, o res- to da agdio tem que esperar, mesmo qu seja por uma fracdo de segundo. OBASIC usa palavras da linguagem humana, tiradas do inglés, e operagdes semelhantes as da aritmética, féceis de compreender. Mas seu computador nao pensa em ingiés nem entende os simbo- los aritméticos. Ele opera baseado ci impulsos elétricos que representam ni eros, E essa conversio € a causa de sua lentidao ao trabalhar com 0 BASIC. ‘Cédigo de maquina é uma linguagem computacional composta apenas de ni- eros equivalentes aqueles que o com: putador utiliza. Assim, quando voce Emprega esse codigo ndo deve esperar que o computador responda em lingua- gem humana Consideremos um exemplo extraido dos computadores compativeis com 0 Sinclair Spectrum; 0 cédigo de méqui- na se parecerd com isto: B9 28 08 Em BASIC o equivalente 100 IF A=c THEN GoTo 190 cédigo de maquina consiste, desse modo, numa série de ntimeros de dois digitos. A letra B da linha acima é, na realidade, um simbolo. Ela representa ‘© miimero 11, em notagao hexadecimal. Esses ntimeros hexadecimais séo in- troduzidos na meméria do computador. Instrugdes de operacdo, dados, nime- ros, letras, palavras e enderegos de me- méria so representados por sinais de dois digitos. E 0 computador ide a diferenga entre essas informacdes pe- la ordem em que eles ocorrem no pro- grama. Por exemplo, o primeiro niime- ro em qualquer progran p sentar uma instrucao. Se, por engano, voce digitar um miimero qualquer nesse ponto, representando um dado ou um ‘endereco de algum dado, o computador tentara interpreta-lo como uma instru- Gio valida, A digitagdo desses nuimeros exige, portanto, uma precisdo absoluta; aso contrario, o programa nao funcio- nara (Mines Quando vocé digita uma linha em BASIC, 0 computador tem que transp6- la para sua propria linguagem, antes de executd-la, Este é um processo trabalho- so que toma muito tempo, pois uma ins trugaio em BASIC raramente € traduz da para um s6 comando ou declaragao ‘em cédigo de maquina. Ela resulta, com freqiléncia, em varios cédigos de ope: ragao. O.QUE E CODIGO DE MAQUINA? M_ VANTAGENS EM RELACAO AO BASIC. COMO COMPREENDER CODIGO DE ‘OPERACAO E LINGUAGEM ASSEMBLER. Quando se executa um programa completo escrito em BASIC, cada linha tem que ser interpretada seqiiencialmen: te. O computador nao armazena os re- se a mesma li- nha for executada novamente, 0 com: putador tera que interpreta-la outra vez. Sempre que 0 computador encontra o em BASIC, executa as se guintes tarefas ‘* reconhecer a instrugao em BASIC; © traduzir essa instrugao para uma sé- rie de outras em cédigo de maquina; © executar as instrucdes, uma a uma; © passar para a préxima linha do pro- grama em BASIC. Repetido muitas vezes, esse proces: so torna-se lento e moroso. E possivel, porém, compilar um programa em BA- SIC, isto é, traduzi-lo integralmente pa- ra cédigo de maquina, de uma s6 ver, antes de executé-lo, armazenando a tra~ dugdo. A compilacdo é mais eficiente ES que a interpretacdo, mas os programas resultantes sao ainda bastante lentos. Em contrapartida, a traducio do programa em c6digo de maquina dire- tamente para a operacdo interna do computador quase nao consome tempo. Nesse caso, hd uma simples conversao de um numero em outro, endo a tradu- 40 de um comando de linguagem em Varios outros de cédigo de maquina. Os programas tornam-se, assim, mais cur tos ¢ eficientes, (Os programas abaixo fazem a mes- ma coisa, usando BASIC e cédigo de maquina. Compare suas velocidades re lativas, 10 CLEAR 200,31000 20 DEFUSRO=31000 30 FOR N=31000 To 31015 40 READ A 50 POKE N.A 60 NEXT 70 cLs0 80 PRINT €0,"ISTO ESTA EM BASIC 90 FOR Nol TO 500:NEXT 100 FOR N=1056 70 1535 110 POKE N, PEEK(N+34000) 120 NEXT 130 FOR Nel TO 1000:NEXT 140 cLso 150 PRINT @0, "ISTO ESTA EM coor Go DE MAQUINA.” 160 FOR N#1 TO 1000:NEXT 170 NeUSRO(0) 180 FOR N=1 70 2000:NEXT 190 DATA 206,136, 240,142,4,32,1 66.192,167,128,140,6,0,38,287,5 > Atengio: 0 programa abaixo esta es- crito em BASIC para computadores com o sistema DOS (disquete) e nao se- 4 aceito pelo BASIC nivel I normal (cassete) Ao ligar a maquina, responda com 0 riimero 60000 @ pergunta “*Mem.usa- da?”, ou ainda “Memory size?” (para computadores com 48 Kbytes de memd- ria apenas), 10 cts 20 DEFUSRO=~4536 30 FOR N=-4356 To 40 READ A 50 POKE N,A 60 NEXT 70 cLs 80 PRINT "ISTO ESTA EM BASIC” 90 FOR T=1 TO 500:NEXT 100 FOR N=15360 TO 16383 110 POKE N65 120 NEXT N. 130 FOR Nel 70 1000:NEXT 4523 140 cus 150 PRINT "ISTO ESTA’ EM LIN- GUAGEM DE MAQUINA™ 160 FOR Nel TO 1000:NEXT 170 NeUSRO (0) 180 FOR I=] To 2000:NEXT 190 DATA 33,0,60,17,1,60,1,255, 3,54,65,237,176,201 10 CLEAR 29999 20 FoR n-30000 To 30011 30 READ a 40 POKE na 50 NEXT ni. 60 PRINT "Isto esta em BASIC” 70 FOR n=16384 TO 22527 80 POKE n,PEEK (n-16384) 90 NEXT n 100 cls 110 PRINT “Isto esta em Codigo de Maquina” 120 PAUSE 100 130 RAND USR 30000 140 STOP 150 DATA 33,0,0,17,0,64,1,0,24 237,176, 201 mM 10 CLEAR200, 8DFFF 20 DEFINTA-2 30 AD=LHEOOO: DEFUSR=AD 40 FOR T-0TOLO 50 READAS 60 POKE ADtI,VAL("&H"+AS) 70 NEXT: 80 DATAOE, 98, £,6B,0,1,06,FF,ED :B3,C9 90 cis 100 PRINT "Isto esta em BASIC" 110 FOR T#1 TO 1000:NEXT 120 SCREEN 2 130 PSET (0,0) 140 FOR I=1'TO 6144 150 OUT 152,RND(1)*255 160 NEXT I 170 CLs 180 SCREEN 0 190 PRINT"Isto esta em codigo 4 @ maquina” 200 FOR I=0 TO 1000:NEXT 210 SCREEN 2 220 PSET(0,0) 230 FoR Ini To 25 240 A-UsR(B) 250 NEXT. 260 GoTo260 wits) 5 HOR : HOME : VTAB 24 10 FOR I = 800 TO 836 1S READ N 20 POKE 1. 25° NEXT 30 PRINT "Isto esta em BASIC" 35 FOR I = 1 To 300: NEXT 40 FOR I = 8100 To 14000 45 POKE 1, RND (1) * 256 50. NEXT 55 TEXT : HGR : HOME : UTAB 24 PRINT “Isto esta em linguagen de maquina” 60 FOR I = 1 70 3000: NEXT 65 CALL 800 70 DATA 169,0,133,20,133,22,1 69,32 80 DATA 133,21,169,193,133,23 +160, 255 90 DATA 177,22,145,20,136,208 +249,165 400 ‘pata 21, 201,63,208,1,96,2 30,21,230,23,76,48,3 Como vocé vai ver, tudo que o pro- grama faz é encher a (ela de caracteres a0 acaso ("“lixo”, na giria dos progra- madores). Entretanto, a velocidade com ‘que a verso em linguagem de maquina faz isso & incomparavelmente maior do que a do programa em BASIC. MEE A grande dificuldade do cédigo de maguina surge quando se quer escrevé- lo ou depurd-lo de ertos. Poucas pessoas conseguem lembrar-se de todos 0s c- digos numéricos ¢ instrugdes. Para com plicar ainda mais, os cédigos de opera ‘eo (opcodes) nao sao distinguiveis dos ‘outros niimeros que alimentam 0 com- putador. Assim, voc’ ndo consegue en tender um trecho de programa, a nao ser que 0 acompanhe desde o comeco — 0 que nio ajuda quando se esté procuran: do erros no programa. (Os cédigos numéricos de operacao; ‘além disso, diferem consideravelmente entre 'si, conforme o microprocessador que é usado no computador, de modo que traduzir programas em cédigo de miquina de um tipo de computador pa- ra outro pode ser bastante dificil. Uma forma de contornar esses obs taculos é subir um pouco mais de nivel, € escrever 0 programa em uma lingua’ ‘gem mais facil de se utilizar do que 0 c6-

Você também pode gostar