Manual do Microcomputador R-470
Manual do Microcomputador R-470
....
R-470
_.;. ,..:; ~ _:,
....
_...
_::t
~ ...:J ~ ~
~ .
RITAS DO 13RASIL
1983
1? edio:;60
-
-
-
-
-
_.
-
-
-
..
..
-
TodOS os direiLOS 500 reservodos. sendo protbldo a reproducoo total au parcial deste manual.
A Ritos do Orosil reservo-se a direito de clreror quolquer dado tecnico. tonto do aporelho como do manual. sem previa aviso.
,
INDICE
1 . INTRODUC;:fo.O 5
2. ESPECIFICA(OES 7
J. COMO EO R·470 11
4. CONHECENDO 0 SEU Mimo 15
4.1. Chove LlGA·DESLIGA 16
4.2 Teclos ALFAGETICAS E NUMERICAS 16
4.J.TecloSHIFf 16
4.4. Tecla ENTEr. 16
4.5. Tecla FUNGION 17
4.6. Tecla GRAPHICS 17
4.7. Tecla INVERSE ViDEO 17
4.8. Tecla ESPA(O·[lr\EAK 17
4.9.CURSORES 17
5. MANUTEN(AO DO MICROCOMPUTADOR r\-470 19
6. PROGRAMAC;:AO INSTANTANEA 21
7. CALCULOS IMEDIA TOS 25
7.1. Operocoes odtmetlccs 26
8. A MISTEi\IOSA ARTE DA PROGRAMAC;AO 29
8.1.0 que e um progromo? 30
8.2. Como fozel um progromo 30
8.3. Unhos de progromo J2
8.d Edi(oo J2
8.5. Correcoo de hnhos de prcqrorno 3J
9. APROFUNDANDO SEUS CONHECIMENTOS J7
9.1. Inicio de progromo (NEW) . . 38
9.2. vorlovets (0 que 500 vonovels - NUMERICAS E ALFANUMEf1.ICAS.
LET, Monipula<;da de voricvets ononurnencos - SU[)·STRI NG. CLEAR) 38
9.3. Utilizoo:;do do tela (Pf\INT, ASPAS. ASPAS·ASPAS, AT. TAG. PONTO E Vil~GULA
ViRGULA. SmOLL. CLS) . 41
9.4. lntroducco de dodos (INPUT. INKEY~) 47
9.5. Camandas aperocionois (RUN, REM. STOP, ClREAK. CONT. LIST) 49
9.6. Desvios (GOTO. FOR TO·NEXT·STEP) 51
9.7. Func;6es rnorernoucos e cienrificos mND. RAND, SGN. AClS, SQR. PI ( " ), Funcoes
tnqonornerrlcos. Funcoes loqoritrnlcos. INT) 54.
9.8. Testes (Operodores rnoternoticos. IF-THEN) 59
9.9. Sub-rorlnos (GOSU[l-RETURN) 60
9.10. Grofkos (PLOT, UNPLOT. Sfmbolos graficos) 62
9.11. Velocidode de processornento (FAST, SLOW, PAUSE) 65
9.12. Operocoes lcqlccs (NOT, AND. OR) 67
9.13. Motrizes (DIM) 69
9.14. Operocoes com vorlovels oltonurnerlcos (LEN, Smi. VAl. CHR$, CODD 71
9.15. Fila cossere (Arrnozenornento em fito. SAVE, LOAD) 74
9.16. lmpressoro (COpy, LPRINT. LUST) 77
9.17. C6digo de m6quino (Linguogem de rnoquino. Sistemas numericos) 77
10. PENETr,ANDO NASMEMOr,IAS DO r\-470 81
10,1.PEEK 82
10.2. POKE 82
10.J. USR 8J
1 0.4. Organ i zccco de rnernori a 84
10.5. ProcessomentQ interno do RINGO 86
10.6. Vorioveis do sistema 90
11. APENDICES 93
11 .1 . Codigo des corocteres 94
11.2, Assembler Z·80 95
GrupoCG 96
Grupe LA .• Grupe DD CO Grupe FD Grupe FD CO Grupe ED
11 . .3. Resumes <Resume dos funcoes, Operccoes rnoternoucos. Pnoridodes de execucoo. Resuma des cornondos)
11.4. C6digos de reportcqern
mONICA
98 101 105
l
97 97 97 97 97
-
-
~ I
•
..
•
-
"""
1. INTRODU~O
6
PARABENS: Voce ocoba de odquirir 0 nosso pequeno, mas poderoso MICROCOMPUTADOR R-470, 0 "RINGO".
BOA SORlE a voce e a seu novo amigo.
o MICROCOMPUlADOR R-470 Ihe oferece as seguintes carocteristicos:
• Acoplovei a um televisor bronco e preto ou em cores, sem necessidade de odoptocces.
• Acopiovel a quolquer gravador cossete que possua entrada AUX. e saido EAR, paro a leituro eo ormozenamento de programas em fltos. Estes programas devem ser feitos par voce ou odquiridos nos lojas especializodos, devendo ser compativeis com 0 RINGO.
• Teclodo expandido com 49 teclos que possibilitorn uma edi<;oo mois eficiente dos programas, sendo que. em funcces especificas, exlste 0 recurso do repeticco. ou sejo, enquanto a redo estiver pressionodo, a tuncoo se repeurc. oproximadomente, 3 vezes por sequndo.
• Umo tedo exclusive pore a lnversco de video, tornondo 0 fundo do tela bronco com os corocteres preros.
• Func;6es moternctlcos e cientificos colculodas em ponte flutucnte com 8 olgorisrnos significotivos.
• Recursos de utilizocdo grofica (PLOT e UNPLOT).
• Comandos para 0 utilizocoo e execucoo de programas em linguagem de rnoquina (PEEK. POKE e USR).
• Duos velocidodes de operocoo.
• Umo versco de linguogem BASIC que fornece comprimento voriovel de linha, orronjos. series de progromas e muitas outros corccteristkos avanc;odos.
• Possibilidode de exponsco do rnernorio 0 48 Kl3ytes.
• Conector de soida poro JOYSTICK (Monoplo para 0 comondo de jogos onimodos).
• Permite ocoplamento de um MODEM Cmodulodor - dernodulcdor). que posslbilitoro cornunicocoo com outro RINGO otroves de umo linho telef6nico.
• Sintetizodor de sons opcional, acopl6vel 00 oporelho. que permite a crlocoo de efeitos sonoros especiois sob a controle do progroma, sem a necessidode de umo coixo ccustico. pais a MICROCOMPUTADOR R-470 possui um exclusivo conal de sam, que perrntte que os sons gerodos sejom reproduzidos pelo propria televisor.
• Cortuchos de progromas "INSTANT SOFT" que substituern as jo tradicionais fitas cossete. Suo principal vontoqern e a tempo de leituro de programa que, como diz o nome, e lnstontoneo. l3asto ocoplor 0 cortucho 00 aparelho e lig6-lo, pols a programo jo estero 6 sua total dtsposlcoo.
• Impressora opcionol.
• Fonte de olirnentocoo interna. 130sto llqor 0 RINGO 6 quolquer tomado de 110 volts, sem a necessidode de equloornentos odicionois.
Para a surgimento do R-470 foi empregodo uma ovoncodo tecnologio bem como equipamentos sofisticados e equipes de engenheiros. Mas poro fozer com que a RINGO funcione corretornente. n60 e necessaria possuir credenciais de engenhoria. Pelo controno. 0 nosso Microcomputodor e este manuol forom plonejodos para ojudor voce a conseguir urn ropido acesso 6 esse nova tecnologia.
-
....-
~. ,_;"
~
I
~
~
~ ~.
~
_::;; ~ ~
.. "?
~ ..:J _::;
_::;;
~ ~ ~ ~
-~ ~ ,...:J
~ ~
"'-I
2. ESPECIFICA~OES
8
2.1. Modelo
Microcomputador P.,·470
Nurnero de dfgitos de c6lculos: 08
Sistemas de colculo de acordo com a formula matem6tica (com prioridcde de funcoo)
Unguagem de proorornocco. I3ASIC
-
2.2. Copocidades
• CPU - NMOS 8 l3its CZ80 A) f=.3.25 MHz
• Sistemas ROM - 8 KBytes
• Copocidode de memoria RAM - 1 6 Kl3ytes
• Areas de sistemo - 1 25 Bytes (RAM)
2.3. C61culos
C61culos oritmeticos. poder de c6lculo de funcoes triqonometricos e triqonornetriccs inverses. funcoes loqorltrrucos e exponenciois. extrocco de roiz quodrodo. funcoo de sinal, obsoluto e c6lculos loqicos.
-
2.4. Tela
Tela com 241inhos e .32 colones. sendo 2 linhas reservodas para edicoo. Resoluc;:oo gr6fica otinge 64 x 48 pixels Cunidade grofieo).
2.5. Teclado
Do tipo qwerty com teclas olfonurnertcos. de edi<;00, funr;6es especificas, fun<;6es gr6fieos, comandos de execucoo oireto e mdireto.
2.6. AJimenta«So
110 Voe ± 10%
2.7. Consumo
7 WDC
2.8. Dimens6es
L = .310 mm p= 180mm H = 60 mm
~I
2.9. Acess6rios
-
-
-
9
• Cabo coaxial para lnterllqocco com 0 aparelho de TV
• Cabo blindado duplo para 0 acoplamento do gravador
• Manual de lnstrucoes
10
-
-
-
.... - ~
-
-
,.. -
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ _:;,
~ ~
.....;ZI ~ ~ ~ ~ ~ ~ _:,
~ ~ ~ .:;;
~ ~ ~ ~ ~.
,.:!J ~
,
3. COMO E 0 R-470
12
Aprecie 0 seu novo amigo,
- CHAVE LlGA/DE5L -
-
5AioA P/TELEVI50n. ----------~ 5AiDA ENTRADA P!GRAV ---------. CONEOOI"I P/CAI\TUCH05---~
(ONEOOn. pj JOYSTICK E MODEM
LP_ PILOTO ·1 I'!
•
~ ~ ~ ~ ~ ~ ~ D
'-------""'-'1'-='!!2! rnJ !4! ~ ~ [ZJ ~ ~ [iJ I mm I []J
CCH ~ jf' [!Il '""'UK ~ _.. kJ 'lEiWl IJ ~Ol ~ ~rP-l 11'l"UJ. RUIO I>II»IT
n ~.[J@ .~o~o_~ ~ ~ ~ ~ ~ r-. rn ~U"CTIC~ [X] ~ rn:J [E] em [1jJ QJ ~ [IJ § U G
- - - - - - - ~
.--- __ ----, CLUJ! CtS COtfi' SClIiOI.l .-0«.1 MElfi ~!W
SHIFT 1[Il~~[iJ~~~CJBI SHIfT I~
J..DI COOt. 'IML ~~Il III flU!
.......
I I
3.1. Conex6es
-
-
ObseNe seu Micro por tros. Voce focilmente encontroro. 6 sua esquerdo. .3 orificios.O 1? eo soido para N. Interligue 0 plug do fro coaxial (que ocomponho 0 Micro) nesto soido com a entrada de onteno do N. Antes disso. porern. desligue 0 fio do mesma. Logo em seguido, encontrorn-se 2 tomodos que servern para usar proqrornos em fito cossete: AUX e EAR, Conecte nelos 0 par de cobos com plugs (que tornbern acomponho 0 RINGO) com 0 AUX e EAR do tipo JACK femeo de urn qrcvador cornurn.
Antes de ligar seu Micro, otente para que a rede eletricc sejo de 110 volts. Coso nco tenho ocesso a esse voltogem, utiliz e-se de um tronsforrnodor.
Para que voce consigo receber a imogem emitido pelo Micra, ligue a TV e sintonize no conal J. Mexo no slntonio fino ate aporecer, 0 rnois legivel possfvel. um quadrodinho com a letra K no canto inferior esquerdo do tela (rn).
Ao digitor olgumo tedo no RINGO, aN ernitiro sons ogudos. Por isso. obaixe totolrnenre 0 volume de sorn.
~ -
,.,.:.;
- <Il
:li
1:
0
0
0
- M
_:; [8@ 000
{ \
... , -
-
-
1J
r--.
0
0
'-....,.; J
L
14
-
,-
.. ...,
--
,. .--
6'
-~
-r:
.,..
~ (ii;
6 ~ -
~
.. I
- ",I
-
~ , -
-
-
-.
4.. CONHECENDO SEU MICRO
..;:;
..
-
-
-
-
-.
16
4.1 . (hove LIGA-DESLIGA
Locolizodo no lode direito do oporelho, elo e que ociono 0 fonte de ournento~ao sltuodo em seu interior. Esto fonte e responsovel pelo fornecimento de energio a todos os componentes eletr6nicos do circuito. Portonro. 00 desligor 0 cporelho. sum mem6rias soo desativodos, perdendo-se todo 0 seu conreudo.
Com esto chove desligodo, nco e oecessono desconector a Micro do tomodo.
,
4.2. Teclas ALFABETICAS E
,
NUME.RICAS
Atroves destos teclos que introduzimos os progromos, os dodos e os comondos para que 0 Microcomputador execute 0 que for desejodo.
4.3. Tecla SHiFf
Esto e encontrodo em dois lugores no teclodo do R-470. nos dots conros inferiares.
Suo funcoo enos possibilitor a rntroducoo dos comondos locolizodos no porte superior de coda recto. Ex: FASL SLOW, STEP, AND. etc. Para que isso oconteco. procedo do sequlnre forma: pressione 0 SHIFT e. em seguido. rnontendo-o pressionodo. digite 0 teclo desejodo.
Em modo qrofico. ele nos permite utilizor os simbolos serni-qroflcos existentes sobre algumas teclos
4.4. Tecla ENTER
Todo vel. que voce digito um comondo ou linho de programo. 0 Micro openos transcreve para a tela 0 que foi digitodo. Para que 0 comondo sejo executodo ou a linho sejo introduzido no memoria, e necessaria a uultzccoo do teclo ENTER.
Podemos en tender esto teclo como sendo 0 comondo "execute", ou sejo, tudo que estiver conrtdo no 24? linho do tela CUnha de edi~ao), 56 sera executodo quando a pressionormos
-
---
....
-
-
-
-
-
--
-
-.
-
-
17
4.5. Tecla FUNGION
Esto redo exlste para que tenhamos acesso cs funcoes localizodas oboixo das tedas (impresses em ozul-escuro). Ao presslono-lo. 0 cursor tronsformo-se em "Cursor Funcoo" ( 0 ), bosrondo. em seguido, apertor a tedo desejado.
4.6. Tecla GRAPHICS
Converte 0 cursor em "Cursor Grofico" ( 00 ). Todo vez que 0 cursor estiver em modo qrcnco. se diqltorrnos quolquer letra ou nurnero. estes surotroo invertidos no tela.
Para termos ocesso oos simbolos serru-qroflcos existentes, 0 SHIFT deve ester pressionodo 00 digitormos 0 tedo correspondente. As rectos que nco possuem estes slrnbolos. 00 serem utilizados desto forma, nos perrnttlroo gerar os simbolos exlstentes em sua parte superior de forma invertido. Para que 0 cursor retorne Q condlcco anterior 00 modo grafico, pression amos, novornente , a tedo GRAPHICS.
,
4.7. Tecla I NVEP0E VI DEO
Ao ligormos 0 R·47Q, a tela do televisor cporecero escura com os corccteres em bronco. Esto teda nos permite a inversoo do tela, ou sejo, ofundo possa a ser bronco e os corocreres escuros. Pressionando-o mois uma vez, a tela voltoro Q si-
tuccoo inicial. .
4.8. Tecla ESPA(O-BREAK
loda vez que noo estivermos executondo um progroma, esto tecto rem a fun<;00 de espoco (como numo moqulno de escrever), Coso controrio, ela servlro coma comondo de lnterrupcoo. ou sejo. bloqueoro a execucoo do programo, qualquer que sejo suo struocco.
4.9.
Cursores
Ao ligor 0 seu RINGO, voce jo deve ter norodo que aporece no canto inferior esquerdo do tela 0 letro K em video inverso. Este e 0 cursor, que se opresenta de 5 modos diferentes:
1B
4.9.1.
"Cursor Comando" ( 13 )
Todo vez que 0 cursor estlver em modo K (Keyword), significo que a R-470 interpretoro a proximo redo a ser digitodo como sendo um coman do Grnpressos ocima das teclcs. em preto). Ex: Se a cursor estiver em K e operrorrnos 0 redo p, surqiro na tela 0 comanda PRINT.
4.9.2.
"Cursor l.etro" ( I! )
Em modo l (l.etrer). 0 cursor indica umo situocdo no qual redo tecla digitada sera interpretada como lerro. simbolo ou nurnero correspondente. Ex: Estando 0 cursor em L, 00 digitormos a tedo P, esro sera tnrerpretodo como sendo a proprio ietro P. Coso digitarmas a teclo P com 0 SHIFT pressionodo, estoremos intraduzindo as ospos (").
4.9.3. "Cursor Func;6o" ( ~ )
Para que possamos utilizor as func;:6es, locolizados sob os rectos (irnpressas em azul escuro), devemos converter 0 cursor para 0 modo F (FUNCTION). Para tonto, basta pression or a redo FUNCTION.
4.9.4. "Cursor Gr6fico" ( (ij )
Em modo G (Graphics) poderemos utillzor os simbolos semigraficos, como descreve 0 item 4.6.
4.9.5. "Cursor Sintoxe" ( (;] )
No easo de haver algum erro de edic;:60 em olguma linha do progroma ou eomando. 0 RINGO os identifiea otroves da (010co<;60 do cursor S (Syntax) no ponto onde houver erro de sinroxe.
-
-
~
-
-
-
-
-
-
#'tV
5. MANUTEN~O DO
MICROCOMPUTADOR
-
- R-470
-
20
Para qorontlr a operocoo peneito de seu Microcomputodor, nos recomendomos que:
- Conserve-o num lugor livre de temperoturos extremes. umidode ou poeiro.
Durante 0 tempo quente, a oporelho deixodo sob a luz direto do sol sera sujeito a deformo<;:6es do estrutura.
- Use openos um pono seco e mocio para limpar 0 seu M icrocomputador.
Ndo use solventes. aguo ou panos urnidos.
- Sornente troque os cortuchos e as expans6es com 0 aporelho desligado.
- Verifique sempre antes de lig6-lo na tom ado se a mesma e de 110 volts.
- Se for necessorio olgum reparo, 0 R-470 deve ser encominhodo openas 005
centres de services outorizodos pel a RITA5 DO I3RA5IL.
- Este manual deve ser usodo como refen?ncias futures.
-
-
...
~.
-
.. -
~
- ,..1
.1 '- 6>1
-
#"1
-
•• -
-
-
--
-
-
ftI
6. PROGRAMA~O
INSTANTANEA
-
-
-
-
-
_,.,.I
22
Este ortiqo e exdusivornenre dedicodo 65 pessoas leigas em proqrornocoo, sen do que as mesmas deveroo ter pocienclo e multo dedlcocoo cam as programos.
Se voce nco conseguir fazer esro proqrornocco imedioto, aconselhamos 0 releitura do capitula 4.
Antes de cornecor 0 programar, e necessaria seguir as exemplos obaixo, pas- 50 a passo. lsro porque 0 Micra recebe suas tnstrucoes e executo-os logo ern seguido. Esro pronto? Enroo vamos inkier.
EXEMPLO 1
Primeiromente, verifique se a Microcamputodor R-470 estcconectodo 6 tomodo e 6 televisdo. De-paiS, ligue-o orroves do chave LlGA-DESLIGA. Suo lornpodo piloro devero ocender. Ap6s 1 segundo devero oparecer 0 cursor K no canto inferior esquerdo do tela. Coso isso noo oconteco. desligue e ligue novornente ate que 0 cursor oporeco.
Representaremos a tela de seu televisor de ocordo com a llustrocoo obclxo
Digite a seguinte sequencia de teclas:
obs: paro 0 uttlizocoo do sinal (=) mantenha a redo SHIFT pressionodo, digitando em seguido a redo (U.
Usaremos a simbolo 0 paro representor a nurnero zero, diferenciando-o, assirn. do lerro O.
,-'
-
-
.. I - I
I
I~
I
....
--
~ ~ _:=:i
~ _:::l
~
-
-
23
Vomosintrodu.zir, agora, as sequintes llnhcs.
12j0ILETIAlsHIFT'J=IAJ' SHIFT I+J2IENTERJ 13101 PRINTIAIENTEHI
14101 GOTOJ'2li'IENTERJ
10 lET A = I
20 LET A - A ~ 2
30 PRINT A Q0o;l'GOTO 20
Pronto! 5eu primeiro programo esto complete. Agora, e 56 executo-lo. Poraisso digite 0 coman do HUN seguido do ENTER.
o seu proqrorno esto sendo executodo. Voce deve ter verificodo que quando chegou 00 fim do teio. ele parou e opresentou a c6digo 5/.30, significondo que codas as linhos do tela forom preenchidas e 0 programa porou no linha ,)0. Para que se continue 0 programa e multo simples: pressione as cedes CONT e ENTER que, cutomoticomente. a tela se opoooro. reiniciando a cantagem, au melhor, 0 execucoo do programa.
EXEMRLO 2
- -
Antes de cornecor este exemplo, pressione os rectos NEW e ENTER para limpor a programa anterior,
70 LET A s = "MARIA"
20 LET BI = " E CARLOS" 3(JJ PRINT A$ ,B$
40 STOP
TECLADO
[1J0JLETIAI SHIFT 1 $ I SHIFTI::I SHIFT 1 "iMIAIHiIIAlsHIFT I" IENTEHJ 2101LETI BI SHIFTr$] SHIFT 1=1 SHIFT 1"1 ESPAC;ol EJ ES.PACO]CIAIR]LJOJS/ SHIFT}" IENTERI
3101 PRINT IAI SHIFT] $1 SHIFT I; 181 SHIFTI slENTERI
--------------------------------------- --- --
24
'0 LET AS ~ "MARIA"
20 LET BS ~" E CARLOS"
30 PRINT AS; OS
40 Ell STOP
13
IRUNIENTER I
9140
-
-
•
I
7. CALCULOS IMEDIATOS
26
Este capitulo voi ensinor a voce como usar 0 R-470 em operoc;:6es oritrnetlcos Noo se preocupe, pais n60 e roo rerrivel ossim. Com a ojudo de seu Micro a motematico se torn a muito fecit,
Aproxlrne-se dele sem receio, pais voce noo podero teri-lo ou dorufico-Io sirnplesmente par pressionor quolquer teclo.
7 . 1 . Operocoes ontrnetlcos
A operocoo oritrnetico e representodo por elementos de operocoo como Adi~60, Subtrocco. Multiplico~60, Divisoo. Exponenclocoo e Notificocoo Cientifico.
OPERAC;:AO SiMGOLO
Adi~60 +
Subtrccoo
Multiplicoc;:60 *
Divisoo /
Exponenciocco '"
Notocoo Cientifico E Cn? * 10 ** expoente)
EXEMPLO 1
2 x 2 + 6
Pora Faler esro conta procedo do seguinte forma:
PRINT 2 if- 2 + 6
TECLA DO
[PRINTI2IsHIFT] * 12IsHIFTI+ 161ENTERI
10
010
EXEMPLO 2 2 x :365 + 122 - 60 : :30 + 125
PlilNT 2 ' 365
72 ' . 2 - 60/ 3@ + 725
,..
1
-
-
-
-
I~
27
TECLA DO
-
1 PRINT 121 SHIFT l* 13[6[5 [SHIFT 1+[ 1121 SHIFT 1* *121 SHIFT 1-1610[sHIFT I [2JiB~1 SH 1FT 1+ 11 [2151 ENTER 1
-
....
010
-
EXEMPLO 3 2 x 10J
PRINT 2 E 3
TECLADO
-
28
,;;.. -
"
~
- ~I
8. A MISTERIOSA ARTE DA
..."
PROGRAMA~O
•
30
Por um longo tempo, a orte do proqrornocoo toi inutilmente envolvido num or de rnlsrer!o e a rnoiorio dos pessoos ossociovam-no com rncqiccs e genios motematicos. Na verdcde: noo e necessorlo nenhum tolento especial para progromor. Seus maiores reeursos serco a pociencio. habilidode de raeioeinio logieo, orencco com detolhes e vontode de oprender.
Nosso intencoo nco e fozer de voce um "expert" em proqrornocco e, sirn. fomilioriz6-lo com suos cperocoes e concertos bostcos.
8.1.0 que e um programo?
Voce, provovelrnente. ficorc surpreso 00 sober que um programa e. justornerite, um conjunto de comondos que 0 cornputodor segue, um a urn. Os comondos soodcdos a ele em umo linguogem proprio. 0 RINGO folo 0 dioleto BASIC'-linguogem de proqrornooao muito usodo e popular entre os microcomputodores. E, como todo linguogem, 0 [lASIC possui um vocobulorto especial e regros que soo combinadas para formor comondos. Ao toler com 0 R-470 em umo linguogem noo familiar, ele olertoro voce para seu erro.
o IJASIC foi onqtnolrnenre desenvolvido para ensinor os principios de progrornocoo. Seus comandos 500 polavros escritos em Ingles e ourros simbolos fomiliores .
• Oeginner's AII·purpose Symbolic Instruction Code
8.2. Como fazer um progroma
Para voce progromor 0 RINGO. basta seguir umo sequencia de comandos. Ao rinal do leiruro desre manual voce estero opto para reolizor infinitos programos. Vamos desenvolver urn. agora. Noo se preocupe em enteode-lo. Com a decorrer do leituro voce tero explicocoes especincos de coda posse.
Primeiramente, operte a teclo NEW. Elo, seguida do reclo ENTER, opoqoro qualquer comondo que possa ester no memoria.
I ENTERI
-
-
-
31
Estondo os rnernorios limpos, podemos inicior a proqrornocoo. Comec;oremos com umo linha de programo.
EXEMPLO 1
70 PRINT "MICROCOMPUTADOR RINGO"
TECLADO
!1J0]pRINTISHIFTI"IMlllcIRlolclolMlp!uITIAlo!ojRJ ESPAcolRl, [NIGIOI
ISHIFT!"! [ENTER]
10 El"MICROCOMPUTAOOR RINGO"
Agora, digite 0 RUN, seguido do ENTER, poro que 0 progromo seja executodo.
'0 El "MICROCOMPUTAOOR RINGO"
MICROCOMPUTADOR RINGO
obs: olguns comondos como 0 NEW e RUN sco executodos imediotomente 00 pressionormos a redo ENTER, Porern. aqueles precedidos de numero de linho de progroma (vejo item sequlnte). nco 560 executodos e. slrn, iotroduztdos no progromo que esto sendo edrrcdo.
-32
8.3. Linhos de progromo
Um programo em [)A5IC consiste de uma sene de linhos numerodos eon tendo um ou mais eomondos. Esta nurnerocoo e usoda pelo RINGO para manter uma seqUencia correto de execucco do programa, servindo. rornbern. como referencia 00 progromodor para focilitar a sua construcco.
Em praticomente todos os exemplos de programos sugeridos neste manual, as linhas esroo numerodos de 10 em 10, Na verdode, a dlstoncio nurnenco entre as linhos de um progromo pode ser quolquer nurnero tnteiro. Aeonselhamos que a dtstoncro sejo de 10, para que possomos tnrercolor - quando necess6rio - ate 9 novas linhos de progromo entre duos j6 editados, sem a necessidade de se deslocor a nurnerocoo dos linhas posterlores 6 rnodlfkocco.
EXEMPLO
7 PRINT "R-4 7(J)" 2 GOTO 7
70 PRINT "R-470" 20 GOTO 70
Para introduzirmos um eomando SCROLL opes a PRINT, no primeiro coso seric necessorio desloear 0 linho 2, tronsformando-a em linho ,3, J6 no segundo coso isso
nco oeorre. Closto introduzir umo novo linho que pode ser de 11 a 19. Entoo: - I
7 PRINT "R-4 70" 2 SCROLL
3 GOTO J
1 e PRINT "R-4 7 0" 75 SCROLL
2(J) GOTO 70
8.4. Edi<;60
A 24? linho do tela e onde se encontra a linho de edi<;ao. Nelo digitomos coda linha do progroma, seporodomente. Ap6s a digito<;60 do redo ENTER esto linho possa para a programo.
1 ,_...
,..1
':-:
_I
- ,.-
- •
-
- & •
-
8.5. Correc;oo de linhas de programa
JJ
Exlstem 6 comondos que sao usodos para esto finalidade: DELETE, EDIT. MOYIMEN-
TO DO CURSOR PjESQUERDA, PjDIREITA, P/CiMA E P/I3AIXO. .
Durante uma proqromocoo podero acorrer algum erro no digitoc;ao de suos linhos. Corrijo-o usando os comondos MOVIMENTO DO CURSOR PARA DIREITA (-), MOVIMENTO DO CURSOR PARA ESQUERDA ( - ) e DELETE.
EXfMPLO NEW
70 PRINT "RITAS DO BRASIL" 20 GOTO 10
TECLADO
10 PRINT ··RIRASIl
Veriflque que fol cometldo um erro. Ao escrever RITAS, voce trocou 0 T pete R.
Para corrigir tal erro. operte 0 tedo ( +- ) ate que 0 cursor se posicione no lodo direrto do letro lncorreto. Fette isso, opogue-o pressionando 0 comando DELETE e, logo em seguido, digite a letro desejoda. Agora, utillzondo a teclo (-+ ), vo ore a ultimo letra dlqltodo e continue a proqromccco.
Pressione a redo ( +- )
111 PRINT ··RIRIJAS
IESPAcoioiolESPAcolslRIAlsl ilL I SHIFT I"IENTERJ 121ml GOTO [110IENTER r
I RUN IENTERI
J4
Pressione 0 DELETE e digite a letro cerro (T)
Agora. pressione a teclo (_.. ) ate a ultimo letro digitoda e continue a proqrornocoo
TECLADO
RIIA.S 00 BRASil RITAS 00 BRASil RITAS 00 BRASil
RITAS 00 BRASil RfTAS 00 BRASil RHAS 00 BRASil RHAS DO BRASil RITAS 00 BRASil RITAS DO BRASil RIIAS 00 BRASil RITAS 00 BRASil RITAS DO BRASil RIIAS DO BRASIL
RITAS 00 BRASIL
511q
lq PRINT "RtTI!IAS
10 PRINT "AtTASI1
- ",.1
...
Voce j6 deve ter notodo que as rectos DELETE, (-) e (-) possuem repeticoo automotlco. facilitando seu trabolho de correcoo.
Coso hojo necessidode de opogor a linho inteiro que esto sendo eotroco. pressione as rectos SHiFf e EDIT sirnultoneornente e elo desoporecer6 de umo s6 vez, num processo bern mois ropido. ficando em seu lugor a linha em que 0 cursor
- ,.1
-
.. ' -
-
35
"lndicodor de Linho" (~) estiver posicionodo. Pressione a tedo ENTER e reinicie 0 progromo.
Se voce digitor umo linho c,ujo n? jo estejo contido no progromo, a 2? linha digitodo substituiro cetomoncornente a anterior.
No coso de umo linho incorreto, ja ter sido inserido no progromo, devemos utilizer os comondos MOVIMENTO DO CURSOR PARA ClMA ( t ), MOVIMENTO DO CURSOR PARA I3AIXO ( l ) e 0 EDIT para corrtqi-lo.
Paro isso:
• consulte 0 cursor "Indicador de Llnho" (81) no progromo pora ver em que linho ele se encontro.
• pressione as tedos (t ) ou ( l ) quontos vezes forem necessorios poro que 0 cursor otinjo 0 linho desejodo.
• tede 0 SHiFf e 0 EDIT, simultoneomente, para que ela sejo transferida 0 linha de edi- ' <;:00.
• corrijo a linho utilizondo os teclos ( ..... ), (+-) e DELETE ou apenas acrescente a informo<;00 que foltou.
Para a linha retornar 00 progromo depois do correcoo. bosto opertor 0 ENTER que ele voltoro instontoneomente.
Se voce quiser eliminar umo linho j6 inserida no progromo, digite 0 n? do Iinho seguido do ENTER; voce nororo que 0 cursor "lndicodor de llnho" (El) desoporece. Porern, nco se preocupe, ele estero locolizado entre os duoslinhos que circundovom 0 linho eliminado. Se voce, op6s isso. oresslonor 0 EDIT, sera editoda a linha imediatamente obcixo do que foi eliminada. Coso a linho exduldo tenha sldo a ultima do progromo, sere editodo 0 linho que tornou-se 0 ultimo.
36
9. APROFUNDANDO SEUS CONHECIMENTOS
J8
Ate agora, voce tem vlsto openos cornentortos sobre alguns comondos e noo umo expllcocoo defmitivo. Apos ter se ambientada com 0 RINGO, voce deve iniclor a leitura dos comandos em linguogem [3ASIC.
9.1. Infcio de programo
9.1 .1 . Comando NEW
Uma proqrornocoo felto com linhas numeradas nco se apaga do memoria mesmo depois de sua execucoo. Significa que, 00 mtroduztrrnos novos comandos de proqrorno. 0 que se consegue e uma edic;ao ou mistura com 0 progroma anterior.
A nao ser que voce desligue 0 RINGO, as mem6rios nco se apogam. Portanto, antes de quolquer inicio de progromo, devemos diqitor 0 camando NEW, sendo esto a uruco forma de limparmos as mem6rios sem desligar 0 aparelho.
TECLA DO
INEW IENTERI
9.2. Vari6veis
9.2.1 . 0 que 560 vari6veis
Existem sltuocoes nos programas em que necessitamos guardor nomes, letras, valores e etc. A linguogem [3A5IC nos fornece um orurlcio multo importante para focilitor este procedimento: sao as vari6veis.
Estos vorioveis funcionom como uma memoria de calculodoro. Domos um valor 0 letro e, para chorno-lo de volta, basta especificar a letro correspondente.
Podemos exernplificor ossirn:
Se denominarmos 0 vorlovel A 0 volar 5, todo vez que utilizarmos esto voriovel, obterernos 0 voter nurnertco 5. Por exernolo. se multiplicarmos A por J, 0 resultodo sera 15. Se somarmos A com 20, teremos como resultodo 0 25, e assim por diante. Veja:
A=5
A x J=15 A + 20=25 A-+-2 = 2,5
Existern' dots tipos de vorioveis: nurnertcos e olfonurnericos.
~ ~ ~ ~ _:)
~
J9
9.2.1.1. VARIAvEIS NUMERICAS
Como 0 nome jo drz. trobolhom open as com nurneros. No que diz respeito 00 nome do voriovel, este sirn precise ser formodo por umo letro ou um conjunto de letrcs.
EXEMPLO 1
LET A=20 PRINT A
EXEMPLO 2
7 f/) LET CARL OS = 7 20 PRINT CARLOS
No exemplo ocimo, nota mas que 0 nome do voriovel pode serformodo por umo polovro.
EXEMPLO 3
70 LET ABC123=95 20 PRINT ABC 723
Agora ficou doro que 0 R-470 rornbern oceito nurneros para dar nomes os variaveis nurnertcos.
ATEN<;AO: 0 Micro ocelto nurneros em nomes de vorioveis nurnencos. mas sornente se estes names comec;:orem com umo letro.
9.2.1.2. VARIAvEIS ALFANUMERICAS
Este tipo de voriovel possiblllto a utilizccco de letros, polovros, frases, mensagens, enfim, [ado a tipo de combinoc;:6es que nco terce valor rnoternotlco. e sim, de reproducoo.
EXEMPLO
7 (/) LET A $ = "RINGO"
~ 20 PRINT A I
..
~ _.4
~ .> .>
...
,.-J
_.....j
9.2.2. (amanda LET
No execccoo de um progroma em I3ASIC, se for necessaria otribuirmos au 01 rerormos 0 valor de olgumo vonovel nurnerico ou oltooumertco. um dos recursos e a utihzocco do comondo LET .
40
EXEMPLO 1
1r/J LET T= 1 ze PRINT T
-
No exemplo octmo. T e umo voriovel que, no linho 1 D, Ihe foi otrtbuido 0 valor 1.
Este valor pode set. tornbern. decorrente de umo expressco rnoternotico. como no exemplo aboixo.
EXEMPLO 2
10 LET X = 30/5 + 4 20 PRINT X
-
-
Neste coso, opes 0 RINGO executor a linho 1 D. 6 voriovel X foi otrtbuido 0 volor nurnertco 10.
E: muito comum que se queiro. em algum ponto do programo. incrementor 0 valor de umo vorlovel. 0 exemplo seguinte mostra como podemos executor esro operocoo sem se preocupor com 0 valor que a vortovel possuio antes desto linho.
-
-
-
-
EXEMPLO 3
1 (j) LET N = (j) 20 PRINT N
30 LET N = N + 1 40 PRINT N
-
-
-
-
Poderemos observer com moior clareza nos exernplos seguintes, onde trotoremas com vortcveis oltonurnedcos. que 0 sinal "=", utilizodo no cornondo LET, neo significo iguoldode, como nos expressoes rnoternoticos. Neste coso, devemos entender este sinal como sendo uma otribuicdo de volores. ou sejo. 6 voriovel que estiver 00 lodo esquerdo deste sinal. sere otribuido 0 valor nurnertco ou olfonurnerico do expressco que- estiver 00 seu lodo dreito.
- ..,
-
-
-
EXEMPLO 4
10 LET PI = "APOLLO 1 1" 20 PRINT FI
-
-
;
-
Como virnos onteriormente, todo vortovel que possuir 0 sinal "$" do seu lodo diretto e considerada uma voriovel oltonumenco (area do memoria onde podernos ormozenor polovros 00 inves de nurneros). Portonto. a estes vcrlovets devemos sernpre otribuir conjunto de coracteres (STRINGs).
-
-
EXEMPlO 5
10 LET A = 120
20 LET 8$ = "(CENTO E VINTE)"
30 PRINT "NO CINEMA HA ";A;BS;" LUGARES"
.... -
-
-
41
Ao controrio das vorioveis nurnericos. as voriovels olfonurnericos so podem ser definidas por uma letra e a $ (STRING).
9.2.3. Monipulo<;60 de vcnoveis olfonumericos
Quando necessitamos operor a Micro com a ouxilio de vorioveis oltcournerlcos utilizomos a $ (STRING). Ele faz com que a mensagem contida em seu interior noo tenha valor rnoternotico. ftcondo apenas como simples cornbinocoo de letros e I au numeros.
EXEMPlO
70 PRINT "QUAL E SEU NOME?" 20 INPUT A $
30 PRINT AI; ': BONITO NOME"
No exemplo acima voce viu que a R·470 ficou esperondo que fosse escrito alguma coisa para ele poder completar a programa. Eo mensogem que voce escreveu ficou entre aspas porque umo STRING e sernpreertre cspos.
Se rivessernos colocado na linho 40 um GOTO 1 D. a programo ficaria girando ate a tela acabar. Experimente.
Agora. como poro-lo antes do tela ser preenchido. se a Micro considero tudo a que escrevemos como voriovel, jo que as ospas estco sempre presentes? E simples. I3asta opogar as ospos orroves do redo EDIT au DELETE e pressionar 0 STOP. Ao darmos a ENTER. a programo para onde esnver,
obs.: podemos colocar quantas STRINGs desejormas em um pragroma. bastando utilizer letras diferentes para coda umo.
9_2.3.1. SUB-STRING
Se quisermos monipular com openos umo parte do STRING de um progromo, utilizamos a crtifkio do SU!3-STRING.
Existem 4 maneiros de se utilizer a SU!3-STRING. Veja.
EXEMPlO 1
J 0 LET A e = "ABCDEF" 2(J) PRINT AI (2)
30 GOTO 20
Neste exemplo oporecero na tela apenos a segunda letro ,
42
EXEMPLO 2
10 LET B $ = "ABCOEF" 20 PRINT B$ (2 TO)
30 GOTO 20
No exemplo acimo, 0 Micro colocor6 na telo openos do segundo letro em dionte.
EXEMPlO 3
7 (!j LET C t = "ABCDEF" 20 PRINT CI (2 TO 4) 30 GOTO 20
J6 neste exernplo. 0 R·470 56 ocuporo a tela do segundo a quarto lerro.
EXEMPlO 4
70 LET 0$ = "ABCOEF" 20 PRINT D$ (TO 4)
30 GOTO 20
Neste, 0 RINGO trnprtrniro no tela sornenre ate a quorto letro.
9.2.4. (amanda CLEAR
Existe uma regioo no mem6ria do Micro onde ele ormozeno todos os vorioveis definidos no decorrer de um progromo 8ASIC. 0 comondo CLEAR limpo esro regioo e foz com que estes voriovels deixem de existir.
-
EXEMPLO
70 LET A =2 20 PRINT A 30 CLEAR 40 PRINT A
-
- 1$1
-
Para que voce entendo melhor este comondo, vomo~ anolisor 0 progromo acimo:
No linho 10. otribuimos um valor para a voriovel A. No linha 20, mondomos imprimi- 10. No 30. eli min amos Q voriovel e, no linho 40. pedirnos. novomente, a lrnpressoo do valor de A. Notornos que oporeceu um c6digo de reportagem * no canto inferior esquerdo do tela (2/40). Este codiqo significo que tenrornos utilizer umo vari6vel nco definido. Isto aconteceu porque solicitomos 00 Micro a irnpressco de umo vortovel neo mois existente em suo memoria.
... 1 - I
- iii I
_I
-
'" Ver capitulo 11
4J
9.3. Utillzocoo do tela
9.0.1. (amanda PRINT
Este e um dos comandos mais utilizados em um microcomputador. Ele foz com que os resultados de progromas sejam colocados no tela. Sem 0 PRINT, 0 1\·470 guorda a resposto so para st. nco nos mostrando 0 que queremos sober.
EXEMPlO 1 PRINT 8/4 + 22
Ao pressionormos a tedo ENTER, 0 resultado oporecero no canto superior esquerdo do tela.
EXEMPlO 2
7 (J) PRINT "R-4 70:" 2(J) PRINT
3(J) PRINT "UM GRANDE MICRO"
~ Note que entre os mensagens "R-470:" e "UM GRANDE MICRO" existe uma linha
~ com 0 cornoo do PRINT sozinho. lsto toro com que esse comando mova a oruol posicco de lrnpressoo para 0 infcia do pr6xima linha disponivel.
9.0.2 ASPAS
Para que possornos imprimir uma tnformocoo ou uma STRING no tela e oecesscrlo que utilizemos os ospos.
EXEMPlO 1
7 (J) PRINT "DIGITE SEU NOME" 2(J) INPUT A $
3(J) PRINT A $
Agora digite seu nome ou outre qualquer.
IMPORTANTE: Tudo 0 que estiver entre as duos ospos utilizadas no comando PRINT, sera interpretado pelo Micro openas como palavras.
EXEMPlO 2
PRINT "FAST AND SLOW"
~-------------------------------------------------------------------------------
44
9.3.3. ASPAS ASPAS
Acobomos de ver poro que severn os ASPAS. 0 A5PAS-ASPAS (SHIFT 2) serve pore se coloeor umo informoc;:ao ou STRING dentro domtorrnocoo ou STRING contido nos ASPAS. Poro sirnpliticor. ocompanhe 0 exemplo cbolxo.
,.._ -
EXEMPLO
1 (jJ PRINT "R-470, "" THE BES T MICRO'''' " 2(}) GOTO 7 (})
obs: Voee)6 deve esror curioso poro sober 0 que significom os nurnerose letros que oporecem no conto inferior esquerdo do tela todo vel que um progromo e executodo.·Eles servem para indicor erro. firn de tela. proqrornc executodo e etc. A exphcocoo com pi eta desres c6digos esto no capitulo COD1GOS DE REPORTAGEM.
•
-
9.3.4. Fun¢o AT
A funr;:oo AT, que 56 funeiono com 0 coman do PRINT, Pode percorrer qualquer ponto do tela, mesmo que )6 estejo irnpresso olguma coiso nele. Para tsso. basta user 0 PRINT AT sequldo pelo numero de linho e cotuno. sendo que a linhoe enumerodo de eimo poro bo!xo. de 0021, eo eoluno, do esquerdo para a dire-ito, de 00.31. forrnondo. ossirn. um quadro de 704 posicoes difererites.
.. - ...
- ,.....,
- ...
-
o l' 2 0 <I 5 '" 7 8 9 1011 12 1:1 1<1 15 1617 18192021 22202<1 2526272829:JO 01
.. _.
.. - ...
- ~
-
0
2
J
~
5
6
7
8
Q
10
11
12
1J
1<1
15
16
17
18
19
l 20
21
J
1 _l
1 I
i
I
I
I
:1
I
I I I I I I I I I I ! I I I I I I[] I I I I I I I I I I -
-
p.
- _.,
- p
-
" ,:;-1
-
&"
, -
-
45
EXEMPLO 1
70 PRINT AT 70,9; "DISCO" 20 PRINT AT 7 7, 73,' "LASER"
Se quiser colocar esse programa em uma linha so. bosto utilizar a virgula ou 0 ponro e virgula ligando as duos linhas. Verifique a exempla:
EXEMPLO 2
PRINTAT 70,77,' "DISCO";AT 71,71,' "LASER" ou
PRINT AT 70,11; "DISCO", AT 17,11; "LASER"
9.3.5. Fun<;60 TAB
A funcoo TAG e utilizadajuntamente com a camanda PRINT para irrtpnrnlr na tela em forma de tobulocoo. tsto e, tudo 0 que dlqitornos no R-470 ser6 colocado em uma coluna pre-tndlcodo. Coso esto coluno j6 estiver ocupado, a Micro imprimir6 no pr6xima linha do tela.
EXEMPLO 1
70 PRINT TAB 8; "MICROeOMPUTADOR" 20 PRINT TAB 9; "PESSOAL R-47(jJ"
Como na AT. esse progromo tornbern podero ser escrito em umo so linha. Para tonto, utilize a virgula au a ponto e virgulo.
EXEMPLO 2
PRINT TAB 8; "MICROCOMPUTAOOR"; TAB 9; "PESSOAL R-4 7(/)" ou
PRINT TAB 8; "MICROCOMPUTADOR", TAB 9, "PESSOAL R~4 70"
,
9.3.6 PONTO E VIRGULA
o PONTO E V1RGULA faz com que 0 camando PRINT imprimo suos mensogens sem deixor espoco. colocondo-os imediatamente opes a ultimo irncressoo.
EXEMPLO
10 PRINT "VICTOR" 20 PRINT "OU"
30 PRINT "VICTORIA"
Se voce quiser que estes polavros sejom escritos numo 56 linha. coloque 0 PONTO E ViHGULA no fim dos linhos 10 e 20 e de um espoco depots do Redo U.
46
9.3.7 VIRGULA
A ViRGULA divide a tela em dois blocos de 15 colones. Apesar de a tela possuir 32 colones. eo.da bloco s6 lrnprtrnlro na mesma linha mensagens com, no rnoxlrno. 15 corocreres. Isso porque a virgula, apesar de nco o.pareeer na relo. oeupa seu espoco. 0 primeiro bloco eomec;:a no. coluna Oe 0 segundo no 16.
EXEMPLO 1
PRINT "TIMES", "PONTOS"" ,"PALMEIRAS ': 70, "FLAMENGO", 8, "A TLETICO ': 5
Podemos concluir que a virgula serve para tabular umo irnpressoo no tela. Percebo que 05 3 virgules situodos op6s a irnpressoo "PONTOS" servirorn para pulor umo linho no programa, pots coda virgulo, signifieando meio tela, voi pulondo de bloco a coda lnsercco. sendo que, de 2 em 2, pula 1 linho.
E possivel utilizormos numo mesma linha de um comondo PRINT 0 PONTO E ViRGULA e a ViRGULA.
EXEMPLO 2
70 LET A = 75 20 LET 8 = 25
30 PRINT "A = ";A, "8 = ";8
9.3.8. (amanda SCROll
Como jo vimos onterlorrnente. a tela do RINGO possui 22 linhas. Se 0 programo utilizor um nurnero de linhos superior oeste, ele para e indica. otroves do c6diga de reportagem 5/n? do llnho. que a tela esto cheio.
Para evitor que isso oeorro devemos usor 0 comondo SCROLL.
EXEMPLO
7 (/J PRINT "PEGASUS" 20 PRINT "AGAMENON" 30 GOTO 70
"Rode" este proqrornc. Agora coloque um SCR0LL no linha 5 e outre na 15; rnodifique a linha 30 para GOTO 5 e veja 0 que acontece.
Neste exemplo fico cloro que a imagem se move durante a execucoo do proqroma e que a primeiro linho desoporece poro dar lugor 6 ultima.
Para 0 progromo poror de radar, aperte a redo 13REAK.
9.0.9. (amanda CL5
Este comando tem a func;:ao de Ilmpor a tela, sejo em programa, seja foro dele.
-
-
-
47
EXEMPLO
7 W PRINT AT 7 (/J, 7 (/J; "R-4 7(JJ" 2$ CLS
3$ GOTD 7 (JJ
9.4. lntroducco de dodos
9.4.1 . Cornondo INPUT
Em alguns programas existe a necessidade de introduzirrnos dados durante a suo execucco. Para que possamos fazer tal operocoo extste 0 comando INPUT que permite entrorrnos com dodos ou conjuntcs de corocteres (STRINGs). Quando 0 computador interpreto um comondo INPUT em uma linha do programa, ele bloqueia a sequencia de execucoo. soltotondo 00 operador que sejo introduzido 0 dodo desejado.
o comando INPUT e sempre seguido de umo vortovel (nurnertco ou oltonurnenco), ou sejo. 0 voriovel indicodo sera atribuido a dodo dtqltcoo pelo operador.
Vamos fozer um programa de extrocco de raiz quodroda.
EXEMPLO 1
7 (/) INPUT A
20 PRINT "RAIZ QUADRADA DE ";A;" = ";SQR A
Note que surgiu 0 cursor L no canto inferior esquerdo do tela. Esta e a indica~oo de que 0 RINGO esto oguordando a digito~60 de um dodo pelo operodor. Gasta agora colocar um nurnero e, em seguido, pressionor a redo ENTER, que a RINGO prossequirc com 0 programa fazendo com que a vcnovel correspondente 00 comondo INPUT (no exemplo ocrrno a voriovel A) assuma 0 valor diqitodo.
Experimente executor 0 programo novomente, sendo que, quando a R-470solicitor a introducdo de um dodo, pressione somente a tedo ENTER.
Observe que surqiro a cursor S. Ele indica que houve um erro de slntoxe. Neste coso, a erro foi a nco mtroducco de um valor nurnerlco quando sollcttodo.
Mesmo quando a volar nurnenco desejado e zero, e necessaria que ele sejo colocado.
Se entrormos com olgumo ietro 00 lnves de um nurnero, 0 program a sera inter-
~ rompido com a surgimento de urn c6digo de reportagem no linho de edic;60.
Neste coso, 0 c6digo ocusa nosso tentotlvo indevido de otribuir 0 umo voriovei
,.;::J nurnerico um dodo n60 nurnertco. Porern. se a corccter introduzido for umo vonovel ja definido no programo, a Micro segue em suo execucoo otribuindo a voriovel do INPUT a valor nurnerlco devido.
EXEMPlO 2
10 PRINT "ENTRE SEU PRIMEIRO NOME" 2(J) INPUT A It
3(J) CLS
40 PRINT "ENTRE SEU UL TlMO NOME" 50 INPUT 81t
60 CLS
70 LET C $ = A I (7) + "." + 81 (J) + " r r
80 PRINT "SUAS INICIAIS SAO .. ' ": CI
48
Este exernplo. como podemos observer. opera com vorlovers olfcnurnericos. Durante a execucoo do progroma, 0 INPUT e dtstlnquldo orroves dos duos ospos que sao coloco.dos no "Lmho de Edi<;6o" Junto 00 cursor L
Lembre-se: como jo explicomos ontertormente. todo voriovel ouonurnenco (STRING) deve sernpre ester entre ospos. No coso de urn INPUT olfonurnerico. 0 proprio cornondo se encorrego dos ospos. bostondo openas diqitormos a ST]1.ING desejcdo.
,. I --~I
--
o INPUT olfonurnerico tornbern possui umo moneira de tronsferir para suo voriovel correspondente a cooreudo de umo voriovel jo definido no progromo. Para efetuor esto trcnsterencto. espere surgir a mensogem "L" no. tela e. em sequrdo. opogue as ospos; cssirn. a voriovel desejodo podero ser digitodo.
o RINGO tern um metoda bern ropido e prot.co poro opogor as ospos: e so opertor a redo EDIT e elos serco. outornottccmente. eliminados.
Verifique 0 exemplo oboixo:
- ,_..
IJ" - ,.,'
...-
..
-
EXEMPLO 3
70 INPUT A $ 20 INPUT B e
30 PRINT AI r B$
.-..
- .-
.__.
.. - ...
- ..
--
No linho 10, 0 progromo oguordo que se escrevo uma STRING olfonumerico Ap6s voce te-Io digitodo, operte a redo ENTER para 0 Micro quordo-lo em suo memoria. Logo em seguido. surqiro no telo novamente os ospos. 0 proqromcjc possou, entoo. pora a linho 20. Agora 0.0 inves de escrever outre STRING. opague as ospos utilizondo a tedo EDIT e dlqlte A$ (voriovel jo definido).Apertondo a redo ENTER novornente. 0 RINGO possoro para a lioho .30 e escrevero no tela 0 resoltodo. que sera a repetic;:oo do STRING.
,... -
~ .
--
9.4.2. FunQ50 INKEY$
#>-
-
Esto funcco testa se olgumo tedo esto sendo presstonodo
-
49
EXEMPlO 1
70 LET MI =/NKEYI
20 IF MI = II 1" THEN LET M$ =" r r 30 PRINT MI,"
40 IF INKEYI = MI THEN GOTD 4fl) 50 GOTO 1 fl)
Este exemplo rnostro claramente a funcoo do INI<EY$. Nele, cado tecla que voce opertor sera imediatamente impressa no tela. Como a ted a ESPAC;:O. durante a execucoo de um programa torno-se OREAK. utilizamos 0 ortlflcio do linha 20. Ela faz com que toda vez que dlqitorrnos 0 nurnero 1,0 RINGO considere como espoco. Culdcdo para nco errar 0 que esttver escrevendo. pols noo tern como apagar.
EXEMPlO 2
7 fl) PRINT INKEY I; 20GDTD 7fl)
9.5. Cornondos Operacionais
9.5.1 . (omando RUN
Ao introduzirmos um programa no memoria do RINGO. e necessorlo "ovisac" 00 Micro que ele jo pode executo-lo. Esta e a funcoo do comando RUN.
o coman do RUN deterrnino 00 RINGO que execute 0 programa que esnver no memoria em ordem sequericlol e crescents CDoi a motive de -nurneror as linhos do proqrorno).
Para que nco hajo problema com as valores das voriovels utilizadas no programa a ser executodo. 0 R-470 opos a lntroducoo do comando RUN e antes do execucoo proprtornente dtro. limpa toda a regioo da memoria reservada as vorioveis. au sejo, quando urn programa corneco. nco existe nenhuma vortovel definida.
Caso queiramos que um programo Inicie a partir de uma determinada linha que nco a prlrnelro. basta indicar junto 00 comondo RUN 0 n? do linha desejada.
9.5.2. Cornondo REM
Este comando tern uma corocterlsnco interessante: nao interfere nos programas.
Serve. apenos. para fazer cornentcrlos. dar nomes a programos. sub-rotinas e etc .. focilitando 0 entendimento dos mesmos.
50
EXfMPlO
1 (J) REM " ..... " ...... "" ..........
2(/) REM.. CONTAR ATE 70 •
3(j) REM 4* "
40 FOR A = 1 TO 10 50 PRINT A
60 NEXT A
9.5.0. (amanda STOP
obs. Noo e necessaria a unltzocoo das aspas, pols nco se trata de STRING.
o comando STOP finaliza ou lnterrornpe a execucoo de um programa. Saberemos que 0 programa foi interrompido pelo STOP pelo c6digo de reportagem 9/Cn? do linha em que se encontrar este cornondo).
Podemos colocar 0 STOP em qualquer parte do programa.
EXEMPlO
10 PRINT "ESCREVA UM NUMERO" 20 INPUT Q
30 LET R=INTrO/2J-Q/2 40 PRINT Q;
50 IF R= 0 THEN GOTO 8(/)
60 PRINT II - NUMERO IMPAR" 70 STOP
80 PRINT" - NUMERO PAR" 90 STOP
_-
No exemplo octrno. a fun<;oo do STOP foi dar uma porada no progroma no coso do nurnero ser impar, senoo ele imprimirio tornbern a linho 80.
Para retomada de programa em coso de interrupcdo ou terrntno, basta presslonar 0 coman do CONT ou RUN, seguidos do ENTER.
9.5.4. (amanda BREAK
Voce j6 percebeu que os vezes e necessorio que interrompamos um programo em andamento. Ou por noo ester de ocordo com 0 pretendldo ou por jo ter mostrado 0 que queriomos, enfirn. exlsrern vorlos motivos. Nestes ccsos. basta apertar a teclo ESPAC:O, que, durante a execucoo de um progroma, tern 0 funcco de interrornpe-lo, isto e, torno-se 0 comondo I3REAK.
EXEMPlO
70 PRINT "1£"; 2(/) GOTO 70
-
51
Percebo que, 00 opertor 0 comondo BREAK, 0 progromo para onde estiver e oporece. no canto inferior esquerdo, 0 codlqo de reporroqern. que, no coso, e representodo pel a letro De 0 nurnero do linho em que 0 progromo foi tnterrcrnprdo.
9.5.5. Camanda CONT
Se durante a execucco, um progromo for lnterrornptdo por. tela cheio ou 0 reel a I3REAK. utilizomos 0 comondo CONT, que ira recornecor 0 progromo do ponte em que parou. No coso de STOP ter provocodo esse tnrerrupcoo. sera reiniciodo no linha posterior a ele.
EXEMPLO
1(f) PRINT" RINGO " 2({) GOTO 7 (()
9.5.6. Camando LIST
Com 0 decorrer do tempo voce cornecoro fazer progromas mais camplexos que, logicomente, seroo mois extensos. Na tela de nos so Micro cobern apenos 221inhos de progromo e duos de edkoo. Vamos supor que voce estejo fozendo um progromo e que tenho ultropossodo 65 22 linhos. Noo precise se preocupor, isso Eo multo normal. Nestes cosos, 0 Micro vai guordondo os linhos normolmente, openos tlrondo de nossos vistas a ultimo linho de cimo. E assim vot. coloca uma linho em baixo. tiro uma de cimo. Agora. voce quer ver alguma linho do prograrna que j6 nco esto mois aporecendo no tela. Para isso existern do is procedimentos:
1) QUm UMA LlNHA ESPEC1FICA - Teele LIST, 0 nurnero do linho desejada e 0 ENTER.
2) QUER VER ALGUMAS DAS PRIMEIRAS L1NHAS - Teele open as 0 LIST e 0 ENTER.
Assim, oporecerco os primeiras linhos do proqrorno.
9.6. Desvios
9.6.1. Comanda GOTO
o R-470 executa um programo contido em suo rnernorio. numa ordem sequenciol crescente relocionodo 6 nurnerocoo dos linhos. Em alguns progromos. porern, precisomos voltor au ultropossar v6rios llnhos. dependendo do que queremas fazer: por isso, ternos 0 comando GOTO. Ele "salta" para quolquer lugar do progro-
----------------------------------~~
52
mo e execute as instrucoes a portir daquele ponte. Note algumas sltuocoes em que este comondo pode ser unlrzodo.
EXEMPLO 1
70 PRINT "QUEM INVENTOU 0 AVIAO?" 20 PRINT
30 INPUT A $
40 IF AI = "SANTOS DUMONT" THEN GOTO 70 50 PRINT "VOCE ERROU. ",AI;" NAO E SEU NOME" 60 STOP
70 PRINT "VOCE ACERTOU ";AI;" E SEU NOME" 80 STOP
o GOTO, olern de ser um comondo de desvio. pode ser tornbern, como 0 RUN, um comondo de execu <;:00. A untco diferen <;:0 e que a GOTO nco limpo as vorlovets e 0 RUN s.rn. Ele pode executor desde a linho iniciol ou do que voce desejor, boston do que, em ombos os cosos. sejo determinodo a nurnero do linho.
Doremos um exempla, iniciondo no linho 30.
-
EXEMPLO 2
-
70 PRINT" 1 4 SIS ': 20 GOTO 70
30 PRINT" MIRAGE" ; 40 GOTO 30
-
-
9.6.2. Comandos FOR TO, NEXT e STEP
As vexes, em um deterrntnodo progromo e necess6rio repetir umo serie de instru c;:6es, Pora evitor que esro repeticoo ocupe muitoslinhas util izomos os comondos FOR TO, STEP e NEXT para fozer uma repetlcoo cantrolodo chomodo de "Loop".
o cornondo FOR NEXT esto ossociada 6 uma voriovel contadoro. E como a numero de repeticoes e controlodo par esto voriovel. ele otinge seu finol chegando 6 condicoo de teste. Tornbern podemos, com este cornondo, especificor 0 volor lnicial e 0 incremento do volor poro a vonovel contodoro.
Simplificondo: FOR - vortovel contodoro - volor inlclol. TO - valor final. STEPvolor tncrernentodo.
VARIAvEL CQNTADORA: Eo nome do vori6vel usodo poro center Q "Loop". VALOR INICIAL: E a valor ormozenodo dentro do vortovel contodoro antes do primeiro perlodo do "Loop".
.-
-
5J
VALOR FINAL: Eo valor que, quando atingido, conclui 0 'loop".
VALOR INCREMENTADO: E um item opoonol. Indica quonto oumento ou diminui a vari6vel contadora a coda periodo durante 0 "Loop". Se nco for deterrninodo ossu- , me 0 valor 1.
Aten<;6o! 0 comondo FOP, n60 sera executodo sem a presence do TO.
A voriovel conrodoro sempre acompanho a comondo NEXT. Sem ele, incorreremas num erro . No decorrer do 'loop", 00 otingir a lnstrucco NEXT, a valor do vari6- vel contodoro e outomoticomente incrementodo com a volar do incremento. 5e a valor do voriovel nco foi ultropossodo. ele e desviodo para a primeiro lnstrucdo op6s 0 FOR. Quando ultrapossor 0 valor final, sera executado a instrucoo seguinte 00 comondo NEXT.
EXEMPLO 1
...:J 7 (f) FOR A = 1 TO 10
_:;, 20 PRINT A * * 2 30 NEXTA
40 STOP
E possivel a colococco de v6rios "Loops" dentro de outros, como mostro 0 exemplo oboixo.
EXEMPLO 2
70 FOR X = 0 TO 2 7 20 FOR Y = 7 TO 3(/) 30 PRINT"~ ':
40 NEXT Y
50 PRINT X
60 NEXT X
obs: Sempre que urn "Loop" esnver dentro de outro. 0 NEXT deve estor no ordem de colocccoo contr6rio 00 FOR, como rnostro 0 exemplo.
EXEMPLO 3
7 (/) FOR A ..
20 FOR B .
30 FOR C .
60 NEXT C 70 NEXT B 80 NEXT f\
54
Os comondos FOR-TO e NEXT sao incrementados, outomoticamente, de 1 em 1.
Se for necess6rio mudar este valor, para mois au menos, basta colocar a STEP no mesmo linho do comando FOR. Vejo.
EXEMPLO 4
7 (jJ FOR A = 2 TO 40 STEP 2 2({J PRINT A
3(j) NEXT A
Os comandos FOR-TO e NEXT sao interdependentes, isto e, nco podem operecer em um programo sem que a outro esteja tornbern, 1550 j6 noo ocontece com a comondo STEP. Ele pode au nco oporecer num progromo em que os outros dais comondos estiverem.
9.7. Funcoes moterncucos e cientfficos
9.7.1. Func;oo RND
Esto funcdo serve para produzir nurneros oleotorios entre 0 e 1, isto e O..s:;; RND< 1. Sao usodos em progromos que necessitom de nurneros diferentes e indefinidos, sem umo sequence loqico.
.-
EXEMPLO 1
7 (j) FOR A = 1 TO 1 (jJ 2(/) PRINT RND
3(/) NEXT A
Percebo que os nurneros 500 completomente oleoronos.
No exemplo a seguir veremos um progromo tipico para a usa do funcoo RND, onde os nurneros solicitodos tem que ser diferentes.
EXEMPLO 2
7 (fj PRINT TAB 70; "PROGRAMA"
2({J PRINT TAB 7; "ACERTE NA LOTO"
-
55
30 PRINT AT 4,0; "ESCOLHA OVANTAS DEZENAS VOCE (4 especos)
OVER DE 5 A 70 ( r:
40 INPUT 0
50 PRINT A T 5, 76;0
60 IF 0 < 5 OR 0 > 7 e THEN GOTO 2(/)(J 70 DIM X(D)
80 FOR A = 7 TO D
90 LET X (A) = INT (RNO " 70(j)) 1(1)0 FOR B = 7 TO A - 7
7 1(1) IF X(A) = X(B) THEN GOTO 80 72(j) NEXT B
73(j) NEXT A
74(J) FOR A = 7 TO 0
75(j) PRINT A T 6 + A, 72;X(AJ 76(j) NEXT A
77m STOP
2(j)(J) PRINT" "ESSE NUMERO DE DEZENAS NAO EXISTE NA LOTO, TENTE
DE NOVO."
2 1 (() FOR A = 7 TO 1 (j)(j) 22(j) NEXT A
23({) CLS
24(j) GOTO 1 (/)
Agora toco um teste e, se quiser, jague na LOTO. Quem scbe voce ganha.
9.7.2. (amanda RAND
Toda vez que a R-470 e ligado, uma sene de nurneros oleotorlos e gerada por ele.
Esta serie de nurneros e requlsitodo otroves da funcoo RND.
o coman do RAND crio uma novo sene para a gero<;60 destes nurneros. tomando como referencio a valor ournerico au vorlovel que a acompanha, senda que, para uma sene de RNDs posteriores a um determinado RAND, a sequenclo de resultados sera sernpre a rnesrno.
EXEMPlO
1 (j) FOR A = 0 TO 4 2Q) RAND 1 Q)
30 FOR B = 0 TO 2 4(J) PRINT RND
5(j) NEXT B
60 NEXT A
-------------------------------------------------------------------------
56
E bom saber que todo vez que pedirmos um RND para um RAND 10. por exernplo. 0 resultcdo sera sempre 0.01257342.
9.7.3. Func;oo SGN
(om esto fun<;:oo podemos sober se a resposto de umo equocoo ou um nurnero quolquer e igual a 0, positivo ou neqotivo. nco informando, porern. seu valor numerlco.
o seu resultado sera: 1. se X > 0
0, se X = 0
-1. se X < 0
EXEMPLO 1
PRINT SGN (1 (J) - 5)
EXEMPLO 2
PRINT SGN (7 (J) - 1 (J))
EXEMPLO .3 PRINT SGN-5
9.7.4. Func;6o ABS
A funcoo AOS e ofuocoo modulo, is to e, 0 seu resultodo e sernpre posmvo.
EXEMPLO
PRINT ASS (25-86)
9.7.5. Func;oo SQR
Esto func;oo nos perrntte obter a roiz quadroda de quolquer nurnero moior ou iguolo O.
EXEMPLO 1
PRINT SQR 25
EXEMPLO 2
Para colculormos a expressco 3 x V5+3 procedemos do seguinte maneira:
57
PRINT 3 ",SQR (5+ 3)
9.7.6. Fun~60 PI (rr)
PI signifiea a relocco entre 0 raio e 0 arca de uma circunferencio. E muita usodo
-- nos func;6es tnqonometrtcos. j6 que estes 56 operam em rodionos. Seu valor e :3,141 59265:35 dlzirno.
EXEMPLO
PRINT 42 - 5 .. rr
9.7.7. Func;6es T riqcoornetncos
As func;6es triqonornetncos 500: SIN (seno). COS (cosseno), TAN (ronqente), ASN (orco-seno). ACS (areo-cosseno) e ATN (arco-tangente), sendo possivel calcul6-las somente em radianos.
EXEMPLO 1
PRINT SIN (rr/4)
...:J
_:j EXEMPLO 2
PRINT COS (nI6)
-
EXEMPLO 3
PRINT TAN (3*nI4)
A funcoo ASN e sempre catcutada para ongutos entre -Tt/2 e rr/2:
EXEMPLO 4
PRINT ASN 7
A runc;oo ACS e sempre colculada para ongulos entre a e rr :
EXEMPLO 5
PRINT ACS (J). 7
A funcoo ATN rornbern e sempre calculada entre -rr/2 e rr/2:
58
EXEMPLO 6 PRINT A TN 2. 7
Para colculor em graus as func;6es SIN, COS e TAN, tome como exemplo 0 seguinte programa para SIN.
5 INPUT A
1 (f) PRINT SIN fA ItTl/18(f))
E, para colculor em grous as func;6es ASN, ACS e A TN, 0 seguinte:
5 INPUT A
7 (f) PRINT 18(f)/n: ASN A
9. 7 . 8. Func;6es Logorltmicos
As func;6es logoritmicas sao LN e EXP.
9.7.8.1. R.Jn<;60 LN
A func;oo LN calculo 0 logoritmo natural no bose e (2.7182818 .. .),
EXIMPLO PRINT LN 7.4
9.7.8.2. FUn<;60 EXP
Esta funcco e inverso 0 LN. Colcula urno potendo de base neperiona (e) e expoente iguol 00 argumento.
EXEMPLO
PRINT EXP 2.(f){f) 148
9.7.9. FunC;ao INT
• 6. I
- p •
'-
A runcoo INT considero samente a porte lntelro de um nurnero fracion6ria au do resultado de uma expressco mctemotico.
EXEMPLO
to PRINT "OIGITE UM NUMERO FRACIONARIO" 2{f) INPUT N
,.1
,. I -
~?
~
I -
~
~
~ ~
~.
I
_.:)
~
~
~
~.
G
~
~
~
~
~
59
3@ PRINTN
40 LET 1= INT N
50 PRINT' 'SUA PAR TE INTEIRA E.- /' 60 PRINT I
Agoro, experimente 0 nurnero 0.2456
No exemplo ocimo podemos ObSeNQr que a porte fracion6rio e ignorodo pelo funr;:6.o INT. Porem, coso voce queiro arredondar esse numero. some 0.5 a ele ontes de ser renrodo a porte froclonor!o. colocondo essa operocco de odkoo entre pcrenteses:
7(JJ LET I = INT{N + 0.5)
80 PRINT "ESSE N.0 ARREDONDADO E.- " 9(/) PRINT /
Para pre-fixer 0 nurnero de casas depots do virgula, sem arredondar, use 0 formula seguinte onde pre-fixornos em 2 casas:
70(]) LET I = INT(N,. 1 (/)(/))/7 f/J(J)
1 7 (f) PRINT "A TE 2 CASAS APOS A VIRGULA E:" J 2m PRINT I
9.8. Testes
9.8.1. Operodores Motem.oticos
Na linguagem BASIC encontramos sinois cornpororivos para que 0 Micro posse se locolrzor no que diz respelto 6 procedimento. No verdade. ele noo analisa profundamente uma expressco. Somenteinforma se e folsa ou verdodeiro, otroves dos nurneros. 0 (folso) e 1 (verdodeiro).
Este procedimento se repete em numeros. letras e STRINGs.
Os sinois 560: = Ciguol)
> (rnoior que) < (rnenor que)
> = (rnoior ou igual a) < = (rnerior ou iguol 0) < > Cdiferente de)
EXEMPLO 1 PR/NT 3=3
EXEMPLO 2 PR/NT 4 > 1 e
EXEMPLO .3
PRINT 3(/)5 = 1 m + 5
Nos proxirnos exemplos veremos que 0 Micro torr-bern compere letras e palovros, tendo como escalo a ordem olfobeticc.
EXEMPLO 4
PRINT "A" > = "A"
EXEMPLO 5
PRINT "BAS/CO" < "BAS/CAn
60
No exemplo cboixo. veremos que ele considero primeiro todos os letros do oltobeta para depois cornecor com nurneros.
EXEMPLO 6
PRINT "Z" > "7"
Onde a comporocoo foi verdodeira 0 Micro colocou 0 nurnero 1 e, onde fo) tolso. 00.
9.8.2. (amondas IF e THEN
.~
o comondo IF pode ser considerodo como urn comondo inteligente ou um desvia condicional para tomodo de decisoes a partir de sinois j6 conhecidos de rodos nos . =. >::, < = . < > e opera do res 16gicos. 0 TH EN e um complemen to de decisao, perrnirir-do a execucoo de urn desvio. trnpressoo. otribulcoo de volores. etc, de ocordo com 0 resultodo do teste.
EXEMPLO
70 PRINT "DESCUBRA 0 NUMERO, ENTRE (j) Elm, QUE EU ESCOLHI. " 20 LET X = INTf1 7 * RND)
30 INPUT A
4m SCROLL
50 IF A = X THEN GOTO 80
60 PRINT "VOCE ERROU. TENTE DE NOVO" 7([J GOTO 30 .
80 PRINT "PARABENS, VOCE ACERTOU. "
•
Para que voce en tendo melhor, vamos onalisor a linha 50. IF (se) A = (iquol 0) X THEN (entao) GOTO (vo para a linho) 80
lEMORE-5E: 0 IF e 0 THEN tern sempre que ester juntos em coda linho de progromo.
9.9. Sub-rotinas
9.9.1 . Cornondos GOSUB e RETURN
Durante 0 desenvolvimento de um progroma, muitos vezes e necess6rio repetil umo mesma sequencia de linhas de tnstrucoes. Para poupor este trobolho. olern de evitor 0 desperdkio de linhas, devemosfazer umo suo-ronno. isto e, um progromo foro do programa principal. Sltuondo-se. no moreno dos vezes, no firn do progromo, a sub-rottno pode ser "chorncdo" tontos vezes quontos forem necess6rias.
EXEMPLO 1
5 GOSUB 1 (f}0
-
-
-
61
7(/J PRINT "0 MAIS MODER NO " 2{J) GOSUB 7 (J)(j)
25 PRINT "0 MAIS PRA TlCO" 3{J) GOSUB 7 (J)(J)
35 PRINT "0 MAIS BONITO" 40 GOSUB 7 {J)(JJ
50 PRINT "UM GRANDE MICRO" 60 STOP
1 (JJ (J) PRINT
1(JJ5 FOR A = (J) TO 31 7 7 (J) PRINT "iI ':
120 NEXT A
7 30 PRINT "RINGO" 7 4(f) PRINT
15(f) RETURN
o GOSUO e a camanda que manda executor uma sub-rotino Para que a RINGO saiba que sub-rotino executor, temas que indicar, 00 lode do GOSUO, 0 nurnero do linho em que ela se inicia,
o RETURN eo comando que foz retornor do sub-rotina para 0 progroma principol, A partir dol. 0 programa continua no linha seguinte 00 GOSUO que provocou 0 desvlo.
Um pragramo pode center vorios comandos GOSUO e vorios sub-rormos. Em coda sub-rotina pademos ter vorios comondos RETURN, como no seguinte exemplo:
EXEMPLO 2
1 (j) INPUT A
2(JJ GOSUB 7 (j)([J
3(f) IF B = (j) THEN STOP 4(!J PRINT B
5(/) GOTO 10
UlJ(/) LET B = {fJ
1 7 (!J IF A < = 0 THEN RETURN 72(f) LET B = SQR A
730 RETURN
Este progroma - para tiror rolz quodrada - pore se 0 nurnero digitodo for menor ou iguol a 0,
Podemos, tornbern, ter uma sub-rorlno dentro do outre.
NAO 5E ESQUE~A! PARA CADA G05UO E PRECI50 SEMPRE HAVER UM RETURN.
62
9.10. Gr6ficos
9.10.1. Comondos PLOT e UNPLOT
A tela do RINGO Eo formada de 22 linhos e 32 colunos, don do um total de 704 posicoes para impressdo.
Com a utthzocoo do PLOT ou UNPLOT, teremos 2816 posicoes. pois estes comondos usam openas 1/4 de um corocter. multiplicondo por 4 a capocidode qroftco da
tela. .
o comondo PLOT imprime um elemento de imogem no tela, sendo necessaria openos fornecer os suos coordenodos cartesionas que serco representodos par X e Y.
EXEMPlO 1 PLOT 8,2(/)
No exemplo, a nurnero 8 represento 0 8? poskoo da caordenodo X, que e formodo por 64 poslcoes.
o nurnero 20 represento a 20? posicoo do coordenado y, que Eo formado por 44 poskoes.
o comondo UNPLOT opogo os pontos que forom impresses pelo PLOT, usondo os mesmos volores dos coordenodos.
EXEMPLO 2
U/) FOR Q= 7 TO 50 20 PLOT Q,3(J)
30 NEXT Q
40 FOR W= 7 TO 50 50 UNPLOT W, 30 50 NEXTW
EXEMPlO 3
1 fl) LET X = 0 20 LET Y = 0
30 PLOT X, 'Y 40 IF INKEY$ = 50 IF INKEYI 60 IF INKEY$ 70 IF INKEY$ 80 GOTO 30
"8" THEN LET Y = Y - J "C" THEN LET Y = Y + 1 "0" THEN LET X = X + 7 "E" THEN LET X = X - 7
•
63
4
"
4
"
•
•
d
•
•
J
J oJ 02 01 00 59 58 57 56 55 54 53 52 51 50 49 8 7 6 5
• J
2
1 o Q
8 J7 :16 J5 3. 3J 32 Jl .')0 29 28 27 26 25 2. 2J 22 21 20 19 16 17 16 15 1d 13 12 11 10
<; 6 7 6 5
" o
2 1 o
'-
'-
'-
'-
"
,
,
"
,
"
"
" ,
><
_,
-*"
:>.
)(
~ a
..:.J
a. I
64
9.10.2. Sfmbolos Gr6fjcos
Quando queremos foz er algum desenho. uma rnolduro em um tltulo ou tobelo. enfim. quolquer tipo de decorocoo. nos utilizomos dos SIMOOLOS GRAFICOS. Para que tenhamos acessa a esses simbalos. basta cpertor a teclo GRAPHICS (0 cursor pcssoro para G) e escolher entre os 22 SIMOOLOS GRAFICOS existentes no teclcdo, nao esquecendo de monter 0 tecla SHIFT presslonodo acado simbola digirado.
-
Estes sao os 22 simbolos grilficos:
C6digo Sfmbolo Pressionar C6digo Simbolo Pressionar
0 • I3 au ~ ESPAC;O 128 D [§ ESPACO
II [§ shift 1 129 r!J [§ shift Q
2 ~ [§ shift 2 130 ~ [§ shift W
3 ~ [§ shift 3 131 .~ [§ shift E
4 ~ [§ shift 4 132 IiIJ [§ shift R
5 [J [§ shift 5 133 IJ [§ shift T
6 ~ [§ shift 6 134 ~ [§ shift Y
7 ~ [§ shift 7 135 ~ [§ shift U
8 m 00 shift 8 136 f9 [§ shift I
.
9 II [g shift S 137 GJ [g shift F
10 II [g shift A 138 0 [§ shift D
EXEMPlO -
-
-
-
-
_..
-
-
-
-
Jl&
-
-
1 (J) PRINT TAB 7; "GRAFICO DE VENDAS",,, "MICRO A. .. rz4 '':
"MICRO B ... 0 "II "PROJECAO" 2(f) FOR A = (J) TO 3 7
3(J) PRINT A T 19,A,·"~" 4(f) NEXT A
5(J) PRINT "ANO - 7 983 ': AT 20, 15;" 7 984 ";AT 2r]), 24,·" I 985" 6(f) FOR A = (j) TO 2
70 PRINT AT l8-A, 7;" om" 8VJ NEXT A
9(J) PRINT A T 75,8, "m"
10(J) FOR A = 78 TO 74 STEP - 7
170 PRINT AT A, 76; "0~"; ATA,25,"O" 120 NEXT A
730 PRINT AT 73, J 7,·/100" 74 (Jj FOR A = (j) TO 9
75(J) PRIN TAT 7 8-A, 26; " '!2," 7 6(J) NEXT A
-
-
-
-.
-
-
65
9.11 . Velocidade de processomento
9.11.1. Comondos FAST e SLOW
o RINGO 00 ser Jigodo, inicio sum operocces em SLOW. Nesso velocidode, ele executa qualquer prcqrornocoo. mostrando continuamente a tela. Porern, 0 Micro possui urn segundo modo de operocco chamado FAST, que trabalha com uma velocidade. aproximadamente, 4 vezes maior que no modo normal (SLOW), so que sem geror sinal de video. Ou sejc. voce 56 ver6 0 resultado do program a no tela, 00 fim da execucco. ou se for interrompido por um cornondo PAUSE.
EXEMPlO
10 PRINT A T 7 (f), 1 (J); "SLOW" 2(J) FOR A = (J) TO 7{f)
3(J) NEXT A
4(JJ CLS
50 GOSUB 20(j)
60 FOR A = (/J TO 1 (/J(J) 7(J) NEXT A
8(J) CLS
8(J) FAST
1 (J)(/) PRIN TAT UP, 7 (/J;" FAS Til 7 10 PAUSE 750
72(f)CLS
130 GOSUB 2m (j) 74(J) SLOW
150 STOP
2(J)(J) FOR A = (j) TO 63 STEP (/J.5 21m PLOT A,22 +2"(j) *SINfA .. rr/32) 220 NEXT A
23f!J RETURN
obs: 0 c.omando FAST e multo util para editor progromas longos ou quando envolve colculos morernoncos.
66
9.11.2. (amanda PAUSE
Se for necessaria umo pouso num determinodo ponto do progromo, voce podero utilizar 0 comondo PAUSE em uma de suos linhos Ele tero que vir sernpre seguido de um n?, que sera 0 seu tempo de porcdo 0 comondo PAUSE para a execu<;:60 do progromo e mostro a tela durante a tempo pre-deterrninodo por voce Esse tempo pode vorior de 0 a 32767, que equivole Q ± 9 minutos e e contodo do seguinte forma: 0 nurnero que voce colocor op6s 0 PAUSE sera considerodo como n? simb6lico, pols ele sera dividido, pelo RINGO, por 60. que eon? de quodros que 0 televisdo mostro por segundo, Se voce ultropcssor esse foixo pre-esupulodo de tempo. a pousa do progromo sera permanence.
EXEMPLO 1
PAUSE 240 240/60 = 4
o tempo real sera de aproximadamente 4 segundos.
o PAUSE e melhor utilizado quando se rrobolbo em FAST, pols 0 SLOW praduz, com esse comondo. umo "plsccqern" no tela. provocado por umo desincronizocoo em sua vorreduro.
EXEMPLO 2
-
Pressione: FAST e ENTER,
-
70 FOR A = (j) TO 30 20 PRINT A
30 PAUSE ee
4(f) CLS
50 NEXT A
EXEMPLO o
Coso queiro lnrerrornper 0 tempo determinodo par esse camondo. aperre qualquer teclo. com excecco do OREAl':;. que seu programa voltoro a executor.
Porem, se for necessorio dar uma pauso no execucoo de um progroma com velacidade SLOW. voce podero recorrer aos comandos FOr./NEXT para obter um tempo de porodo.
7 (f) PRINT "SLOW"
20 FOR A = 0 TO 200 3(f)NEXT A
40 CLS
-
- ~
"'1
--
-
-
_.:, ~. ~ ~ ~
~ _::;
".,.."
67
Nesse exemplo. depots de oporecer no tela a palovra "SLOW". 0 programa deu urno pouso de 200 posse s. is to e. 0 Micro execu tau a com a ndo FORi NEXT - linhos 20 e .30 - ate a final da contogem e. em seguido, lirnpou a tela.
Utilizando
1 fj) IF INKEY s = "" THEN GO TO .7flJ
voce obtero urno pousa indeterminada. au sejo, a progromo ficoro interrornpldo ate ser diqitodo olguma recto (com excecco do BREAK).
9.1 2. Operocoes 16giC'QS
9.12.1. Fun~o NOT e Operocoes L6gicos AND e OR
Como virnos em copltulos cnteriores. a Micro possui a poder de- declsco em alguns casas espedficos. Existem progromas, porern. em que 560 necessortcs condicoes strnultoneos poroque 0 ".470 estobelcco seu proximo posso. Nestes programos usamos 0 NOT,o AND e 0 OR.
Umo maneiro mots focil de entende-los - como no rnotorto dos operocoes do BASIC - e troduzindoseus significados para a portuguese
AND = e OR = au NOT = nco
No interior do Micro noo extste a rnoternonco convencional, que Eo a que utilizemas em nosso dlo-o-dro. Existe, sim, e a algebra chomodo Oooleono. Nelo. desconhecemos tudo a que for olern do unidode, isto e. 0 numero 1. 56 existe 0 0 eo 1. Ee otroves de-sees dois nurneros que 0 cornputodor controlo todo a seu funcionomenta: rnernorios. circuitos e etc .. E a principia utilizodo pelos computodares.
J6 virnos no capitulo de Opercdores Motematicos que podemos rer acesso Q esto algebra otroves do onolise que a Micro reolizo de umo express6o:informo 56' e folso (0) au verdodeiro (1).
Para que voce en tendo as tobelas a seg'Oir, lernbre-se que 0 61gebra Ooole-ano segue as principios do 169ico (diferente do moternonco convencloooi) ..
,-
68
Podemos dizer que 0 AND e 0 produto 16gico. Como vemos no tobelo oboixo. 56 quando as duos entrados 560 1 e que a resultado e 1.
AND
ENTRADA ENTRADA SAiDA
a a a
0 1 0
1 0 0
1 1 1 A grande vontogem do R-470 e que ele pode trabolhor n60 56 cam a e 1, mos rombern com vori6veis e STRINGs. 5endo ossirn. ele funciono do seguinte forma:
Vamos supor que a prirneiro entrada do tobelo ocimo e X e a segundo Y. Ent60:
X AND Y = X - se Y =1= a X$ AND Y = X$ se Y =1= a
XANDY = O-seY = a XiANDY = ""seY = a
Para que 0 Micro posse trabelhor desta forma, repare que ele do uma especie de prioridade 00 segundo operando, sendo este 0 que determina 0 resultado do operccoo 16gica.
o OR pode ser considerado como umo soma 16gico
OR
ENTRADA ENTRADA SAioA
0 0 0
a 0 1
0 1 1
1 1 Nesta func;Eio, 0 Micro trobolho sornente cam vorioveis nurnericos. dando, iguolmente, prioridode 00 segundo operondo. Vejo
X OR Y = 1 - se Y =1= 0
X 0 R Y = X - se Y = a
o NOT, par suo vez, e urno neqocoo loqlco.
NOT
ENTRADA
SAiDA
1 o
a 1
NOT X = 0 - se X :;i:' a NOT x = 1 - se X = a
SIMPLIFICANDO
o AND, 0 OR e 0 NOT servem para que voce possa obter resposto de uma ope-
rocco que contenho vorios testes em cor-junto.
AND - Um e outro Or. - Um ou outre NOT - Inverte
EXEMPlO 1
7(1J FOR A = 7 TO 8 2(J) PRINT A;
3(J) IF A = 3 OR A = 6 THEN PRINT" MUL TlPLO DE 3 ": 4(fJ PRINT
50 NEXT A
Neste exemplo, a condlcoo para que a frose sollcitodo fosse escrita era que 0 A fosse iguol a :3 ou iguol a 6.
EXEMPLO 2
7 (fJ PRINT "DE 0015 NUMEROS ABAIXO DE 7 e: 20 INPUT A
30 INPUT B
40 IF A < J 0 AND B < 70 THEN PRINT" "CERTo. ";A,'" E I/;B,'" SAO MENORES QUE J.(/)"
50 IF A > = 7 f/) AND B> = J (fJ THEN GOTO 9(fJ
60 IFA > 7(fJ OR B> 7f/) THEN PRINTIIA; "E ",B;." NAO SERVEM; OS 0015 TEM QUE SER MENDRES QUE 7 (fJ "
7m PRINT ""
8(JJ GOTO 7(IJ
9(f) PRINT" "ERRAOo. ";A,·II E ";8;" NAO S,L\O MENORES QUE 7 (f)" 7 0(f) PRINT ""
7 J {/J GOTD J(lJ
Neste exemplo vimos que, no linha 40, a condic;:6a 56 e sotlsfeito se a A e 0 [} 500 menores que 10.
No linho 50, a condlcco 56 e sotlstelto se 0 A eo [} s60 maiores ou iguais a 10, No linha 60, a condkoo 56 e sotisteito se 0 A ou 0 [) soo majores que 10.
9 . 1 3. Motrizes
70
.....
9.13.1. (amanda DIM
Com 0 comondo DIM e possivel reservor espoco no memoria do RINGO para umo motriz com n dimens6es a serem estobelecidos por voce, bcsrondo openos definir um nome para esso motnz. que preciso ser, necessariomente, umo unicc letro. E, logo em seguido, entre porenteses. os dlrnensces do mesmo, podendo, ossim, introduzir elementos olfonurnericos ou numericos. Vejo os exemplos oboixo:
EXEMPLO 1
70 DIM A (5)
20 LET A ( 7) = 564 3(f) LET A (3)= 70 4(/) LET A (4)=5 50 LET A (5) = 92
Suponho que esse sejo 0 espcco reservodo na memoria do Micro determinado pelo comondo DIM para a rnctriz A
1 2 J 4 5
~1~0~--10~--5~--92~
Agora, digite 0 comando PRINT juntomente com a nome do rnotriz e os coorde- c...
nodos desejodas e 0 Micro rnostroro 0 n? correspondente no tela. --
PRINT A ( 7;
Aporecero na tela: 564
PRINT A (2)
Surqiro 0 n? 0, pois 0 RINGO zero todo 0 espcco de memoria reservodo que noo foi definido.
-
PRINT A (5)
Surqlro 0 n? 92
EXEMPLO 2
J(/J DIM B (2,2,2) 2(/J LET A = 7
3(JJ FOR Z= 7 TO 2 40 FOR Y= 7 TO 2 50 FOR X= 1 TO 2 6(jJ LET B (X, Y,Z) =A
7(fJ PRINT "8(";X;", ";Y;", ";Z;") 8(J) LET A = A + 7
90 NEXT X
7 (J) 0 NEXT Y J 10 NEXT Z 12m STOP
--
--
I
.1
",S(X, Y,Z)
~
.,,1
-
_.I
'" -.1
---
-
!li>1 -
-
.-
71
Neste progroma, como voce jo deve ter notodo. 01\-470 guardou nurneros de 1 a 8 na motriz 13 com dirnensoes (2,2,2) e escreveu na tela 0 processo de orrncz enornento.
Voce tornbern pode dimensionar rnotrizes olfonurnericos usondo, opes 0 nome do rncrriz. 0 $. Nesse coso, para coda coordenodo deve-se eoloeor openos um coroeter.
EX9APLO
7(j) DIM AI (2,5) 20 LET A $ (7) 3(fJ LET AI (2) =
"MICRO" "R-47(J)"
2 J 4 5
~I M I I C P- O
R 4 7 0
PRINT AI tt,s) Aporece: C
PRINT AI (2,2) Aporece:
PRINT AI (7) Aporece: MICRO
PRINTAI (2) Aporece: R-470 obs.: Em rnotriz es olfonurrrericos de 2 di mens6es (-, -), olern de el ernentos isolodos, rornbern conseguimos reeuperar do mem6rio a linho inteiro. digitondo openos seu n?; 0 que noo ocorre em rnotrizes nurnericcs. Porern, em motrizes de mois dirnensoes sera necessorio que se escrevo nOs de linho e coluno para que isso oconteco.
9.14. Operocces com vari6veis clfonurnerlccs
9.14.1. Fun<;60 LEN
Para se obter 0 comprimento ou 0 nurnero de corccteres de umo STRING e necessorio 0 uso do funcoo LEN. Esto funcoo conro 0 nurnero de corocteres centro de umo STRING. Os corocteres noo impressos e vozios tornbern sao contodos.
~:.
72 EXEMPLO 1
. 7(1) LET A $ = "A TENAS" z» PRINT LEN (A $)
EXEMPLO 2
7 (fJ INPUT A $
20 LET A = 72- (LEN AI)12 3(fJ LET B = 75 + (LEN A 1)/2 4(fJ FOR X=A TO B
50 PRINT AT 8,X; ",. ". AT 7 2,X;",." 50 NEXT X
7(J) FOR X= 7 TO 3
8f}) PRINT A T 8 + X,A, "'Ie ";AT 8 + X, B," r r
90 NEXT X
7 (j)f}) PRINT AT J(lJ,A + 2,A $
9.14.2. Func;60 STR$
A funcoo STR$ converre um determinado nurnero em umo STRING, isto e. 0 Micro Ie um nurnero como se fosse umo palavro, nco podendo. portonto, esto polovro ser utilizodo em operccoes rnoternoncos e sim em furtcces oltonurnencos.
EXfMPLO
7 (f) INPUT A
20 PRINT "NUMERO: ";A,-" + 7 ",A-+ 1
30 PRINT
4(fJ LET 51 =STRt A
50 PRINT "STRING: ": se. r r + 7 = ": 51 + "7"
No linha 10 0 programo pede para voce deterrnlnor 0 valor de A. (olaque um nurnero. Feito lsso. cperte a redo ENTEr... Em seguido, oporeceroo 2 froses.
A primeiro, como voce deve tef notodo. cornpce umo operocco rnoternotko de odlcoo entre dois nurneros. Jo no segundo, quando 0 nurnero e considerodo umo STRING (polovra), 0 sinal (+) derermino umo posicoo sequenciol. isto e, a resulrodo forma umo novo STRING, com nurneros dispostos um opos 0 outre. Observe que no linho 500 nO 1 esro entre ospos. lsto porque, como voce deve lembrorse. todo STRING precisa ester sernpre entre ospos.
"I
=1
9.14.3. Foncoo VAL
,;;:. 'I
.. I
-
A func;:oo VAL e a forma inverse do fun<;60 SHU. Elo transform a um nurnero que .,
~
-
-
""".;
73
esto como STRING Ceneorodo como polovro) em um nurnero que se pode menusear em operccoes rnoternoticos.
EXEMPLO
1 (fJ INPUT A$'
2(f) PRINT "5 TRING: ";A $;" + 7 = ";A $ + "1" 3(fJ LET V= VAL AI
4(fJ PRINT
50 PRINT "NUMERO: ": V;" + 1 = ": V + 7
Entre com um n?
Este exemplo e do mesmo tipo 6quele exposto no Fun<;60 STR$. A unico mudan<;0 e que a partir do linha 30, a STRI NG nurnerrco introduzido, e tronsformodo pelo run<;do VAL em nurnero. efetuondo, assim, a operccco motem6tico de odicco.
9.14.4. Fun¢o CHR$
o RINGO possui umo tobelo onde guordo todos os seus corocteres. comondos e funcoes, num total de 256, diferenciodos por nurneros decimois. Para que possemos ref ocesso a esto tabelo, e que extste a funcco CHRi. Conheco-os otroves do exemplo oboixo.
EXEMPLO 1
10 FOR A = 0 TO 255 20 PRINT CHRI A;
3(fJ NEXT A
Repore que todos os corocreres. cornoncos e fun<;6es do reclodo estco irnpres- 50S no tela. Para a conterencro dos mesmos, individuolmente, proceda da seguinte forma:
EXEMPLO 2 PRINT CHRI 36
9.14.5. Fun<;60 CODE
Esto tuncco e inverso 6 CHR!. Ao loves de nos rnostror 0 corocter que nos pedimos otroves de um c6digo, nos rnostro 0 c6digo solicitodo otroves de um corocter.
EXEMPLO
PRINT CODE "A"
Repore que oporeee 0 numero 38 no canto superior do tela. Esre e a c6digo do letro A. (Vejo tobelo de codiqos no final do rnonuol).
74
~
I
,-
9.15. Fito cossete
-
9.15.1 Armazenamento em fito
o ormozenomento de programas em ftto e muito simples. A primeiro coiso a fazer e pegor um grovodor comum que possuo as soidas EAR e AUX, do tipo JACK femea e conector 00 par de cobos com plugs que ocomponha 0 computodor. Olhe minuciosomente seu gravador; sera muito fool enconrror essas soidas. Depois de feito a devido conexco. verifique se seu grovodor possui controle outornottco de nivel de qrovocoo. Coso nco possuo, voce tero que efetuor ojustes de nivel entre 0 e + 2D13 Cquase atingindo a foixa verrnelho). 0 pr6xima passo e arranjor umo fito virgem; voce pode estor certo que era Ihe proporctonoro grondes sotisfocoes. pols. posstbllltoro a voce salvor seus programos feitos com tonto carinho e dedicocdo.
Como jo dissemos, 00 desligor 0 Micro f!..INGO tudo que estiver no mem6rio esto perdido. Mas com a flto. voce podero usor 0 progroma quontas vezes necessitar.
Utilizondo openos 2 comondos: SAVE e LOAD, podemos efetuor 0 armazenomento em ftto.
9.15.2 (omanda SAVE
Para a tronsferericio de um programo complete. ormozenado no mem6rio RAM, para 0 fito cossete, devemos usar 0 coman do SAVE.
EXEMPLO
1 (fj REM PROGRAMA PARA TESTE DO SA VE 2(f) FOR A == (J) TO 27
s» PRINT TAB A; "RINGO" 4(j) NEXT A
Ncq e necessaria executar a pragramo para efetuar a tronsferencic da memoria 6 fita cassete.
Dlqlte juntamente com 0 comondo SAVE, 0 nome do programa sem opertor oindo a tedo ENTER.
SAVE "TESTE"
Obs: Para voce acompanhar 0 processo de qrovocoo. montenho a tela com 0 fundo bronco.
A esto horo, voce jo deve ester com 0 grovodor preporado. Pressione, entoo. 0 PLAY e 0 REC do grovador e, logo em seguida, a redo ENTER do computodor. Feito isso observe a TV:
-
~ ~ __;,
~ ~
_::t ~ ~ ~ ~
75
Durante 5 segundos, 0 video ncoro opogodo, surgindo, logo opos, listos horizonrots. 5e quiser. oumente a volume de sam da televisdo. Provovelmente. no inicio. voce se espontoro com os ruidos agudos que emonoro da TV. Porern. fique tranqui· 10: as ruidos sao e6digos sonoros sendo gravadas emnto.Apos mais alguns segundos. a tela voltoro 00 normal com a lndlcccco 010. lrnediotcrnente. pore 0 grovador, pais a ormazenamento do programa em fito jo foi cornpletodo
o Micro RINGO estovo mandando um sinal otroves do AUX do grovador e, 00 mesmo tempo. um sinal para a TV. No perfodo em que a tela apagou, ° programo ainda noo estovo sendo processado, se efetivando somente com a oporecimento dos hstos horizontois. Depois dlsso. a tela voltou 00 normal com a stnollzocoo 010 no contomtertor esquerdo do video,indicondo que 0 programa jo havia sido gra· vado.
Para ter certezo se a progromofoi mesmo gravado, desconecte a cabo do grovador do soido EAR, volte a fita 00 Inicio e ouco-o Voce ouviro um zumbido suave e depots 5 segundos de silencio. 0 progromo oparec.e no fito como urn ruido estridente e alto, finolizondo com outre mars suave.
Se voce noo ouvir nado dlsso, verifique se a gravodor esto interligodo corretomente e se 0 nivel de grovo<;60 esto bem ojustodo.
9.15.3 (amanda LOAD
o comondo LOAD. procedendo inversomente 00 comanda SAVE, corrego a programo do fito para a cornputodor. Para tonto, coloque a fito no tnkro e verifique se o nivel de sam do grovodor esto em torno de 50% a 75% de volume, pols. para a Micro captor a progromo rode. juntomente com a porte silenciosa e n6,0 haver qualquer distorcoo. a volume precise ester bem regulado_ 5e seu grovodor river controle de tonalidade, ojuste a nivel de agudo ao maximo e ° grove, 00 minima. Ap6s esse overlouocoo. lnterlique corretornente os plugs e pressione 0 reclo LOAD seguida pelo nome do programo.
LOAD "TESTE" ENTER
Agora, pressione a PLAY do gravador e. opes alguns segundos, voce vera novomente llstos hortzootors no video. Quando a tela voltor 00 normal e oporecer 0 codigo 0/0, isto estero indicondo que 0 programa jo foi ccrreqodo. bostando a voce cpertor a redo LIST para ele aparecer na tela, o tempo que leva para carregor um progroma depende de seu ournero de linhos: mas se voce notorurno demora exogerodo au cporecer formos verticols no tela. pressione a tedo GREAI< para Interromper a processo. pais olga de errodo deve ester acontecendo. Verifique se a coneccoo dos plugs, a nfvel de volume e a digitoc;aO do nome esroo corretos. Ap6s conferir estes itens, pressione LOAD e 0 nome do programa novamente.
Coso voce nco tenha a nome do progromo. utilize um outre recurso que oRIN· GO oferece:
76
Pressione:
LOAD"" ENTER
Em seguido. pressione PLAY. Diqitondo umo STRING vozlo no lugor do nome, sero tronsferido para 0 computodor 0 primeiro progromo que 0 Micro encontrar no fito .
Os comondos SAVE e LOAD podem, tornbern. ser utihzodcs como parte de um progromo, isto e, ocupondo umo linho.
Coso voce queiro "solver" todo 0 progromo e suos vorioveis -grovondo-os em fito- sem a necessidode de lnterrornpe-lo, utilize 0 comondo SAVE em umo linho de proqrornocoo. Logo opos 0 terrnioo do qrovccoo. ele voltoro outomoticomente para a proximo linho oquelo destinado 00 comondo SAVE.
EXEMPlO
7 (/) FOR A ~ (/) TO 2(f) 2(f) PRINT A
3(f) IF A = 15 THEN SAVE "TESTE" 4(f) NEXT A
AINDA NAO DIGITE RUN ENTER
Esse exemplo foz umo contogem de 0 a 20. Porern. um pouco antes dele chegar 00 nO 15, prepare a gravodor apertando a PLAY eo REC. pais, seg~ndo a linho ,)0, exatomente nesse nurnero. inicic-se a orovocoo. retornondo. no finol. para 0 proximo passo do progromo, isto e. aporecendo em bloco do n? 0 00 15 e recomec;ondo a contogem a porti r do nO 1 6. Agora voce jo pode executor 0 progromo. Aperte RUN ENTER e confiro.
Pressionando a recto ENTER, voce notoro que no linho .30 - a do SAVE - opos 0 retorno do progromo para 0 Micro, a ultimo letra do polovro "TESTE" esto esotto em video-Inverso. Esse recurso e utilizodo pelo RINGO para detector 0 termino do nome do progromo.
Quando utilizornos 0 comonda LOAD poro tronsferirmos, do fito para 0 rnernorio do Micro, um progroma que fOI salvo por um SAVE contido numo de suos linhos, ele continuoro tornbern no linho posterior 6 do comondo SAVE.
Recorrendo a esse processo de utllizocdo dos comondos SAVE e LOAD, 0 progroma 00 ser corregado no Micro ser6 executodo sem precisor do comondo RUN ou GOTO para isso.
Obs.. Numo fito, voce podero ormozenar rnuitos progromos. Para localize-los com moior facilidode e sober corretomente 0 nome com 0 qual foi grovodo (coso tenho esquecido), e oconselhovel que, antes de utilizor 0 SAVE, voce grove com suo VOl 05 nomes dos progromos. Para isso, desconecte 0 cabo do entrodo AuxiHor e utilize 0 microfone. Apos tef grovodo 0 nome, nco esquec;o de ligor novomente 0 cabo do entrada AUX.
- .~ I
-
77
9.16. Impressoro
9.16.1 . Cornondos COpy, LPRINT e LLIST
Estes comandos nos permitem a utllizocco de impressoro ocoplodo 00 Micro.
9.16.1.1 . (amanda COpy
Este comondo foz com que a impressora copie 0 que estiver no telo. No coso de a tela ester em movimento. precisamos poro-lo para que a impressora en(re em 0<;:60.
9.16.1.2. (amanda LPRINT
Este comando tem 0 mesmo funcoo do comonda PRINT. 56 que 00 inves de possor para 0 tela, posse para 0 impressoro.
9.16.1.3. (amanda LUST
Tem 0 mesma funcdo do comando LIST, 56 que em vez de lister 0 programo no tela. lista no impressora.
9.17. C6digo de rnoqulno
9.1 7.1. Unguogem de rnoqcmo
Existe um outre modo de escrever programos no RINGO olern do OASIC. Eo linguagem de m6quino. Essa linguagem e usado pelo Micro em seu processomento interno para ele en tender e executor tnstrucces.
Ao utiltzor diretomente 0 linguagem de rncqulno. voce evltoro redo um trobo/ha de oecodutcccco que a Micro comumente fez. oumentondo suo velocidade. Outre vantagem e que. com isso. se ocupa um espoco menor de mem6ria.
o R-470 passui como centro de decis6es a CPU-ZBO. Ela Ie. lnterpreto e executa lnstrucoes. foz operocoes rnoternoticos e controla 0 video eo teclcdo. Porern, esso CPU tem um modo especiol pora trobothor com nurneros. Quondo voce digito um nO no sistema decimal, lsto 120, no bose 10,0 Micro. internomente, trcnstorrno-o em
78
sistema bmorto. pois a CPU so trabalha com n?5 no bose 2; portonto , seus sinois eletricos 56 padem ossumir 2 estodos: 0 au 1 - desligada ou ligada. Exemplo: 0 volt, ou 5 volts. Mas para mostrar 0 resultado no tela, 0 computador colocoro 0 n? no sistema decimal.
Quando eloboror um programa em Iinguagem de mcqulno. voce sentlro maior facilidade efetuando um acompanhamento do processo de operocoo interne do Micro Para isso. utilize a linguagem ASSEM[3LER que 500 polovros-chove que ddo uma nocoo de to do esse processo otroves de uma listagem (fora do Micro) feita por voce.
9.1 7.2. Sistemas nornericos
A CPU·Z80 do RINGO trabalha com polovrcs - Gytes - que 560 locolizocces de mem6ria. 0 lugar destinado 00 orrnozenornenrc de dodos chorno-se RAM (RANDOM ACCESS MEMORIES) que vai do posicoo de mem6ria 16384 a 32767, no coso dele ser de 16 Kbytes ou ate a 655J5, em mem6ria com 48 Kbyres. Um Kbyte e formado por 1024 Bytes (210) e coda Byte por 8 bits. Ou seja: 1 Byte cornpce 8 slnais eletrlcos: Oou 1. Porern. para voce acompanhar todos operocoes exercidas pelos bits (0 ou 1) - sistema bmono - sera muito mais protico. tronsforrno-los em HEXADECIMAL, que 560 nurneros no base 16.
Voce entendero melhor, consultando a tabela abaixo e preston do otencoo nos exemplos:
DECIMAL(lO) HEXADECIMAL(16l
0 = 0
1 = 1
2 = 2
J = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = A
11 = [3
12 = C
1J = D
14 = E
15 = F s: - ...
- ..
- ...
- ;;r.
s:
-
..
-
-.
... -
-
-
79
EXEMPLO 1
4.35°(10) - = 4350 \J..£.
(16)
115 271 ~
030 111 16 us.
~ @] @J ~ A cadeia de operocoes rnoternotlcos de drvrsoo deve ser interrompida quando 0 ultimo quociente for menor que 16 e seroo ordenodos. para consulta de Tobelo. a partir dele, ou seja: de maneira inverse.
~ ~ ~ ~ = 10FE
EXEMPLO 2
- (16)
= 183 023
@2]
Consulte agora a Tabelo para tronsformar 0 quociente (11) eo resto (7) que estao no sistema decimal para 0 hexadecimal.
13 [2] = 07
Coso voce queira dlqlror um n? no Micro e ele esteja na forma Hexadecimal, transforme-o para Decimal do seguinte forma:
10FE = ~ ~ @] ~ =
1 * 163 + 0 * 162 + 15 * 161 + 14 * 16 0 = 4350
11 * 161 + 7 * 16° = 1 83
aD
..
-
p.
-
,. -
...
-
-
,#.-"I, - ...
- ...
10.PENETRANDO NAS
,
MEMORIAS DO R-470
82
•
V
r:
Ate ogara, voce tem visto lnstrucoes que Ihe facilitom a utllizocoo dos recursos do linguagem 13ASIC, porern. sem ter acesso direto 005 volores contidos nos mem6rios do Micro. Para isso, temos a funcoo PEEI<' e 0 comondo POI<'E que Ihe perrnitern complete acesso a mem6rio RAM ou ROM'" do ,RINGO.
1 0.1 Fun<;60 PEEK
'" ROM (READ-ONLY MEMORIES) - Mem6rio que coorern todos os comondos e funcoes do i3ASIC. Elo permonece constonte mesmo com 0 Micro desligodo.
A func;:60 PEEK permite que voce tenho ocesso 00 conteudo de umo poslcoo de mem6ria, isto e, elo sempre assume 0 valor desse conteudo sem, todovio. olterc- 10. Para que isso ocorro. 0 PEEK deve vir sempre ocompanhado do enoereco de mem6ria desejodo Observe:
Dever6 oparecer 0 n? 128 que e 0 conteudo do endereco 16389 do mem6ria
RAM. P
EXEMPLO 1
PRINT PEEK 16389
EXEMPLO 2
~-
1 (/) FOR A = (JJ TO 8 79 1 2m SCROLL
3m LET x = INT (PEEK A/16) 4m LET Y=PEEK A-X -re
50 PRINT A; "- If; CHRI (X + 28); CHRI (Y + 28); " 6(JJ NEXT A
": PEEK A
1 0.2. Comondo POKE
Esse progroma far6 umo listagem completa da mem6rio r.OM, colocando em sequencia: Endereco - seu conteudo em Hexadecimal - seu coriteudo em Decimal .. Coso queira lnterrornper suo execucoo. como voce j6 sobe. basta pressionor 0 I3REA1<' .
Leia otentornente todos os tnsrrucoes contidas nos linhas deste oroqrorno. Voce vai notor que poder6 entende-lcs focilmente.' No linha 50 foi somado 2865 vorioveis X e Y para obterrnos 0 valor correto de ocordo com a Tobelo de Carocteres.
Com esse comondo voce pode guordor numo poslcco de mem6ria do RAM um nO desejodo. Para tonto, bas to colocar esse n? - que pode varior de 0 a 255 - ap6s
...
-!\' ' .:; ~ _;,
~,
~ _:;;
_::, _::;
.>
-
_.,
83
on? deeridereco, que vai do posiC;do16J84 ate 32767 - coso a mem6rio sejo de 16 Kbytes ou ate 65535 - se for de 48 Kbytes.
EX EM PLO
POKE zeooe, 147
Verifique se 0 nO 147 esto reolmente nesse endereco:
PRINT PEEK 2(j)(J)(lJ(j)
Aporecero no telo: 1 47
10.3 Fun<;60 USR
E usodo para se ter acesso a uma rotino em linguogem de rnoqulno Elo age como o GOSUB do BASIC.
A func;60 USR voi ate a enderec;o iildicado de mem6ria e considero as c6digos 16 encontrados comolinguagem de rncqulno, continuando suo decodificocoo para os enderec;:os posreriotes e so retornando 00 BASIC opos locolizor uma instrucoo RET do Z80 (Return).
o Micro cornporto uma serie de registrodores que serco especificados no decorrer desse manual; porern, se voce qutser usar olgum resultodo de rouno em linguagem de rncquino. 0 n? devero ser colo~odo no par de reqistrodores BC antes do tnstrucoo de retorno. Se nco bouver olte-ocoes durante coda a execucoo do funC;a.o USR, a par BC ossurniro 0 n? do enderec;:o indicodo
EXEMPLO 1
7 (lJ POKE 2(j)(j)(j)(j), 2(j) 7 2m PRINT USR 2(/)(j)(f)(j)
Tela ,: 20000
Ncl.oho 10 do exernplo. ° POKE guardou 0 c6digo 201 no enderec;o 20000. A func;oo USR decodificou 0 201 que significo RET e retornou sem olterocoes para 0 BASI C, deixan do no par de regi s trodores BC on? de en d e recornen to: 20000. 0 comondo PRINT escreveu esse n? no tela.
EXEMPLO 2
1 (fj POKE 2(lJ(/)(/)(fJ, 7
20 POKE 2(f)(f)(j) J, 65 3 (fJ PO K E 2 (j)(f) 0 2, 2 40 POKE 2(f)0(f)3,2(/) 1 50 PRINT USR 2rj)(j)(J)(f)
Resultado; 577
84
I
c-:
I
o POKE guardou as c6digos nos enderecos indicados. A funcoo USR decodificou todos os nOs armazenadas desde 0 endereco 20000 ate encontrar 0 c6digo referente a instrucco RET(201), que fez retornar 0 linguagem GASIC. E a PRINT escreveu na tela 0 nO colocado no par GC: 577.
Observe 0 que ocorreu no programa com a u uhzocco desses c6digos:
o c6diga 1 do linha 10 carregou 0 par [)( com os n:>s dos 2 Gytes seguintes, s6 que de maneira inverse.
Decimal
Hexadecimal
-
1 65 2 201
01
=
I
c-
-
Par !3C
-
o '" 1 6J + 2 '" 1 6 2 + 4 '" 1 6 1 + 1 '" 1 0° = 577
Transformando para 0 Sistema Decimal, teremos:
Quando 0 Micro estiver trabalhando em SLOW, v~ce nco poder6 usar os registrodares AF', IX, IY, I e R, pais eles sao utilizodos pela ronno que mostra a tela. Usondo a velocidode de proqrornccoo FAST existem tornbern algumos restricoes. Quando trabalhar com os reqistrodores lYe I, se houver olterocoes em seus conteudos. 0 IY dever6 ter 0 valor 4000h eo I, 0 volar de 1 Eh -antes de retornor 00 !3ASIC- para qUE? haja um perfeito funcionamento do programa.
o lugar seguro para se escrever rotinas em linguagem de m6quina num programa, de forma que n60 sejorn alterodos pelo DASIC. pode ser: nos primeiras linhas de programo em um comando .REM ou no fim do mem6rio RAM, reservando-se 0 espccc com 0 coman do NEW.
-
-
-
-
-
-
-
1 0.4. Orqoruzocoo do memoria
o RINGO divide sua mem6ria em diversas partes, cada uma para um determinado fim Vejo, a seguir. a represenrocoo desso oivlsco:
-
0
ROM
81
AR.
163
VARIAVEIS
DO SISTEMA
165
PROGRAMA
DIGITADO
TE
TELA
VA
VARIAVEIS
Gyre 80h LI E
EDI<";:AO
IN
PILHA DE
CALCULOS
FI
AREA LIVRE
STACK P
PILHA
DA CPU
PR
PILHA
GOSUG -
r=FlyE L:::J
85 Da posicoo 0 a 8191 encontro-se a ROM (READ-ONLY MEMORIES) que e uma memoria fixa, que se rnontern constorrre mesmo com o Micra desligodo. Nela esto armazenado todo a conhecimento
92 do RINGO sobre linguagem GA51C. controle de tela e teclodo ,
De 8192 a 16383: area reservodo.
84 Aqui iniclo a mem6ria RAM (RANDOM ACCESS MEMORIES)
Do posicoo 163846 16508 existe 0 espoco para os voriovels do sistema.
09
A partir de 16509 ficorn os progromos que jo farom diqitodos e oceltos pela Micro.
LA
Area reservcdo para a tela.
RI
Espoc;:o destinado para guardor os nomes e valores de voriovels nurnerkos e olfonumerrcos.
D
l>yte 80h - indica 0 fim do area de vorioveis
Area destinoda 6 linha de programa que esto sendo edttcdo e para entrada?e dodos.
PC
Coso sejo preenchido 0 espoco do area de voriovers do sistema destinado 00 ormozenamento ternpororio dos resultados de operocoes rnoternoucos. 0 Micro possoro a utilizer a pilha de cclculos.
PC
Espoc;a livre de mem6na utilizovel.
OINTER
Area utilizada pelo CPU - Z80 - para sua pilho (STACK).
GO
Guarda 0 enderec;:o de retorno do camanda GOSUI} - GASIC.
Espa<;o poro orrnozenor programas em linguogem de rnoquino onde 0 GASIC nao interfere.
86
Coda drvtsoo de mem6rio RAM, 0 portir do cncereco 16509, e olterodo a medido que voi se dlqitondo lnstrucoes no Micro.
Voce pode reservor um espoco para progromos em linguogem de rncqumo no fim do memoria, otroves do comondo NEW. Antes dlsso. porern. deve-se deterrninor 0 n? de 13ytes que sera utiliz odo e estobelecer 0 novo enderec;:o final do RAM, guordondo-o na voriovel FIME - FIM DA MEMORIA - (16J88 e 16J89). Ou sejo. 0 Micro, 00 receber 0 comondo NEW, opcqoro roco 0 conteudo do RAM e considerora como fim de memoria 0 endereco colocodo nesto voriovel e noo 0 verdodeiro finol.
Vamos, orroves de um exemplo, reservor um espoco de 100 13ytes. Em primeiro lugar, deve-se sober 0 encereco final do RAM:
PRINT PEEK 16388+PEEK 16389*256
Devera oporecer 0 n? J2768 que eo endereco final do mem6rio (J2767) + 1. Agora, subtroio 0 n? de 13ytes que desejo do endereco final.
32 76 7 - 1 (f)(j) = 3266 7
Coloque esse novo enderec;:o no vonovel FIME:
POKE J 6389,1NT (3266 71256J
POKE 76388,3266 7-PEEK 76389 * 256
Se quiser conferir, digite novomente a linho do primeiro exemplo. Aperte agora a teclo NEW e ENTER e 0 espcco de mem6rio estero reservodo. 0 unico inconveniente e que 0 SAVE noo orrnozenoro em fito esto regio~ de memoria e esso operocco deve ser reolizodo antes de se tozer quolquer progromo em 13ASIC.
~
10.5. Processamento interno do RINGO
Umo linho de progromo digitodo no Micro tern. em seu processo mterno. a seguinte forma:
Nurnero Cornprirnento do 'I Texto 76h (ENTER)
de linho rexto + ENTER
- 2 bytes
2 bytes
n bytes
No RINGO, como voce jo sobe. existe um espcco de mem6rio reservodo os vorioveis. Elos pod em ser: nurnencos. oltonurnencos. motrizes e do "Loop" FOR-NEXT, Para guord6-los nesse esccco e identificor coda rlpo de voriovel, 0 Micro possul urn c6digo especifico que, juntomente com a n? do letro. gero um codlqo final. Para focilitor seu entendlrnento. representornos obotxo todo a processo:
- vorrovel numerico com somente umo letrc:
- ,
87
,------------Valor------------..,
sinal
Letro I Expoente 15:
T
1 byte
1 byte
4 bytes
EXEMPLO 1 LET A"", 1 (/J
C6digo do letra no Sisto Binorio - 0010 01·10
C6digo do Micro - 0110 0000 (OR)
~
C6digo final - 0110 0110 = 66h = (102)d
h = hexadecimal
d = decimal
-
I 66 I 84 I 20 00 00 00
(102) (132) (32) (0) CO) (0)
LETB"",-l(J)
I 67 i 84 I AD 00 00 00
(103) (132) (160) (0) (0) CO)
LET C=2E3
I 68 I 8[3 I 7A 00 00 00
(104) (139) (122) (0) (0) (0)
LETD=2E-3
I 69 I 78 I OJ 12 I 6E I 97 I
(105) (120) (3) (18) (110) (151)
,...
- 88
- voriovel nurnertco com mois de umo letro:
~ ~ Le_t_ro ~I ~e_09_r~_~_t~_~ __ ~I ~~~ -LI c~_'lr_~_~_~_r __ ~I v_o_lo __ r __ ~1
1 01 -. - - - - 00 - - - - -
10------
5 bytes
EXEMPLO 2
LET RINGO = 1 (J)
I B7 [ 2E I JJ I 2C I B4 I 84 I 20 I 00 I 00 I 00 I
(1 8,]) (46) (51 ) (44) (1 80) (132) (32) (0)
(0)
(0)
- vori6el oltonurnertco:
l.etro c- 20h)
Nurnero de corocteres
Iexro do SmlNG (pode ser vozio)
010
2 bytes
n bytes
EXEMPLO 3
LET AI = "R-47(/)"
-
~ I 06 I 00 I 37 I 16 I 20 j 23 I 1C I
(0) (6)
(0) (55) (22) (,]2) (35) (28)
- rnotriz de nurneros:
.--- .. ---.-------r-------,--------,-~~--,_------~------~
Letro Tomonho'" Nurnero de Primeiro If.
(-20h) do motriz dlrnensoes dirnerisdo. ~<..
~~L_ ~ ~
Ultimo
dirnensco Elementos
100 _
2 bytes
1 byte
2 bytes
2 bytes 5 bytes coda
~ - lSI
*1 IE' 1
" Total de elementos & dirnensoes + 1 para nomero de dimensoes.
t""
1161
EXEMPLO 4 DIM E (2,3)
",I
'_
tB-1 ,-
61
-
:_;
.::; 89
8A 23 00 02 02 00 03 00 I 5 bytes para coda n? I
(138) (35) (0) (2) (2) (0) (3) (0) L 6 numeros__j - motrizes olfonurnericos:
Para esse tipo de matriz, 00 lnves de 5 bytes para coda nurnero, e reservodo 1 byte para coda corocter.
EXEMPLO 5
DIM E$ (2,3) (1 byte para coda corocter: 6 bytes)
..,.:J I CA I DB I 00 02 02 00 03 00 00 00 I 00 I 00 00 00
- (202) (11) (0) (2) (2) (0) (3) (0) (0) (0) (0) (0) (0) (0) - vcrlovel do loop~FOR-NEXT:
l.etro Valor Limite Posso Unha de
looping ..4 111 _____ 5 bytes 5 bytes 5 bytes 2 bytes
~
EXEMPLO 6
1 (f) FOR V= 7 TO 7 (J) STEP 2
I m I 81 I 00 00 00 00 84 20 00 ~
(251 ) (129) (0) (0) (0) (0) (132) (32) (0)
~ 00 I 00 82 00 00 00 00 DB 00
(0) (0) (13D) (0) (0) (0) (0) (11) (0) 90 ~
1 0.6 Van6veis do sistema
DECIMAL HEXA NOME NOTAS
16.384 4000 CORE C6digo de reportogem. 0 valor e incrernentodo antes
de sec escrito.
16.385 4001 OCT 1 OIT a - supressdo do espoco anterior 00 comondo.
OIT 1 - controle do impressora.
13IT 2 - seleciono modo do K ou L, ou F ou G ~
OIT 6 - N? em ponro tlutuonre ou porornetros de
STRING.
[lIT 7 - reset durante verlftcocoo de sintoxe .
16386 4002 PRGO Pilha de retorno do GOSU13.
400.3
16.388 4004 FIME Fim do memoria. -
4005
16390 4006 MODO Contern 0 codiqo para K ou F.
16.391 4007 NILSE N? do linho send a executado.
4008
16.39.3 4009 FASA Inicio do RAM que e salvo em fito. ,.
16.394 400A LBAC Linho do BASIC opontodo pelo cursor. ,.
40013
16.396 400C TELA Inicio do orquivo de imogem.
4000
16J98 400E EPPA Endereco para posicdo do PRINT AT.
400F
16400 4010 VARI Inicio do area de vcrtoveis.
4011
16402 4012 ENVA Endere<;o do vorlovel em otnbuicco.
4013 ,.
16404 4014 LIED Inicio do linho de edicco. ~
4015 ..
16406 4016 ENCI Enderec;o do corocter a ser rnrerprercdo. Pode ser no
area de progromo ou na linho de edi<;60. ...
4017 ..
16408 4018 EESI Endereco do erro de slntoxe ,
4019 lIfO-
16410 401. A INPC Inicio do pilho de colculcs ~
4010 ,
16412 401C FIPC Fim do pilho de cckulos.
401D ~ I
16414 401E REBC Registro 13 do co1culodar.
16415 401F EOPF Endereco para bose do tobelo de n?s em ponte
tlutuonte , podendo ser no pilho de colcolos.
4020
16417 4021 . Noo usodo.
16418 4022 NLP'I Nurnero de linhos no porte inferior do lela.
16419 402.3 NLLA N? da linho em listogem outornotlco. ~
4024 tB
16421 4025 VUTP Valor do ultimo redo pressionodo
4026 I.'.
~
~ 92
,-
..
-
-
-
- I
.....
-
-
A
11. APEN DICES
,;:-
94 11.1 C6digo dos corocteres ,.:-
,..,..
C6digo Hex Caraeter Codigo Hex Co.racter C6digo Hex Caracler C6digo Hex Caracter ,,;;>
0 00 Espcco 64 40 !1.ND 128 80 0 192 CO ...
1 01 ~ 65 4.1 INKEY$ 129 81 ~ 190 C1 AT
2 02 Iii 66 42 PI 130 82 ~ 194 C2 TAD ~
3 OJ ~ 67 43l 131 80 195 C3 Noo usodo ,.,.
4 04 ~ 68 44 102 84 196 C4 CODE
5 05 [] 69 45 13J 85 11 197 C5 VAL ,.,.
6 06 ~ 70 46 1J4 86 ~ 198 C6 LEN
7 07 ~ 71 47 105 87 r. 199 C7 SIN ,.
8 08 too 72 48 136 138 tii 2.00 (13 GQS
9 09 til!! 73 49 137 89 201 C9 TAN ~
W OA iii 74 4A 138 8A ~f 202 CA ASN
~
'11 00 7fl 40 139 813 203 CD ACS
12 DC rt 76 4C 140 8C If 204 CC ATN ,~
10 OD $ 77 40 141 8D ) 205 CD LN
14 DE 78 4E 142 8E 206 CE EXP ..,.
15 OF 79 4f 143 8f ? 207 CF INT
10 80 50 144 90 ( DO SQR -
16 208
17 11 81 51 ~45 91 ) 209 D1 SGN ..,.
18 12 > 82 52 146 92 > 210 02 AI3S
19 13 < 83 5J 147 93 < 211 OJ PEEK *
20 14 84 54 148 94 212 D4 US!1.
21 15 + 85 55 149 95 + 21J 05 STIU ,.
22 16 86 56 150 96 214 06 CHIU ~
23 17 87 57 151 97 215 07 NOT
211 ~8 I 88 58 152 98 I 216 08 .. ..,.
25 19 89 59 Noo usodo 153 1J19 217 D9 OR
26 1A 90 SA 154 9A 218 DA AND ~
27 10 9~ 513 155 913 219 013 <=
28 1C 0 92 5C 156 9C 0 220 DC >= "
29 1D- 1 9J 50 157 90 1 221 DO <> ..
30 - 1E 2 94 5E 158 9E 2 222 DE THEN
01 1F J 95 SF 159 - 'IF J Video 223 OF TO ..
32 20 4 96 60 160 AO 4 inverso 224 EO STEP
3J 21 5 97 61 161 A1 5 225 E1 LPRINT ,.
34 22 6 98 62 162 A2 6 226 E2 LLIST
J5 23 7 99 63 163 A3 7 227 EJ STOP _.,
36 24 8 100 64 164 A4 8 228 E4 SLOW ...
37 25 9 101 65 165 AS 9 229 E5 FAST
38 26 A 102 66 166 A6 A 200 E6 LOAD ...
39 27 13 103 67 167 A7 0 231 E7 POKE
40 28 C 104 68 168 A8 C 2J2 E8 (ONT ...
41 29 0 105 69 169 A9 D 2JJ £9 DIM
42 2A E 1.06 6A 170 AA s 234 EA PAUSE ~
43 2(1 F 107 613 171 AI3 F 235 EO FOR ..
44 2C G 108 6C 172 AC G 206 EC GOTO
45 2D H 109 6D 173 AD H 237 ED GOSUI)
46 2E I 110 6E 174 AE I 238 EE INPUT
47 2f J 111 6F 175 AF J 239 EF fl.ETURN
48 J0 K 112 70 Cursor ( t) 176 DO K 240 FO LET
4cr J1 L l1J 7~ Cursor ( ~) 177 131 L 241 F1 L!S]'
SO 32 M 114 72 Cursor (..,_) 178 B2 M 2112 F2 NEW ..
51 J3 N 1 ~ 5 73 Cursor C-) 179 (lJ N 243 F3 NEXT
52 34 0 116 74 G~PHICS 180 134 0 244 F4 MND ~
53 35 P 117 75 EDIT 181 05 P 245 F5 Pfl.INT
54 J6 Q 118 76 ENTER 182 06 Q 246 F6 COPY
55 J7 R 119 77 DELETE 183 137 R 247 F7 RUN
56 38 5 120 76 rncde K/l 184 138 5 248 HI SAVE
57 39 T 121 79 FUNOION 185 139 T 249 F9 REM
58 OA U 122 7] 186 I3A U 2.50 FA UNPLQT
59 3[l V 123 70 Nao usodo 187 1313 V 251 F[l S-CR.0LL ..
60 3C W 124 7C 188 DC W 252 FC IF
61 3D X 125 7D 189 (lD X 253 Fa CLS -
62 JE y 126 7E Numero 190 OE Y 254 FE PLOT
127 7F Cursor 191 [IF Z 255 FF CLEAR .. I
63 3F Z ""
n:..
_,_;J 95
~ 11.2. Assembler zao
-~ He", Dec Assembler He", Dec Assemble,. He>r Dec AS30embler He1{ Dec Assembler
_.";I 00 0 NOP 40 64 LO 0.13 80 128 ADD 0 CO 192 [l,ET NZ
-. 01 1 LD ec. nn 4:1 65 LD D,.C 81 129 ADD C (1 193 POP DC
_...,
02 '2 LO reo. A 42 66 .LD [1,1) 82 130 ADD 0 C2 194 lP NZ. nn
03 3 IN_(ZOC 40 67 LD [j.E 83 101 ADD E CO 195 JP nn
- 04 4 INC [\ <14 68 LD O.H 84 102 ADD H C4 196 CALL NZ.nn
_..., 05 5 DEC B 45 69 LD D.L 85 183 ADD L C5 197 PUSH OC
-. 06 6 LD B.n 46 70 LD O,(HU 86 184 ADD(HU C6 198 ADD A,n
_." 07 7 f1.LC A 47 71 LO G.A 87 135 ADD A C7 199 liST 0
.,. 08 8 EXAF.AF" 48 72 LD c.a 88 136 ADC 0 (8 200 IiET Z
_..",
09 9 PlOD HL,iJC 49 78 LD c.e '89 137 AOC c C9 201 RET
OA 10 LD A. COC) 4A 74 LD C,D 8A 108 ADC 0 CA 202 lP Z.nn
..... 00 11 DEC DC 40 75 ~O ~.E 8B 1J9 AI:l( E C(l 200 Grupo CD
DC 12 INC C 4e 76 LD C.H 8C 140 AOC H CC 204 CALL l,nn
~ 00 13 DEC C 40 77 LO C.L 80 141 AOC L CD 205 CALL nn
DE 14 LD e.n 4E 78 LD C.(HL) 8E 142 ADC(HL) CE 206 ADC A.n
_:; or 15 RRC A 4F 79 LO e.A 8F 143 AOC A CF 207 RST 8
~ 10 16 OJNZ e 50 80 LD D.O 90 144 SUG 0 DO 208 RET NC
11 17 LD DE.nn 51 81 LDD.C 91 145 SUO C D1 209 POP DE
.» 12 18 LD (bE).a 52 82 LD 0.0 92 146 SUO 0 D2 210 JP NC.nn
13 19 INC DE 53 8J LD D,E 93 147 suo E DJ 211 OUT n,A
_.:J 14 20 INC 0 54 84 LD D.H 94 148 SUB H 0<1 212 CALL NCnn
15 21 DEC 0 55 85 LO D.L 95 149 SUO L 05 21·3 PUSH DE
~ 16 22 LD D,n 56 86 LD O.(Hl) 96 150 Suo (HL) 06 21<1 SUI)A,n
_:i) n 20 [lL A 57 87 LD D.A 97 151 SUO .1'1 07 215 fiST 10
18 2<1 Jfi e 58 88 LD E.O 98 152 SOC I) 08 216 RET C
~ 19 25 ADD HL.DE 59 89 LD E,C 99 '15J SOC C D9 ',(17 EXX
1A 26 io A,(QE) SA 90. LO LD 9A 154 SOC D o.A 218 JP C.nn
~ Hl 27 DEC DE 50 91 LD E.E 90 155 SOCE DO 219 IN A.n
1C 28 INC E 5C 92 Lo. E.H 9C 156 S13C H DC 220 CALL C.nn
..,...!) 10 29 DEC E 50 93 LD E.L 90 1.57 SOC L DO 221 Grupo DO
_:J 1 E 00 LD E.n 5E 94 to E.(HL) 9E 158 SOC (HLl DE 222 SOC A.n
1 F 31 fil"l A 5F 95 LD E.A 'IF 159 S13C A OF 223 nsr 18
_.:.';l. 20. J2 JIi NZ.e 60 96 LO H.B AD 160 AND 0 EO 224 IiETPO
21 3.3 LD HL.nn 61 97 WH,C A1 161 AND C E1 225 POP HL
~ 22 j4 LD(nn), Hl 62 98. LD H,D A2 162 AND D [2 226. ,JP PO,nn
23 35 INC Hl 60 99 LD H.,f A3 163 AND E E3 227 EX. (SP),HL
_..:'.j 24 36 INC H 6<l 100 LD H.,H A4 164 AND H E4 228 CALL PO.nn
_:;. 25 37 DEC H 65 101 LD H.l AS 165 AND L [5 229 PUSH HL
26 J8 Lo.H.n 66 102 LO H.(HL) A6 166 AND (HL) E6 200. AND An
_:) 27 J9 OAA 67 103 Lo. H.A A7 167 ANo.A E7 231 RST 20.
25 40 m Z.e 68 104 LD L.13 A8 168 XOR 13 (6 232 RET PE
_..;j 29 4'1 ADD HL,.HL 69 105 LD L.C A9 169 XOH C E9 2jO lP (HL)
~ 21'1 42 LD HL. (nn) 6A 106 LD L.D AA 170 Xo.P, D fA 234 JPPE,nn
28 4J DEC HL 6[J 107 LD L.E A[J 171 XOR. E ECl 235 EX DE.HL
~. 2C 44 INC L 6C 108 LD l.H AC 172 XOfl. H EC 236 CALL PE.nn
20. 45 DEC L 60. 10.9 LD L.L AD 173 xon L ED 237 Grupo ED
~ 2E 46 101,n 6E 110 LO L.(HL) AE 17<1 xon (HL) EE 238 XOf"lA.n
2F 47 CPL 6F 111 LD L.A AF 175 XOf"lA EF 239 nsr 28
~ 30. 48 JIi NC. e 70 112 LD (HL),O 00 176 OR[) Fa 240 RET P
31 49 LD SP. on 7~ l1j LD (HD.C 01 177 ORC F1 241 POP AF
J2 50 10 (nn), a 72 ~.1'4 LD(HL).D 132 178 ORD F2 242 JP P,nn
~ 03 51 INC SP 70 115 LD (HU.(. OJ 179 ORE FJ 240 01
84 52 INC (HLl 74 116 lD (HL),H [)4 180 OR H F4 24<1 CALL P,nn
~ 35 5J DEC (HLl 75 117 LD (Hl).L [)5 181 ORL F5 2<15 PU5H Af
36 54 LD (HL), n 76 118 HALT 06 18,2 OR(HU F6 246 OIlA.n
~ 37 55 SCF 77 119 LD (HL).A D7 180 0[1. A F7 247 nsr 00
38 56 JR C, e 78 120 LD A,D" 08 184 (P[) F8 248 1:\[1 M
~ J9 57 ·ADD HL, SP 79 121 LO A.C 09 185 CPC FQ 249 LD 5P,HL
~ 3A 58 Lo. A. (nn) 7A 122 LO A,D OA 186 CP 0 FA 250 JP M.nn
J[l 59 DEC SP 713 123 LO A,E 0,0 187 CP E FO 251 EI
- 3C 60 INCA 7C 124 LO A,H OC 188 CP H FC 252 CALM.nn
3D 61 DEC A 7D 125 LD A.L OD 189 CP L FD 253 Grupe FD
~ 3E 62 lD A.n 7E 126 LD A,(HLJ BE 190 CP (HLl FE 254 CPA,n
.. 3F 63 CCF 7F 127 lDAA DF 191 CP A Ff 255 RST 08
- '"
"
m,
97
_...,j Grupo DD CB
~ Grupo DD Grupo FD Grupo FD en
HeK Dec A.ssembler HeK Dec Assembler HeK Dec Assembler HeK Dec Assembler
09 9 ADD IX,IlC 06 6 RolC ClX+d) 09 9 ADD IY.,IlC 06 6 P.LC (lY +0)
19 2.) ADD IX,DE DE 14 RRC (lX+d) 19 31 ADD IY,DE OE 14 RRC (IY+d)
21· .3.J LD IX,nn 16 10 RL (lX+d) 21 .33 LD IY,nn 16 10 Rl (lY+d)
22 .34 LD (nnl,IX 1E 30 RR OX +d) 22 .34 LD (nn),IY 1E 30 RR (IY+d)
23 35 INC IX 26 38 SLA(IX+d) 23 35 INC IY 26 38 SLA (IY+d)
29 41 ADD IX,IX 2E 46 SPA (IX + dl 29 41 ADD IY,IY 2E 46 SM (IY+d)
2A 42 LD IX,(nn) 3E 62 SRL (IX+d) 2A 42 LD IY,(nnl .3E 62 SRL OY+d)
... 20 43 DEC IX 46 70 OIT O(IX+d) 28 43 DEC IY 46 70 OIT O(lY+d)
34 52 INC OX+d) 4E 78 IlIT l,OX +d) 34 52 INC (IY+d) 4E 78 IlIT 1.(IY +d)
[\5 53 DEC (lX+d) 56 86 IlIT 2.(IX+d) 35 53 DEC OY+d) 56 86 IlIT 2,(iY+d)
36 54 LD (IX+d).n 5E 94 IlIT 3,OX +d) 36 54 LD (IY+d),n 5E 94 BIT 3,(IY+d)
39 57 ADD IX,SP 66 107 IlIT 4.(IX + d) 39 57 ADD IY.SP 66 107 IlIT 4,ClY +d)
46 70 lD 1l.0X+d) 6E 110 IlIT 5,(IX + dl 46 70 LD,Il,<lY +d) 6E 110 IlIT 5,(IY+d)
4E 78 LDC,(IX+dl 76 118 i3lT 6,(IX + d) 4E 78 LDC,(IY+d) 76 118 OIT 6.(lY+d)
56 86 LDD,(IX+d) 7E 126 [lIT 7 ,(IX + dl 56 86 LD D.OY +d) 7E 126 [lIT 7 ,(IY + dJ
5E 94 LD E,(IX + dJ 86 134 RES O,OX +d) 5E 94 LD E,(lY+d) 86 134 RES O,CiY+d)
66 102 LDH,Clx+d) 8E 142 RES 1,(IX + dl 66 102 LD UIY+d) 8E 142 RES 1,(IY+d)
6E 110 LD l,(lX + d) 96 150 RES 2.(lX+d) 6E 110 LD UIY+d) 96 150 RES 2,(lY+d)
70 112 LD (iX+d),1l 9E 158 RES 3,(IX+d) 70 112 LD (IY+d),O 9E 158 RES J,(lY +d)
71 113 LD OX+dJ.C A6 166 RES 4,(IX + ol 71 110 LD (lY+d).D A6 166 RES 4.(IY+d)
~ 72 114 LD (IX+d).D AE 174 RES 5.(IX+d) 72 114 LD ClY+d),C AE 174 RES 5.(lY+d)
-. 73 115 LD (IX +d),E 136 182 [l.ES 6.(JX+d) 7J 1'\5 LD(lY+d>.E 136 182 RES 6,(IY +d)
74 116 LD (lX+d).H 13E 190 RES 7,(lX+dl 74 116 LD (IY+d).H OE 190 RES 7,(IY+d)
~ 75 117 LD (IX + d),L C6 198 SET O.(JX+d) 75 117 LD (lY+d).l C6 198 SET O,(IY+d)
77 119 LD (lX+d).A CE 206 SET 1,(IX+d) 77 119 LD (IY+d).A CE 206 SET 1,(IY +d)
7E 126 LD A,(lX+d) D6 214 SET 2,ClX+d) 7E 126 LD A.(lY+d) D6 214 SET 2.(IY +d)
86 134 ADD (lX+t:I) DE 222 SET 3, (IX + d) 86 1J4 ADD (IY+d) DE 222 SET 3,(lY+d)
8E 142 ADC (IX,..d) E6 230 SET 4.0X+d) 8E 142 ADC (IY+d) E6 230 SET 4,(JY+d)
96 150 SUIl (IX +d) EE 238 SET 5,(IX+d) 96 150 SUIl (IY+d) EE 2J8 SET 5.0Y+d)
9E 158 S13C (IX +d) F6 240 SET 6,(lX+dl 9E 158 SDC (lY+d) F6 240 SET 6.(iY+d)
A6 166 AND (IX+d) FE 254 SET 7,{IX+d) A6 166 AND (lY+d) FE 254 SET 7.(IY+d)
AE 174 XOR (lX+d) AE 174 XOR (IY+d)
[l6 182 OR (lX+d) [l6 182 OR (lY+d)
[IE 190 CP (IX+d) [lE 190 CP (IY+d)
EI 225 pop IX £1 225 pop IY
E3 227 EX (SP) IX EO 227 EX (SP), IY
E5 229 PUSH IX E5 229 PUSH IY
~ E9 233 JP (IX) EQ 233 lP (ly)
F9 249 LD SP,IX F9 249 LD SP, IY
~ Grupo ED
HeK Dec Assembler HeK Dec Assembler Hex Dec Assembler Hex Dec Assembler
_:) 40 64 IN 13,(0 51 81 OUT (CJ.D 67 10J RI\D A3 163 OUT I,
41 65 OUT (C),1l 52 82 S13C HL.DE 68 104 IN L,(O A8 168 LD D
- 42 66 51lC HL,GC 50 8J LD (nn),DE 69 105 OUT (O.L A9 169 CP D
43 67 LD (nn)IlC 56 86 1M 1 6A 106 ADC Hl.HL AA 170 IN D
44 68 NEG 57 87 LD A,I 60 107 LD HL,(nn) All 171 OUT D
_:, 45 69 RET N 58 88 IN E,(C) 6F 111 RLD 00 176 LDIR
46 70 IMO 59 89 OUT (C).E) 72 114 SIlC HL,5P 01 177 CP IR
....., 47 71 LD I,A 5A 90 ADC HL,DE 73 115 LD (nn).SP 132 178 IN IR
48 72' IN C,CO 513 91 LD DE,(nn) 78 120 IN A,CO 113 179 OT Ill.
-. 49 73 OUT «(-).C 5E 94 1M2 79 121 OUT (O,A 08 184 LD DR
4A 74 AD,C Hl.DC SF 95 LQ A,R 7A 122 ADC HL.SP [lQ 185 (P Df\
41l 75 LD ec. (nn) 60 96 IN H,(C) 71l 123 LD 5P,(nn) IlA 186 IN Df\
4D 77 RET! 61 97 OUT (Cl.H AO 160 LD I 00 187 OT DR
4F 79 lD [l.,A 62 98 SIl( HL.HL A1 161 CPI
50 80 IN D.(CJ 63 9Q LD (nn),HL A2 162 IN I
,..::;
~
",;; 8
-
11.0 RESUMO
11,.:),1 RESUMO DAS FUNC;:OES
-
FUN<;:OES
AND
Arco-cosseno (C05'1) - Colculado entre 0 en - Erro A se: - 1 > X > 1
[X se Y '* 0
X AND Y = O,e Y = 0
X~ AND Y = [ ~,~.:: ~: ~
Areo-seno (seno '1) - Calculodo entre -n/2 e 11/2 - Erro A se -1 > x > 1,
AOS ACS
Volor obsoluto
-
"
ASN
ATN
Arco-rcnqente (tan·1) - Calculada emre -11/2 e n/2.
CHR$
Converre um corccre. em seu codiga correspondenre.
~ ~j
-_I
cos
Cosseno (rodlono)
EXP
INKEY$
Se umo redo for pressroncoo duronte 0 execocoo do INKEY$. 0 resulrodo sere a coroeter correspandente a redo, coso conrrorlo, sera umo ST[1.ING vazio.
INT
Consicero sornente 0 porte inreko do numero (orredonda para boixo).
.:.-
_I
,.1 ,.1 -
LEN
Comprimenro de uma ST!1.ING.
LN
LnX - Logoritmo norurol (No base e) - Erro A se: X < 0 NOT X = [ 0 se X ;10 0
1 se X = 0
X OR Y = [ 1 se Y '* 0
X se 't= 0
,..1 ,..1 ..--,
,..1
NOT
OR
PEEK
Do 0 valor do byte no pos.cco de rnernorto X
n
PI (:1.1 41 592654)
-
RNO
Produz n?s oleotorics entre 0 e 1
~
_I
- ".1
SGN
Fun~60 sinal: sinal de X (·1. O. + 1)
SIN
Seno (rodlcno)
...
SQR
Raiz quadrada - Erra A SE': X < O.
STRj,
Converte um nornero em uma STRING.
TAN USR
Tangente (rodiono)
Executa a sub-rotlno em linguagem de rnoquinc cujo endereco e X. 0 resunodo devera retarnar no par de reg,stradores OC.
.... 1
VAL
Colculo uma STRING como uma expressoo nurnerlco
-
". I -
-
-
-
-
-
--
-
/
E
> <
< = > = <>
11.0.2. OPERAC;:OES MATEMATICAS:
+
Adh;:60
Subtrccoo
Mu ltrphcocco Divisco Exponencocoo Notocoo cientifica Igual
Maior
Menor
Menor igual
Maior igual Diferente
*
**
11 .0.J. PRIORIDADES DE EXECUC;:AO;
Operocco
Subscrito e SUB-STRING
Todas as func,:6es com excecoo do NOT e negoc;:60
**
Neqocoo *. /
+, - (- binorlo)
= « .>. <. < =. > =. <> NOT
AND
OR
99
Prioridade
12
1 1 10 9 8 6 5 4 J 2