Logo Hardware.com.br
S.R.A
S.R.A Cyber Highlander Registrado
15.4K Mensagens 1.7K Curtidas

Sensação legal e ao mesmo tempo estranha

#1 Por S.R.A 25/03/2016 - 00:29
Faz tempo que parei de me atualizar no campo de informática, larguei de mão mesmo, e meu conhecimento na área hoje é muito defasado e fraco (esqueci muita coisa).

Daí hoje, tive um problema de memória que não era reconhecida totalmente, e eu não sabia/lembrava o que fazer. Fui pesquisar no google, e só aparecia tópicos aqui do GDH e para minha surpresa, em quase todos tópicos que eu entrei atrás da solução, eu mesmo estava participando deles. kkkkkkk Então eu acabei "aprendendo" comigo mesmo, e também fiquei impressionado de como um dia entendi tanto de informática/hardware. A cada post meu que eu lia, eu me perguntava: "aonde que eu aprendi isso?", "esse é eu mesmo?". hahahaha

Bom, mas foi legal, lembrar que certa época aprendi algo e pude compartilhar o conhecimento ensinando outras pessoas. Devo toda essa satisfação a este Fórum.

Vaaaleu!
Bit0N3
Bit0N3 Cyber Highlander Registrado
14.5K Mensagens 3.4K Curtidas
#32 Por Bit0N3
25/03/2016 - 17:52
eu tenho vergonha quando leio zine antigo que escrevia.

exemplo

--------------------------------

isso ai é recortado de txt utf8 se der erros na conversão pra texto atual, fazer o que.

[spoiler]


............PROGRAMANDO EM LINGUAGEM DE MAQUINA USANDO O BASIC )...........


Opa oi eu aqui dinovo meu quantas vezes vc pensou em faser um programa em
lingugem de maquina usando o BASIC (beguiners all sinbolic instruction code)
em ? meu se vc pensa que isso eh impossivel nem eh e ai vai minha contribui-
cao para vcs que sofrem com seus PCs a proposito tava vendo um cara que
demonstrava um pc e falava que ele era multask ai sei la que aconteceu que
ele comeco a formata um lance e tipo breco toda maquina enquanto formatava,
ai eu perguntei - o q acontece? ele disse que tava formatando!
cara sei la pra mim isso nao eh multask , bom PC um dia se chega la!
bom decha de papo furado e la vai o prog ok
Estou enviando o basic generico mas eh so se adaptar para o seu ok!

100 'COMGEM.BAS - GERA ARQUIVOS COM A PARTIR DE SENTENSAS DATA
110 KEY OFF:CLS
120 PRINT "COMGEM.BAS - GERA ARQUIVOS COM APARTIR DE SENTENSAS DATA"
130 PRINTRINTRINT
140 INPUT "DIGITE O NOME DO ARQUIVO .COM A GERAR: ";NA$
150 IF INSTR(NA$,".&quot=0 THEN NA$ = NA$ +".COM"
160 OPEN NA$ AS #1 LEN=1
170 FILD#1,1 AS C$
180 READ A$
190 IF A$="999" THEN 270
200 T%=INSTR("00112233445566778899AaBbCcDdEeFf",LEFT$(A$,1))/2-1
210 IF T%=-1 THEN T%=0
220 B%=INSTR("00112233445566778899AaBbCcDdEeFf",RIGHT$(A$,1))/2-1
230 IF B%=-1 THEN B%=0
240 LSET C$MKI$(16*T%+B%)
250 PUT#1
260 GOTO 180
270 CLOSE
280 PRINTRINT"SAIDA SALVA NO ";NA$
290 PRINTRINTRINT"CONCLUIDO":BEEP:END
300 ' COLOQUE AS SENTENSAS DATA AQUI

Beleza? agora eh so bolar seus progs e mandar ver bom sei la se vc nao
souber o que fazer vo mandar um exemplo pra voce treinar eh so continuar da
linha 300 em diante e executar cada prog que vc fizer se usa esse
procedimento ok(uma dica eh vc salvar o prog ate a linha 290 e ai eh so se
puchar e continuar quando quizer
bom la vai um exemplo pra vc fazer um prog que controla o caps lock

310 'programa caps lock
320 DATA BA,40,00
330 DATA 8E,DA
340 DATA A0,17,00
350 DATA 24,BF
360 DATA A2,17,00
370 DATA CD,20
380 DATA 999

Bom eh isso ai nos proximos zines se eu nao estiver internado ainda mando
mais uns lances ok, quem sabe eu mande o meu misterioso disk fantasma))
bom entao ate la...


" FIQUE POR DENTRO DO AmigaDOS "

Este espaco do zine eh dedicado a todos que tem curiozidade sobre o sistema
do AMIGA , nao notem os erros de portugues pois apesar que eu nao ache muita
gente fala que eu nao sei escrever direito

ADDBUFFERS - adiciona cache nos drives
ALIAS - configura ou mostra os aliases
ASK - pergunta para o user uma entrada
ASSIGN - designa uma unidade logica para um diretorio
AVAIL - mostra a memoria RAM avaliada(disponivel)
CD - mostra muda ou configura um diretorio
CPU - configura mostra ou receta a CPU e os caches da CPU
CHANGETASKPRI - seleciona a prioridade de um processo em andamento
COPY - copia um arquico ou diretorio
DATE - mostra ou configura a data e tempo
DELETE - deleta arquivos ou diretorios
DIR - mostra o conteudo de um diretorio
DISKCHANGE - informa a troca de disco
DISKDOCTOR - repara um dico corrupto
ECHO - mostra uma string
ED - inicia o editor de texto
EDIT - inicia o editor de linha
ELSE - especifica uma alternativa a um string
ENDCLI - termina um processo de shell
ENDIF - termina um bloco if em uma string
ENDSKIP - termina um bloco de skip
EXECUTE - executa um script
FAILAT - seta o nivel de erro de uma exprecao
FAULT - mostra o codigo em um erro
FILENOT - prende um comentario em um arquivo
GET - mostra o valor de uma variavel global
ICONX - executa uma sring por um icon
INFO - mostra informacoes sobre o sistema
INSTALL - instala o sistema em um disco
IPREFS - manda informacoes de preferencia sobre o workbench
JOIN - soma arquivos(junta 2 em 1)
LAB - especifica uma label em um script
LIST - mostra informacoes sobre um diretorio
LOADWB - inicia o workbench
LOCK - trava distrava um disco ou mostra seu status
MAKEDIR - cria um diretorio
MAKELINK - cria um link
MEMACS - editor de testo avancado
MOUNT - informa ao amiga sobre os devices presentes
NEWCLI - inicia um processo de shell
NEWSHELL - inicia um processo de shell tbm
PATH - controla e mostra a procura de path
PROMPT - muda o prompt do shell
PROTECT - escolhe os bits de protecao
QUIT - termina um script
RELABEL - muda o nome de um disco
REMRAD - remove o ram drive
RENAME - muda o nome de um arquivo ou diretorio
RESIDENTE - mostra ou muda a lista dos programas residentes
RUN - executa um programa em background
SEARSCH - procura por um arquivo ou diretorio
SET - cria a variavel de ambiente local
SETFONT - escolhe a fonte do shell
STACK - mostra ou dimensiona o tamanho de stack do processo
TYPE - mostra o conteudo de um arquivo
UNALIAS - remove o alias
WAIT - espera um determinado tempo
WHITH - procura pela path de comando de um arquivo
WHY - mostra e esplica uma mensagem de erro

Bom turma aqui estao alguns dos comandos principais do AmigaDOS
quem tiver duvidas ou sugestoes sobre o comodore amiga me da um toque ok,
estou no momento usando um amiga 3000 com a MPU 68030 a CPU 38030 a FTU
68882 a CPU de video NTSC AGNUS 2 e a CPU de entrada e saida PAULA
derrepente se esqueci de alguma me perdoem, sao tantas hehehehehehe
PC um dia se ainda chega la

Bom turma eh isso ai ate a prossima ice materia nesse ice zine
qq semelhanca com o lance do batman eh pura coincidencia enclusive o meu
morcego albino


" DICAS PARA UTILIZAR O WG "


Oi thurma!
Bom pra inicio tipo estou mandando uns toques para quem gosta de entrar
em modo terminal em bbs que usam o WG (world Group) .
para se descolar as paginas que o sys usou para montar a BBs dele se usa o
comando FIND e letra ex

FIND A
vai mostrar as paginas da bbs do cara tipo

ALLFILES
ARQUIVOS
PASTAS
CARTAS
ETC...

para se locomover sem usar o menu caso vc tenha seu assesso travado vc pode
usar a opcao go se o sysop nao travou, normalmente elas esquecem de travar o
go.
tipo coloca /GO arquivos
se nao estiver bloqueado vc vai entra direto no arquivos!
ou se vc quizer desconectar a qq momento joga um /go exit
tente entrar na teleconferencia com /go tele ou tele2 normalmente eh tele!
bom se vc aprender legal o find e o go da para brincar bastante ok!
tipo tava meio sem ideias e mandei esse lance vou ver se bolo um outro mais
legal pro proximo zine ok!
e desculpem pelos erros de portugues ok tipo nunca fui muito de escrever!

[]'s e ate a proxima

/\m/\
V IcemaN




[/spoiler]
Recomendação: Lord of the rings online MMORPG SHow de bola, roda no fedora pelo lutris.
Stuff
Stuff Zumbi Registrado
6.7K Mensagens 320 Curtidas
#34 Por Stuff
25/03/2016 - 19:08
S.R.A disse:
Faz tempo que parei de me atualizar no campo de informática, larguei de mão mesmo, e meu conhecimento na área hoje é muito defasado e fraco (esqueci muita coisa).

Daí hoje, tive um problema de memória que não era reconhecida totalmente, e eu não sabia/lembrava o que fazer. Fui pesquisar no google, e só aparecia tópicos aqui do GDH e para minha surpresa, em quase todos tópicos que eu entrei atrás da solução, eu mesmo estava participando deles. kkkkkkk Então eu acabei "aprendendo" comigo mesmo, e também fiquei impressionado de como um dia entendi tanto de informática/hardware, a cada post meu que eu lia, eu me perguntava: "aonde que eu aprendi isso?", "esse é eu mesmo?". hahahaha

Bom, mas foi legal, lembrar que certa época aprendi algo e pude compartilhar o conhecimento ensinando outras pessoas. Devo toda essa satisfação a este Fórum.

Vaaaleu!


É! Eu também! Parece que estou vivendo em um mundo paralelo me enexergando em outras épocas....
brancobill
brancobill Zumbi Registrado
790 Mensagens 1.6K Curtidas
#35 Por brancobill
25/03/2016 - 19:17
Que nada! Voce estava falando o dialeto do ICQ: dinovo, eh, vc, decha, prog... Só faltou o "q tc?"



ice2642 disse:
eu tenho vergonha quando leio zine antigo que escrevia.

exemplo

--------------------------------

isso ai é recortado de txt utf8 se der erros na conversão pra texto atual, fazer o que.

[spoiler]


............PROGRAMANDO EM LINGUAGEM DE MAQUINA USANDO O BASIC )...........


Opa oi eu aqui dinovo meu quantas vezes vc pensou em faser um programa em
lingugem de maquina usando o BASIC (beguiners all sinbolic instruction code)
em ? meu se vc pensa que isso eh impossivel nem eh e ai vai minha contribui-
cao para vcs que sofrem com seus PCs a proposito tava vendo um cara que
demonstrava um pc e falava que ele era multask ai sei la que aconteceu que
ele comeco a formata um lance e tipo breco toda maquina enquanto formatava,
ai eu perguntei - o q acontece? ele disse que tava formatando!
cara sei la pra mim isso nao eh multask , bom PC um dia se chega la!
bom decha de papo furado e la vai o prog ok
Estou enviando o basic generico mas eh so se adaptar para o seu ok!

100 'COMGEM.BAS - GERA ARQUIVOS COM A PARTIR DE SENTENSAS DATA
110 KEY OFF:CLS
120 PRINT "COMGEM.BAS - GERA ARQUIVOS COM APARTIR DE SENTENSAS DATA"
130 PRINTRINTRINT
140 INPUT "DIGITE O NOME DO ARQUIVO .COM A GERAR: ";NA$
150 IF INSTR(NA$,".&quot=0 THEN NA$ = NA$ +".COM"
160 OPEN NA$ AS #1 LEN=1
170 FILD#1,1 AS C$
180 READ A$
190 IF A$="999" THEN 270
200 T%=INSTR("00112233445566778899AaBbCcDdEeFf",LEFT$(A$,1))/2-1
210 IF T%=-1 THEN T%=0
220 B%=INSTR("00112233445566778899AaBbCcDdEeFf",RIGHT$(A$,1))/2-1
230 IF B%=-1 THEN B%=0
240 LSET C$MKI$(16*T%+B%)
250 PUT#1
260 GOTO 180
270 CLOSE
280 PRINTRINT"SAIDA SALVA NO ";NA$
290 PRINTRINTRINT"CONCLUIDO":BEEP:END
300 ' COLOQUE AS SENTENSAS DATA AQUI

Beleza? agora eh so bolar seus progs e mandar ver bom sei la se vc nao
souber o que fazer vo mandar um exemplo pra voce treinar eh so continuar da
linha 300 em diante e executar cada prog que vc fizer se usa esse
procedimento ok(uma dica eh vc salvar o prog ate a linha 290 e ai eh so se
puchar e continuar quando quizer
bom la vai um exemplo pra vc fazer um prog que controla o caps lock

310 'programa caps lock
320 DATA BA,40,00
330 DATA 8E,DA
340 DATA A0,17,00
350 DATA 24,BF
360 DATA A2,17,00
370 DATA CD,20
380 DATA 999

Bom eh isso ai nos proximos zines se eu nao estiver internado ainda mando
mais uns lances ok, quem sabe eu mande o meu misterioso disk fantasma))
bom entao ate la...


" FIQUE POR DENTRO DO AmigaDOS "

Este espaco do zine eh dedicado a todos que tem curiozidade sobre o sistema
do AMIGA , nao notem os erros de portugues pois apesar que eu nao ache muita
gente fala que eu nao sei escrever direito

ADDBUFFERS - adiciona cache nos drives
ALIAS - configura ou mostra os aliases
ASK - pergunta para o user uma entrada
ASSIGN - designa uma unidade logica para um diretorio
AVAIL - mostra a memoria RAM avaliada(disponivel)
CD - mostra muda ou configura um diretorio
CPU - configura mostra ou receta a CPU e os caches da CPU
CHANGETASKPRI - seleciona a prioridade de um processo em andamento
COPY - copia um arquico ou diretorio
DATE - mostra ou configura a data e tempo
DELETE - deleta arquivos ou diretorios
DIR - mostra o conteudo de um diretorio
DISKCHANGE - informa a troca de disco
DISKDOCTOR - repara um dico corrupto
ECHO - mostra uma string
ED - inicia o editor de texto
EDIT - inicia o editor de linha
ELSE - especifica uma alternativa a um string
ENDCLI - termina um processo de shell
ENDIF - termina um bloco if em uma string
ENDSKIP - termina um bloco de skip
EXECUTE - executa um script
FAILAT - seta o nivel de erro de uma exprecao
FAULT - mostra o codigo em um erro
FILENOT - prende um comentario em um arquivo
GET - mostra o valor de uma variavel global
ICONX - executa uma sring por um icon
INFO - mostra informacoes sobre o sistema
INSTALL - instala o sistema em um disco
IPREFS - manda informacoes de preferencia sobre o workbench
JOIN - soma arquivos(junta 2 em 1)
LAB - especifica uma label em um script
LIST - mostra informacoes sobre um diretorio
LOADWB - inicia o workbench
LOCK - trava distrava um disco ou mostra seu status
MAKEDIR - cria um diretorio
MAKELINK - cria um link
MEMACS - editor de testo avancado
MOUNT - informa ao amiga sobre os devices presentes
NEWCLI - inicia um processo de shell
NEWSHELL - inicia um processo de shell tbm
PATH - controla e mostra a procura de path
PROMPT - muda o prompt do shell
PROTECT - escolhe os bits de protecao
QUIT - termina um script
RELABEL - muda o nome de um disco
REMRAD - remove o ram drive
RENAME - muda o nome de um arquivo ou diretorio
RESIDENTE - mostra ou muda a lista dos programas residentes
RUN - executa um programa em background
SEARSCH - procura por um arquivo ou diretorio
SET - cria a variavel de ambiente local
SETFONT - escolhe a fonte do shell
STACK - mostra ou dimensiona o tamanho de stack do processo
TYPE - mostra o conteudo de um arquivo
UNALIAS - remove o alias
WAIT - espera um determinado tempo
WHITH - procura pela path de comando de um arquivo
WHY - mostra e esplica uma mensagem de erro

Bom turma aqui estao alguns dos comandos principais do AmigaDOS
quem tiver duvidas ou sugestoes sobre o comodore amiga me da um toque ok,
estou no momento usando um amiga 3000 com a MPU 68030 a CPU 38030 a FTU
68882 a CPU de video NTSC AGNUS 2 e a CPU de entrada e saida PAULA
derrepente se esqueci de alguma me perdoem, sao tantas hehehehehehe
PC um dia se ainda chega la

Bom turma eh isso ai ate a prossima ice materia nesse ice zine
qq semelhanca com o lance do batman eh pura coincidencia enclusive o meu
morcego albino


" DICAS PARA UTILIZAR O WG "


Oi thurma!
Bom pra inicio tipo estou mandando uns toques para quem gosta de entrar
em modo terminal em bbs que usam o WG (world Group) .
para se descolar as paginas que o sys usou para montar a BBs dele se usa o
comando FIND e letra ex

FIND A
vai mostrar as paginas da bbs do cara tipo

ALLFILES
ARQUIVOS
PASTAS
CARTAS
ETC...

para se locomover sem usar o menu caso vc tenha seu assesso travado vc pode
usar a opcao go se o sysop nao travou, normalmente elas esquecem de travar o
go.
tipo coloca /GO arquivos
se nao estiver bloqueado vc vai entra direto no arquivos!
ou se vc quizer desconectar a qq momento joga um /go exit
tente entrar na teleconferencia com /go tele ou tele2 normalmente eh tele!
bom se vc aprender legal o find e o go da para brincar bastante ok!
tipo tava meio sem ideias e mandei esse lance vou ver se bolo um outro mais
legal pro proximo zine ok!
e desculpem pelos erros de portugues ok tipo nunca fui muito de escrever!

[]'s e ate a proxima

/\m/\
V IcemaN




[/spoiler]
Bit0N3
Bit0N3 Cyber Highlander Registrado
14.5K Mensagens 3.4K Curtidas
#36 Por Bit0N3
25/03/2016 - 19:48
brancobill disse:
Que nada! Voce estava falando o dialeto do ICQ: dinovo, eh, vc, decha, prog... Só faltou o "q tc?"

essa época ai o cara que inventou o icq ainda tava aprendendo o ABC ehehheheheheh

essa zine era pra divulgar a BBS.

segue ela ai na integra

[spoiler]






~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,

TEMPLO DA ZINE WU TANG CLAN...

WU TANG CLAN BBS -> 5584-5383 DAS 00:30hs `AS 07:00hs

TIRE SUAS DUVIDAS E MANDE SUGESTOES!

OS EDITORES DA REVISTA ESTARAO PRONTOS PARA ATENDE - LO

OBS: DIVULGUEM NOSSA BBS EM TODOS CANTOS. []'pX_LARVA E CORPORACAO...

~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,









~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,

wU tAnG cLaN Z|N3 Corporation

~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,








** - CONTATOS IMEDIATOS.
00 - DEDICATORIA
01 - BATE PAPO INICIAL.
02 - INTRODUCAO A LINGUAGEM ASSEMBLY
03 - INTRODUCAO A LINGUAGEM "C"
04 - INTRODUCAO A LINGUAGEM "C++"
05 - INTRODUCAO A LINGUAGEM CLIPPER
06 - INTRODUCAO A LINGUAGEM DELPHI
07 - INTRODUCAO A LINGUAGEM TURBO PASCAL
08 - INTRODUCAO AO VISUAL BASIC
09 - PARTE IcemaN [IcemaN COMENTA]
10 - PIADAS... Hahahahahahah
11 - RADIO AMADOR!!!
12 - DESAFIO
13 - RECLAMACOES ;((
14 - AGRADECIMENTOS...Tks ALL




=.~`^'-_!+=/.,~`^'-_!_! 00 - HOMENAGEM E DEDICACAO .~`^'-_!+=/.,~`^'-_!.~`^'-_!


Dedicamos com todo o respeito e amizade essa Z|N3 wU tAnG cLan corporation a
memoria de Lucio Fernandes... Voce sempre foi um cara em tanto, por onde pas-
sava deixava alegria e sabedoria, eu Espoleta tenho orgulho de saber que tive
e tenho voce como amigo, nunca esquecerei as cervejas tomadas e aqueles papo
de doido que agente tinha...hehehe...espero que voce esteja feliz onde estiver
e que ai no ceu tenha acesso a internet e BBS(es), cara, voce deixou um grande
buraco e uma grande saudade no coracao de todos que te conheceram, nunca vou
esquecer as vezes que ficamos andando pela rua, enchendo a lata e cantando
Ha tempos...(Legiao Urbana). Obrigado por tudo que voce fez, me ensinou muito,
e tenho certeza que sua morte nao foi em vao, esse caminho eh complicado, mas
sei que nao vou escapar, "todos iremos passar um estagio em outro lugar..."
Caro amigo Lucio... mais conhecido como Lucifer pela ajuncao do nome com o
sobrenome(Luci... + Fer...) obrigado mesmo cara, do fundo do coracao... esteja
em PAZ, e nos ajude aqui nesse pequeno asteroide que todos chamam de terra a
vivermos melhor e sofrermos pouco.... ) Saudades... ;-)

|Px_LARVA ESPOLETA|


Lu, muitas coisas boas aconteceram em nossas vidas. Como por exemplo ter te
conhecido. Passamos momentos felizes e muitos outros tristes, mas apezar de
tudo tinhamos algo em comum: AMOR.
Nos amamos loucamente e para o resto de minha vida estarei sempre aqui para
te ajudar. Seja la onde voce estiver, sempre, sempre me lembrarei de tudo o
que passamos.
Estarei sempre perto de voce, pois quando gostamos muito da pessoa, mesmo nao
estando fisicamente presente em nossas vidas, voce permanecera totalmente e
eternamente vivo em nossos coracoes.
Jamais nos esqueceremos de voce e sempre voce estara com toda aquela alegria,
simplicidade e carisma dentro de nos. Muitas coisas mudaram em nossas vidas e
a cada dia que passa, sabemos que voce esta cada vez melhor.
Sempre gostei de ursinhos de pelucia e voce para satisfazer minha vontade me
ofereceu um "Macaquinho". Todas as sua lembrancas ficaram certamente comigo.
Sinto - me um pouco culpada por nao retribuir o mesmo amor. So queria voltar
a te dizer: TE AMO!
Te amei ontei, te amo hoje, mas pra sempre vou TE AMAR seja la da maneira que
for, mas te amarei. Posso tentar ser feliz com outro alguem, mas tenho certeza
que ninguem vai me amar do jeito que voce me amou.

NUNCA em nossas vidas conseguiremos te ESQUECER!
TE AMO E PRA SEMPRE VOU TE AMAR

Eliza Sati Ito
(sua eterna namorada e noiva)



*CONTATOS IMEDIATOS*



Caso esteja interessado em entrar em contato conosco, mande seu e-mail para
NOSSO EMAIL@ALGUMPROVEDOR.COM.BR. Mande sugestoes, aceitamos tambem cRiTiCaS
cOnStRuTiVaS, e se estiver interessado em nos ajudar com a ZINE, escreva para
nos, mas tenha alguma materia em maos, e claro, se a materia for sua, coloca-
remos o nome em sua AUTORIA. Esse tambem e nosso espaco para a carta aos lei-
tores, no entanto, qualquer informacao sobre programacao e informatica que
voces possam nos passar, sera grata e bem vinda, e caso tenham duvidas, basta
perguntar...


Px_LARVA ESPOLETA
MARCOS FREITAS
EAGLE'S POWER
THIAGO CORREA
/\M/\
V IcemaN



.~`^'-_!+=/.,~`^'-_!.~`@$^ 01 - BATE PAPO INICIAL .~.~`^'-_!+=/.,~`^'-_!`^'-_!+


E ai pessoal, beleza pura? por ca, eu ESPOLETA juntamente com a corporacao
estamos tentando fazer e trazer algo de interessante para a rapaziada, mas
ainda nao sabemos bem o que iremos fazer, pois a nossa area de interesse eh
Programacao, ou melhor, Informatica em geral... nao somos Hackers, somente
somos jovens devoradores de microcomputadores, daqueles que viram a noite
fucando e aprendendo mais, e na verdade o que queremos e livre acesso. Essa
eh a primeira vez que estamos escrevendo uma ZINE, e pedimos a colaboracao e
paciencia de todos. Nossas maior inspiracao foi a falta de publicacoes de
ZINES especializadas em programacao. Nao descriminamos qualquer outra ZINE,
pois quem somos nos para criticarmos alguem...


Px_LARVA ESPOLETA
MARCOS FREITAS
EAGLE'S POWER
THIAGO CORREA
/\M/\
V IcemaN

.~`^'-_!+=/.,~`^'-_! 02 - INTRODUCAO A LINGUAGEM ASSEMBLY ~`^'-_!+=/.,~`^'-_!*^


Nao sou nenhum expert na linguagem, tudo que sei consegui com muito custo,
pois quase ninguem programa em assembly aqui no Brasil... pelo menos os que
programam nao se manifestam, fiz varias apelacoes sobre o mesmo, mas nao
recebi muito retorno, recebi alguma ajuda (Gracas a Deus nao estou so!),
o que me incentivou a buscar mais e mais sobre o assembly. bom, chega de
enrolacao e vamos ao assunto

1 - Basico: Bom, aqui ‚ para quem esta iniciando agora na programacao assembly

1.1 - Tipos Numericos
bom, essa eh uma das piores partes, mas vamos nessa......

hexadecimal(h) - ex: 1h,2h,0ah,0ch,0ffh
bom, os numeros hexadecimais, foi uma forma na qual encontraram
para suprimir a deficiencia dos dedos na contagem, bom, contamos
ate 10 agora imagine - se contando ate 255(tabela ascii) usando
apenas as duas maos mas sem repetir nenhum dedo... hmmm seria meio
dificil, mas...... sendo assim, contamos ateh 09h e colocamos letras
que suprem a deficiencia das maos sao elas: A B C D E F
ex: 1h, 2h, 3h, 4h, 5h, 6h, 7h, 8h, 9h, 0ah, 0bh, 0a1h, 0b7h, etc...
claro que podemos usar o 10h tbm. mas o 10h nao eh o 10 decimal, e
sim um outro numero qualquer.
obs: quando usamos as letras, temos q. antecede - las por 0

binario(b) - ex: 0001b 01010101b 010101b 010101010010b 111111b 01b
os numeros binarios sao os que realmente a maquina entende, mas sao
um pouco "complexos" e nao nos vem ao caso no momento.
Nos numeros binarios so sao aceitos os digitos 0 e 1, note que se
termina com um b no final indicando q. eh binario.


decimal(d) - ex: 1,2,3,4,5,6,7,8,10,50,9999,100,0,-4
Bom, este nao tem segredos, para um bom observador uma olhada basta
obs: note que nao usei o (d) no final do numero, o que significa
que ele nao eh necessario.......


1.2 - registradores
bom, vou explicar nesse numero os registradores basicos da familia
.8086, sao eles:

CS - Segmento do codigo - 16 bit
Este segmento serve para armazenar o codigo do programa, imagine - o como se
fosse um bau onde armazena o codigo do programa.


DS - Segmento de dados - 16 bit
Este segmento serve para armazenar os dados do programa
neste segmento, ficam guardadas todas as variaveis usadas no programa,
EXEMPLO: se vc. declarar uma variavel assim:
VAR1='hmmmm., Meu primeiro exemplo em ASSEMBLY'
o conteudo desta variavel, no caso 'hmmmm., Meu primeiro exemplo em ASSEMBLY'
ficara guardado neste segmento, para um uso durante o programa

SS - Segmento de Pilha - 16 bit
Este ‚ o segmento de pilha, neste segmente, ficam armazenadas as variaveis,
estaticas, ou seja, aquelas que aparecem no meio do programa, por exemplo:
PUSH AX

Neste caso, voce ira armazenar o valor de AX nesse segmento, ou seja,
este segmento guarda variaveis que surgiram no decorrer do programa e
nao no seu inicio
obs: o comando PUSH sera explicado detalhadamente mais pra frente

ES - Segmento extra - 16 bit
Bom, este nao descobri pra que serve, mas deve ser para armazenar alguma
coisa ou outra que nao caiba nos outros segmentos, mas claro, que podem ser
armazenados outros valores em ser os "EXTRAS".

Pointer Registers:
IP - Ponteiro de Intrucoes - 16 bit
Este ponteiro, indica a offset da proxima intrucao ou seja, com ele voce pode
saber qual sera o proximo comando do programa ainda nao foi util para mim,
mas quem ja o usou, favor mandar msgs pra mim. Ahh! outra coisa, este
registrador nao ‚ acessivel diretamente como os demais mas existe uma
forma(nao me pergunte como pois eu nao sei) de vc. obter o seu valor.

SP - Ponteiro de pilha - 16 bit
este ponteiro, aponta para a offset que a pilha esta usando
ou seja, sempre que voce salvar ou restaurar alguma variavel ou registrador,
este ponteiro sera decrementado ou incrementado conforme a instrucao
por exemplo, se voce salvar um registrador(AX) este ponteiro sera somado de 2,
ai voce pergunta, por que doi!? bom, porque o registrador AX, tem o mesmo
valor de uma palavra, ou seja, 2 bytes, sendo assim, cada vez que ele for
deslocado serah somado ou subtraido de 2
OBS: no caso de salvar eu estou me referindo ao comando push que so
salva regsitradores como AX,BX,etx, mas nao salva do tipo AH,BH,DH,etc

BP - Ponteiro Base :
usado para passar dados para a pilha e receber dados da pilha


*-*-*-*-*-*-* Registradores de uso Geral *-*-*-*-*-*-*


AX - Resgistrador acumulador
Geralmente usado para calculos, ou para entrada/saida
ex: MOV AX,5788h
este registrador ‚ dividido em duas partes, sao elas:

AH - parte mais elevada
no exemplo acima, AX=5788h o valor de AH seria o 57h, ou seja, o
primeiro(mais elevado), vc. pode usa - lo diretamente,
ex: MOV AH,57h

AL - parte menos elevada

No exemplo acima, AX=5788 o valor de AL seria o 88h, ou seja, o
segundo(menos elevado), vc. pode usa - lo diretamente;

EXEMPLO: MOV AL,88h
obs:MOV ‚ uma funcao e serah explicada mais pra frente outra coisa, note um
(h) no final do numero, isso indica que esse numero e Hexadecimal, mas vc.
poderia usar outros tipos, vide exemplo...


BX - Registrador de Base
Registrador que somente pode ser usado como indice
EXEMPLO: MOV BX,5788h
Este registrador ‚ dividido em duas partes, sao elas:

BH - parte mais elevada no exemplo acima, BX=5788h o valor de BH seria o 57h,
ou seja, o primeiro(mais elevado), vc. pode usa - lo diretamente,
EXEMPLO: MOV BH,57h

BL - parte menos elevada
no exemplo acima, BX=5788h o valor de BL seria o 88h, ou seja, o
segundo(menos elevado), vc. pode usa - lo diretamente,
EXEMPLO: MOV BL,88h

CX - Registrador de contagem
Registrador usado para intrucoes de LOOPs
EXEMPLO: MOV CX,5788
este registrador ‚ dividido em duas partes, sao elas:

CH - parte mais elevada
no exemplo acima, CX=5788 o valor de CH seria o 57, ou seja, o
primeiro(mais elevado), vc. pode usa - lo diretamente,ex: MOV CH,57

CL - parte menos elevada

No exemplo acima, CX=5788 o valor de CL seria o 88, ou seja, o
segundo(menos elevado), vc. pode usa - lo diretamente,
EXEMPLO: MOV CL,88h
obs:note q o (h) no final do numero foi retirado, isso indica que esse numero
eh Decimal, mas vc. poderia usar outros tipos, veja acima so + uma coisa,
usei decimal no exemplo pois geralmente numeros de contagem para facilitar
usamos 1,2,...10,11 e nao 1,2,...,0ah,0bh a nao ser que voce seja um genio e
saiba tudo de cor ))


DX - Registrador de Dados

entrada/saida e usado para multiplicacao e divisao
ex: MOV DX,5788h
este registrador ‚ dividido em duas partes, sao elas:
DH - parte mais elevada
no exemplo acima, DX=5788h o valor de DH seria o 57h, ou seja, o
primeiro(mais elevado), vc. pode usa - lo diretamente,
ex: MOV DH,57h

DL - parte menos elevada
no exemplo acima, DX=5788h o valor de DL seria o 88h, ou seja, o
segundo(menos elevado), vc. pode usa - lo diretamente,
ex: MOV DL,88h


*-*-*-*-*-*-* Registradores de Indice *-*-*-*-*-*-*


Estes dois foram os que eu demorei mais para entender, pois como disse sao
dificeis explicacoes aqui no brasil, mas fucando um pouco a gente consegue )

SI - Indice Fonte: usado como Fonte em operacoes de strings
Nesse Registrador, sao colocadas as FONTES, ou seja, de onde vc ira tirar
alguma informacao para mandar para algum outro lugar "geralmente (DI)"


DI - Indice destino: usado como Destino em operacoes de strings
Eh o Registrador que ira receber o q. foi enviado de SI e ira colocar no
lugar desejado.. um bom exemplo disso eh quando se vai escrever algo na
tela.. entao pegamos o q. vamos escrever e colocamos em SI depois disso
em DI colocamos onde vamos escrever o q. estah em SI.. e assim por diante
veja um exemplo:

MSG DB 'TESTE'
MOV SI,OFFSET MSG
MOV DI,30

Imagine esse exmplo como se fosse escrever algo na linha 1 coluna 30, pois
DI vale 30 imagine o DI como se cada numero ali digitado eh igual a um ponto
na tela em sequencia.. entao se colocamos 60 ele imprime na linha 1 coluna 60
jah se colocarmos 90 ele irah imprimir na linha 2 coluna 11.. e assim vai..
isso eh soh para vc. ter uma base.. nem tente usar essas instrucoes ai q. nao
irao funcionar, por falta de outros comandos q. aprenderemos mais tarde.....

Complicado neh?!?!? Bom, mas eh isso ai.. o basico q. temos q. aprender para
iniciar eh isso.. mais pra frente eu mando umas fontes legais pro6 ))


|EAGLE'S POWER|



.~`^'-_!+=/.,~`^'-_! 03 - INTRODUCAO A LINGUAGEM "C" ^%$# .~`^'-_!+=/.,~`^'-_!*


Ai pessoal, aqui vai a nossa introducao sobre Linguagem "C", esperamos que
gostem, mas como este e o nosso primeiro ZINE, colocaremos uma pequena INTRO,
e se o povo gostar, continuaremos...LA VAI...
"C" foi inventada e implementada primeiramente por Dennis Ritchie em um DEC.
PDP-11 que utilizava o sistema operacional UNIX. "C" e um processo de desen-
volvimento que comecou com uma linguagem mais antiga chamada BCPL, que ainda
esta em uso, em sua forma original na Europa.
BCPL foi desenvolvida por Martin Richards e influenciou uma linguagem chamada
"B", inventada por Ken Thompson. Na decada de 70, "B" levou o desenvolvimento
de "C". Muitos acham pelo fato de "C" ser uma linguagem de Medio Nivel, ela e
menos poderosa, dificil de usar ou menos desenvolvida que uma linguagem de
Alto Nivel como o BASIC e PASCAL. "C" eh uma linguagem riquissima e especial
no que diz respeito a manipulacao direta de Bits, Bytes, palavras e ponteiros,
e isso a torna capacitada para programacao em sistema. "C" e uma Linguagem
Estruturada, embora o termo Linguagem Estruturada em Blocos nao seja rigorosa-
mente aplicada em "C", pois a principal caracteristica de uma linguagem estru-
turada e a compartimentalizacao do codigo e dos dados, isto eh, a habilidade
de uma linguagem seccionar e esconder do resto do Programa todas as informa-
coes necessarias para realizar uma tarefa especifica.
Uma linguagem estruturada permite muitas possibilidades na programacao. Ela
suporta, diretamente, diversas construcoes de lacos, como o While, do-while
e for. Uma outra maneira de estrutura e compartimentalizar o codigo em "C" eh
atraves do uso de blocos de codigos. Em "C", um bloco de codigo e criado
colocando-se uma sequencia de comandos entre chaves.

POR EXEMPLO:

if (x<10) {
printf ("muito alto, tente novamente\n&quot; /* Este eh o bloco
scanf("%d", &x); de codigo */
}


Os dois comandos apos o if sao executados se x for menor que 10.
Esses dois comandos, junto com as chaves, representam um bloco de codigo.
Eles sao uma unidade logica: um dos comandos nao pode ser executado sem que
o outro tambem seja. Veja tambem que todo bloco de comando em "C" pode ser
um comando simples ou um bloco de comandos. Blocos de codigos permitem que
muitos algoritmos sejam implementados com clareza, elegancia e eficiencia.
Alem disso eles ajudam o programador a conceituar a verdadeira natureza da
rotina. Mas nao se assuste, pois apartir de agora voce ira compreender :-)

Agora que tal comecarmos mesmo?
Beleza, entao agora vamos ver a estrutura de um programa em 'C', para que
possamos comecar os exemplos e tao logo a fazer curtos programas.

main() /* primeira funcao a ser executada neste caso */

/* tudo que tiver entre(/*)sao comentarios ou instrucoes */

{ /* aqui iniciamos o corpo da funcao */

} /* aqui eh o termino da funcao */

pS: [para sua melhor visualizacao veja abaixo
o mesmo exemplo do programa acima so que
sem nenhum comentario ou instrucao]


main()

{


}

oBS: Observe que os parenteses apos o nomo significa que eh uma funcao...
podemos ter outros nomes de funcoes tambem, mas com execao do [main],
que eh reservado para o inicio da execucao do programa. Ah, tem outra
coisa que devem saber, todas as palavras chaves em 'C' sao minusculas.
Em 'C', MAIUSCULAS e minusculas sao diferentes: else eh uma palavra -
chave, porem ELSE nao. Uma palavra - chave nao pode ser usada para ne-
nhum outro proposito em um programa em 'C', ou seja, ela nao pode ser-
vir como uma variavel e como nome de uma funcao.
Todo programa em 'C'consiste em uma ou mais funcoes. A unica funcao que
precisa estar presente eh a primeira a ser chamada main(), portanto nao
tente usar main() como nome de uma variavel que confundira o compilador.



Como percebeu esta eh a estrutura de um programa em 'C', mas para que possa-
mos comecar a mexer os pauzinhos(nao leve essa por traz ), devemos conhe-
cer primeiramente as palavras - chaves do famoso TC...

Veja o quadro abaixo:



°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°auto ° do ° goto ° signed ° void°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°break ° double ° if ° sizeof ° register°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°case ° else ° int ° static ° unsigned°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°char ° extern ° long ° switch ° volatile°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°const ° enum ° while ° typedef ° °
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°continue ° float ° return ° union ° °
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°default ° for ° short ° struct ° °
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°




Agora que voce ja conhece as 32 palavras - chaves em 'C', fica mais facil.
Ai voce me pergunta, Ueh nao ta faltando nada...Ah entao pera ai malucao
eh claro que ta faltando, ta faltando voce ver algumas funcoes, entao para
comecarmos, vamos aos exemplos, pois nao adianta nada eu passar as funcoes
pra voce decorar, mas e ai, que adianta, eh programando que se aprende, e
voce vera que com o tempo voce estara familiarizado com as funcoezinhas, e
logo podera criar as suas, entao vamos adiante.


Exemplo 0:

Este exemplo nao faz nada.

main()

{

/* tudo aqui eh comentario */

}


Exemplo 1:

Esse pgm nao faz nada mais nada a menos do que apagar a tela.


main()

{

clrscr(); /* Esta funcao apaga a tela */

}


Exemplo 2:

Esse programa imprime uma mensagem na tela.
Esta funcao [printf], tem o mesmo efeito que o PRINT do Basic, acho que voce
ja ouviu falar nao eh?


main()

{

printf("Nossa estou aprendendo mesmo.&quot;

}



Exemplo 3:

Esse programa eh a uniao do exemplo 1 com o exemplo 2, ele primeiramente
executa a funcao de apagar a tela e depois imprime a mensagem.


main()

{

clrscr(); /* apaga a tela */
printf("Nossa estou aprendendo mesmo&quot; /* imprime uma mensagem na tela */

}



Exemplo 4:

Esse program faz o seguinte: Ele limpa a tela, imprime a primeira mensagem,
e na segunda mensagem ele pula uma linha, por causa do(\n).
ah, mais pra frente eu vou passar os codigos de barra invertidas tambem, en-
tao aguardem a proxima edicao...
vai ficar mais ou menos assim:

Nossa estou aprendendo mesmo.

eh muito interessante esse curso.

main()

{

clrscr();

printf("Nossa estou aprendendo mesmo.&quot;
printf("\nEh muito interessante esse curso.&quot;

}

|Px_LARVA ESPOLETA|



.~`^'-_!+=/.,!~`^'-_! 04 - INTRODUCAO A LINGUAGEM "C++" .~`^'-_!+=/.,~+`^'-_!*^


E ai pessoal, tudo alto? Estou escrevendo esta 1¦ aula de C++ para os futu-
ros programadores que se interessam por esta milagrosa ferramenta de
programacao que foi desenvolvida pelo "Bjarne Stroustrup" - nome estranho!
Esse cara no qual eu citei logo acima foi o criador do C++, em 1983, nos
Laboratorios Bell, em Murray Hill, New Jersey, mas isso nao importa, o que
importa eh que ele escreveu.
Na realidade o C++ e chamado de "C com classes", ele foi desenvolvido com o
proposito de facilitar o gerenciamento, a programacao e a menutencao de
grandes sistemas de software. Como C++ tem o mesmo esqueminha do C, entao
tudo o que voce ja sabe de C pode ser aplicado aa C++, legal!
Um dos aspectos que mais levou C++ ao topo eh que ele eh uma Programacao
Orientada aa Objetos, ou (POO), ao contrario das outras, nao que eu esteja
criticando outras linguagens (quem sou eu) mas sim pelo fato de mostrar
o que realmente eh C++.
Vou explicar melhor o que eh uma (POO):
Um objeto eh na realidade "muito" parecido com as esturturas que usamos em
C, execeto pelo fato de poder conter tanto dados quanto fun‡äes.

Bom, voce ja aprendeu muito "blah, blah", agora vamos as aulas praticas!

+-----+
Todo programa que nos criamos, eh obvio, ira realizar algum tipo de operacao
de entrada e sa¡da E/S. Portanto vamos comecar com o teclado.
Veja os topicos abaixo que iremos aprender nesta edicao:
Antes de inciarmos queria deixar bem claro que todos os arquivo (codigo
fonte em C++) inciam-se com a extensao "*.cpp". E os arquivos de
cabecalho com "*.h"
+-----+
TOPICOS
+--------------------+
# Atencao
# O que eh Fluxo de (E)ntrada/(S)aida.
# O que eh um arquivo de cabecalho
# O que eh "cin" e "cout"
# A diretiva #include
# A arquitetura de um programa em C++
# Comentarios
# Meu primeiro programa em C++
# Mais sobre o "cout"
# Tipo de Dados
+--------------------+

+-----+
ATENCAO
+-----+
Ante de comecarmos, devemos saber que o C++ diferencia palavras maiusculas
de minusculas, entao o default eh "sempre" utilizarmos letras minusculas.

+-----+
O QUE EH FLUXO DE E/S
+-----+
Uaaaa.... vou ser o mais simples possivel para nao confundir.
Um fluxo de E/S nada mais eh que uma sequencia do fluxo de caracteres
escritos para o video ou lidos no teclado. Quando voce, humilde e criativo
programador, realiza operacoes de E/S em C++, sempre voce usa os fluxos de
E/S, quem sao esses fluxos?
Esse fluxos sao, por exemplo: "cout", "cin", e por ai vai...
Da forma que C++ foi projetado ele define fluxos de E/S como classes. )

+-----+
O QUE EH ARQUIVO DE CABECALHO
+-----+
Para quem ja programamou em C fica mais facil.Por exemplo, de uma olhada nos
arquivo do seu compilador "\...\INCLUDE\IOSTREAM.H"
voce vera um monte de codigo "monstruoso", e eh la que estao todos os coman-
dos usados, tipo, "nao" todos! cada um no seu respectivo arquivo.
Como eu disse no arquivo IOSTREAM.H, eh la que se encontra por exemplo:
"cout" e "cin" - funcoes de E/S. Nao se preocupe e nao tente entender o que
se passa dentro desses arquivos ".H" ou header(arquivo de cabecalho), porque
nem eu entendo o que se passa por ali.

+-----+
A DIRETIVA #include
+-----+
Hmmm... sempre, sempre, sempre e sempre na sua vida de programador em C++
voce ira utilizar a diretiva #include, o que eh a diretiva #include?
A diretiva #include nada mais eh do que um comando que voce coloca para
que o compilador saiba quais os arquivo de header que contehm todas as fun-
coes usadas pelo seu programa. Exemplo, para incluir o arquivo IOSTREAM.H
que falamos no comeco basta: #include <iostream.h>, ou seja, voce fala para o
compilador: "Inclua j o iostream.h porque estou usando "cout" ", entendeu?

+-----+
A ARQUITETURA DE UM PROGRAMA EM C++
+-----+
Antes de comecar a desenvolver o nosso "super programao", vamos ver antes
como funciona o abiente de um programa em C++ :

#include arquivo de cabecalho (.H)

void main()
{
... corpo do programa ...
}


So?! so, apenas isso... quer dizer isso eh apenas uma forma bem...zicada!

Vamos as explicacoes...
Na primeira linha: #include arquivo de cabecalho eh onde iremos colocar
aquele arquivo header (H), lembra? Por exemplo, como iremos utilizar a
funcao "cout", termos que adicionar a seguinte linha:

#include <iostream.h>

como eu ja disse localizada no "\...\INCLUDE\IOSTREAM.H".

O que eh o "void main()" ? Bom o "void main()" na verdade eh um prototipo, ou
procedure em pascal por exemplo, etc...
Mas o "void main" sempre tem que existir por lei em algum programa que voce
ira criar, a nao ser que voce queira criar um header (veremos na proxima
edicao), tipo, o "void main" serve nada mais nada menos que informar para
o compilador por onde comecar a processar as informacoes, tipo, sempre que
eu criar varios prototipo ou procedure se voce preferir, ele sempre vai
comecar com o "void main()" que eh onde sempre comeca um programa, sacou?
Hmmm... voce deve estar perguntando para que serve as chaves {}? Apenas
para saber onde comeca e onde termina um prototipo, loop, etc... Quando
estiver aperta ({) indica o comeco, e fechada (}) o fim, interessante.
E o "...corpo do programa..."? Esse eh onde voce vai inserir o "bolo" de
codigo e rasuras, ateh que vocˆ chegue onde deseja!
Hmmm... um coisa inter

// comentario!

Entendeu? essa duas barrinhas sempre vao ser ignoradas pelo compilador!
Existe um outro metodo de comentario, que eh usado em C, mas funciona com
C++ tambem, que eh:

/* comentario */

Esse eh mais feio, so que mais pratico, tipo, eu poderia usar este assim:

/*
meu comentario
:
:
:
tudo sobre C++
*/

Pegou o espirito da coisa? Do outro modo tinha que ser:

// meu comentario
// :
// :
// :
// tudo sobre C++

De comentario eh so isso!

+-----+
MEU PRIMEIRO PROGRAMA EM C++
+-----+
Ja tava na hora neh!? Nada melhor que mostrar na pratica para voce ja ficar
mais familiarizado com o C++
Bom, o que veremos aqui eh um exemplo muito simples de saida, ou seja, o seu
super programcao agora so vai mostrar "beleza?" na tela, beleza?
Bom... entao mao na massa:

// Nome: beleza.cpp


#include <iostream.h> // Inclui o cabecalho <iostream.h>
void main() // O primeiro lugar por onde comecar
{
cout << "Beleza?" << endl; // Exiba na tela
}

Para compilar basta digitar no prompt:

Se voce esta usando o Borland C++: BCC beleza.cpp <enter>
Se voce esta usando o Turbo C++ : TCC beleza.xpp <enter>

Se vocˆ nÆo est usando nehum dos dois: Se vira!

Vamos passo-a-passo:

1§ Incluimos o arquivo de cabecalho que contem "cout" e "endl"
2§ Colocamos void main() para que o compilador saiba onde comecar
3§ Abrimos chaves {
4§ Inserimos o nosso querido codigo para mostrar na tela "beleza?"
5§ Fechamos as chaves }
6§ Compilamos
7§ Executamos

Hmm... os dois sinais << serve para jogar a string que sempre tem que estar
entre "aspas" para cout, que eh o comando de saida, entendeu a logica?

Voce viu uma coisa nova que eh o "endl", "endl" signifca como se apertasemos
o ENTER, endl significa end line - fim da linha, entao ele pula!

Voce tambem notou o ponto-e-virgula(, pois eh, esse ai voce sempre vai ter
que colocar em qualquer funcao, tipo, sempre no final de algum comando que
voce der, por exemplo, vamos ver outro programa de entrada e saida:

// Nome: nome.cpp

#include <iostream.h>

void main()
{
char nome[10]; // declara uma variavel de caracter(char)

cout << "Oi, insira o seu nome e de ENTER: ";
cin >> nome;

cout << "Serio? meu nome tambehm eh " << nome << endl;
}


Vamos a ajuda:

Em primeiro eu fiz tudo aquilo que ja aprendemos, depois declaramos uma
variavel de caracter que apenas ira armazenar 10 caracteres, depois
pedimos para ele entrar com o nome e armazenamos o texto digitado na va-
riavel "nome" e exibimos!

Repare que nao usamos no primeiro "cout" o "endl", simplesmente por que nao
queriamos que ele desse enter sozinho, apenas quando eu pressionar .
Compile o programa que fica mais facil!

+-----+
MAIS SOBRE O "cout"
+-----+
O que sera que tem mais para aprender sobre o "cout" ? Xi! pode sonhar que
tem muito, mas muita coisa mesmo para aprender sobre o "command output".
Vamos ao que interessa!
Por exemplo, veja este exemplo:

:
:
void main()
{
cout << "Alarme!!\a";
}

Reparou o "\a" no final? Entao compile e execute este programa que voce vera
a seguinte saida na tela com um leve apito(Beep!) do seu som interno, ou
PC Speaker. O "\a" significa eu falar para o programa dar um apito, ou
um som de alerta nas mensagens que voce desejar, entende?
Vejamos a seguinte tabela com os principais:

Tabela 1.1 Codigos da barra invertida para "cout"
+------------------------------------------------+
+----------+-------------------------------------+
| Codigo | Significado |
+----------+-------------------------------------+
| \a | Alerta! (sinal sonor, ou sei la!) |
| \n | Nova linha, o mesmo que "endl;" |
| \b | Retrocesso |
| \r | Retorno de Carro, vc ta ligado! |
| \f | Avanco de pagina |
| \t | Tabulacao horizontal |
| \v | Tabulacao vertical |
| \\ | Barra invertida (para exibir) |
| \' | Apostrofe |
| \" | Aspas |
| \0 | Nulo, o mesmo que "NULL" |
+----------+-------------------------------------+

Veja um exemplo de tabulacao:

:
void main()
{
cout << "Tabulacao\tcom\tc++" << endl;
}
:

Copile e execute. E divirta-se, tente usar todos para testar e ir adquirindo
experiencia

+-----+
TIPO DE DADOS
+-----+
O que eh realmente um tipo da dado?
Por exemplo, no nosso primeiro exemplo, BELEZA.C, eh muito atraente, mas ele
nao eh nada util. Ele se limita muito a uma acao escrota de imprimir na tela:
"Beleza?". Hmmm... entao existe muito mais que isso em C++? , eh claro! eh
o que veremos...
Vamos imaginar que queremos acompanhar o numero da versao de um programa
atraves de outro programa. Quando fosse executado, o programa iria exibir o
numero da versao, tipo: "Versao: 1". O nosso programa teria entao de ter
liberdade de atuar sobre esse numero, e na proxima versao outro n§ .....
Em C++, os dados sao armazenados em algum lugar na memoria que so Deus sabe!
E determinamos o espaco de uso! Vamos aos exemplos:

#include <iostream.h>

void main()
{
int versao = 1;

cout << "Versao: " << versao << endl;
}

Este programa ira exibir: Versao: 1

Muito simples neh?
O "int" significa que voce declarou um variavel inteira(n£mero) para "versao"

Vamos a outro exemplo do uso de char(cartactere):

#include <iostream.h>

void main()
{
char nome[] = "Lady Di";

cout << "Adeus: " << nome << endl;
}

Entendeu como funciona o esquema?

Na proxima edicao mostrarei os tabelas dos mais usados

Bom.... por enquanto ja da pra se ter uma nocao de C++, eu expliquei mais
sobre a teoria em si, e nao a logica de programacao que eh o que mais im-
porta, mas pra comecar eu acho que no minimo deve conhecer esses termos
e tal. Fucem e vejam mais detalhes em livros, etc...

Na proxima edicao pretendo dar inicio aos LOOPS, IF, entrada no dispositivo
do mouse, e em graficos, e em operadores matematicos

Divirtam-se!


|MARCOS FREITAS|


.~`^'-_!+=/.,~^'-_! 05 - INTRODUCAO A LINGUAGEM CLIPPER .~`^'-_!+=/.,~`^'-_!.~



E ai galera Clippera, como andam as coisas?!?! )
Bem, Clipper parece coisa antiga, mas sei lah.. aos meus ouvidos ainda
soa algo do tipo (Nossa, o Clipper estah Vivo )) bem... sei lah.
muitos odeiam clipper muitos (como eu) o amam e muitos nao conhecem
entao o que quero fazer?!?! bem, primeiramente da uma visao aos que
nao conhecem.... Depois de atingido esse objetivo, o proximo serah
agradar akeles que conhecem e o adimiram... e por ultimo estarei tentando
converter os "anti-clipper" que existem por ai. Nao os culpo... )
Bom, chega de papo e vamos logo ao que interessa.


Conceitos Basicos


O Clipper eh uma otima linguagem programacao para aqueles que necessitam
mexer com banco de dados.. eh uma otima linguagem vista por esse ponto.
o que ha de mais interessante no clipper, assim como em muitas linguagens
sao as proporcoes que uma linguagem pode atingir com o auxilio de outras.
Mas vc. me pergunta, como assim?!?! Bom, o clipper aceita as famosas LIB
geralmente criadas em C ou ASM... sei lah. depende muito do programador..
bom, o que nos interessa eh que apesar do clipper ser otimo, ele nao tem
muito apoio na parte que se diz respeito a graficos entre outras coisas
mas por outro lado ele eh muito util para auxiliacao em escritorios e em
presas que necessitam de controles/inclusoes, etc.. assim sendo obrigato-
rio o uso dos famosos banco de dados... ) Bom, mas voltando o assunto,
para se criar uma LIB sao necessarios alguns comandos de apoio ao clipper
que na verdade sao funcoes de retorno, entre outras coisas q. talvez vcs.
nao entendam. agora vamos analizar da parte critica. Qual eh o unico
defeito do clipper; gerar executaveis muito extensos, os menores ficam
com 300 kb acho que eh muito e um outro detalhe ele tbm. tem problemas
quanto a alocacao de memoria, pois apesar de tudo ele carrega no minimo
cerca de 250-300 Kb da memoria convencional, o que na realidade acaba
com o sistema. Mas fiquem tranquilo qto a execucao do programa, pois ele
carrega normalmente e tudo mais.. o problema mesmo eh se vc. quiser
carregar o programa e mais alguma outra coisa ai.. bom, sei lah.. )


Utilitarios!!!!

O clipper eh composto de varios utilitarios,entre eles vc. pode encontrar:

CLD - Eh o Debugador do clipper, por ele vc. pode descobrir possiveis
erros em seus programas.

NG - Norton Guide(guia do Norton) com ele estao todos os comandos do
clipper, entao vc. nao terah muita dificuldade ao programar....
por isso acho q. sobre o clipper soh terao duas ou 3 edicoes..

DBU - Digamos que ele seja o DBASE soh q. de um modo mais simples e por
meio de menus... muito util para vc. criar o seu .DBF ou altera-lo.

PE - Eh o Editor do clipper, mas eu recomendo e prefiro o EDIT do DOS
ainda.. )

RL - Eh um utilitario que tem por objetivo criar e/ou editar relatorios
e etiquetas que serao usados pelo seu programa, caso sejam necessa-
rios


Configuracoes

Para que o clipper funcione normalmente sao necessarios alguns comandos
no config e no autoexec.. sao eles:

No Config.sys
1 - FILES = (nnn)
onde nnn sao os numeros de arquivos que serao abertos ao mesmo
tempo pelo clipper ou qualquer outro programa
obs: em caso de REDE, use - o em conjunto com o DHELL.CFG

2 - BUFFERS = (nn)
onde nn sao os numeros de buffers de memorias que serao reser-
vados para qualquer aplicativo....
obs: use 8, 16 ou algum multiplo para que possa utilizado cor-
retamente.

No Autoexec.bat

1 - SET CLIPPER = F (nnn) ;
E (nnnnn) ;
X (nnn) ;
SWAPPATH:"C:\CLIPPER5\SWAP" ;
DYNF:8 ;
TEMPPATH:"C:\CLIPPER5\TEMP"

F - Configura o numero de arquivos que poderao ser abertos ao mesmo
tempo pelo programa executavel.

E - Valor de memoria expandida que serah usada pelo programa
minimo = 0 (anula o uso da EMS)
maximo = 8192kb (8mb)

X - Bloqueia nnn Kbytes da memoria convencional para simular maquinas
com pouca memoria RAM

SWAPPATH - Informa o local onde serah criado e utilizado um arquivo
SWAP para quem nao conhece um tipo de memoria virtual
para uma maior performance na compilacao.

DYNF - otimizacao para manipulacao de overlays internas.
obs: o melhor desempenho dessa variavel eh: 8.

TEMPPATH - Indica o local onde serao criados os arquivos de indexa-
cao e sort.

2 - SET INCLUDE=c:\clipper5\include
indica o caminho dos arquivos que serao incluidos ao fonte.
ex: .CH

3 - SET OBJ=c:\clipper5\obj
indica o caminho dos arquivos que serao incluidos ao fonte.
ex: .OBJ

4 - SET LIB=c:\clipper5\lib
indica o caminho dos arquivos de liBraria do clipper
ex: .LIB

5 - SET PLL=c:\clipper5\pll
indica o caminho dos arquivos de Codigo pre-lincado
ex: .PLL

6 - PATH=C:\CLIPPER5\BIN;C:\NG;%path%


Finalizar a intro


Bem, para finalizar a intro vou deixar ak. os comandos do compilador
e do linkeditor pois muitos sabem compilar, mas nao sabem exatamente
o que faz cada opcao...

Bom, para se compilar um programa feito em clipper usa - se

CLIPPER ARQUIVO.PRG [/opcao]
obs: a opcao nao eh necessaria
com isso geramos o .OBJ dai para criarmos o .EXE fazemos o seguinte:
RTLINK FILE ARQUIVO.OBJ [demais comandos] [/opcoes]
obs no lugar de demais comandos, sao comandos e opcoes adicionais e nao
necessarias dependendo da compilacao...

o basico eh isso ai.. agora vamos ver as subdivisoes de cada um.


1 - CLIPPER:
/A - Declara variaveis como sendo MEMVAR automaticamente.
/B - Da acesso ao "DEBUG" sem essa opcao, o CLD nao funciona .
/D - Declara uma constante e manifetsa ao pre-processador.
/I - Indica o diretorio dos arquivos .CH (includes lembra?)
/L - Desativa a contagem de linhas compiladas
/M - compila apenas um modulo desconsiderando outros q. o
programa chame, por exemplo se vc. criou 5 modulos e o
nome do principal eh TESTE.PRG ele compila apenas o
TESTE.PRG ignorando os comandos DO que servem para chamar
outros modulos.
/N - Essa funcao eh meio complicada de explicar, mas vamos lah
quando vc. comeca um programa com o comando:
FUNCTION TESTE()
......
RETURN
bom, se vc. simplesmente digitar CLIPPER PROG
ele nao ira compilar mostrando uma msg de erro, mas....
se vc. acrescentar a opcao /n ele compila, sacou?
/O - indica o diretorio no qual o arquivo .OBJ serah criado
/P - cria um arquivo pre-processado.
/Q - Compila em modo QUIETO, ou seja, enibe a numeracao de
linhas no codigo objeto(.obj)
/R - Forca a pesquisa de sertas bibliotecas
/S - essa opcao eh muito util, qdo se quer checar se o progra-
ma esta sem erro durante a compilacao, use este comando
que ele nao ira gerar o .OBJ, apenas ira "compilar" e
mostrar a linha do erro.
/T - indica o caminho do arquivo temporario gerado pelo cli-
pper
/U - forca a leitura em outros arquivos .CH alem do padrao.
/V - Assume todas constantes como variaveis de memoria, sendo
necessario a utilizacao de ALIAS pra identificar os cam-
pos dos DBFs
/W - Gera msgs de WARNIG = atencao, aviso que indica que
alguma variavel nao foi declarada no programa...


1 - RTLINK:
opcoes:
/A -
/C -
/D -

demais comandos

(OPCIONAL) LIB - especifica as livrarias(LIB) que serao usadas
(OPCIONAL) OUTPUT - especifica o nome do arquivo .EXE que serah
criado, caso vc. nao use esta opcao, o nome
criado serah o mesmo do fonte....
(OPCIONAL) VERBOSE - exibe os arquivos e funcoes utilizados na
link-edicao step by step(passo a passo) )

(OPCIONAL) PLL - indica o nome da PLL que serah usada na
link-edicao.

notas: pra q. serve uma PLL?!?!?
bom, serve para vc. diminuir o tamanho do .EXE por exemplo,
ela funciona como uma DLL ou uma LIB se preferir soh q. tem
uma vantagem, ao usa la, vc. pode escolher as funcoes que
serao linkadas ao seu programa, podendo assim, tirar as
desnecessarias e diminuindo o tamanho do .EXE mas qdo mandar
o .EXE, mande tbm. a .PLL senao o arquivo nao funciona...
bom, comentarei sobre como criar suas proprias PLLs mais pra
fente...

eh isso ai.. por enqto estou ficando por ak.. parece pouco, mas minha
mao jah estah cancada... )


|EAGLE'S POWER|


~`^'-_!+=/.,~`^'-_! 06 - INTRODUCAO A LINGUAGEM DELPHI .~`^'-_!+=.~`^'-_!+=/.,&


Oi pessoALL, vamos falar um pouco agora de Delphi. O Delphi poderia ser
considerado como o "Visual Pascal" da Borland, afinal, ele incorpora
diversos comandos da linguagem Object Pascal. Ele traz algumas vantagens
a seus desenvolvedores como:

- Disponibilidade do codigo fonte de seus componentes;
- Geracao de arquivo executavel independente de qq biblioteca de
tempo de execucao(o Visual Basic por ex precisa do VBRUN???.DLL + VBXes);
- Pode gerar DLLs, assim como novos componentes pra si mesmo, etc.

Nessa primeira edicao, vou tentar explicar como utilizar o ambiente Delphi,
para que mais tarde possamos realmente escrever algum codigo. Peco paciencia
para aqueles que jah conhecem alguma coisa de Delphi, a gente chega lah.


Criando seu Primeiro Formulario
-------------------------------

Criar um formulario eh uma das coisas mais faceis de se fazer, pois
ao abrir o Delphi, ele cria automaticamente um novo formulario vazio,
pronto para seu uso.
Acredite se quiser: Vc jah tem um aplicativo funcional!
Vc pode executa-lo pressionando F9 ou pelo comando Run no menu Run.
O Delphi cria um arquivo executavel independente de qualquer biblioteca
de tempo de execucao.
Naturalmente esse aplicativo nao serah muito util, uma vez que soh possui
uma janela vazia, sem nenhuma capacidade.


Adicionando um Titulo
---------------------

Para um usuario o titulo da janela representa o nome do aplicativo, portanto
muda-lo eh quase uma regra. Para isso, utilize o Object Inspector, se ele
nao estiver visivel, pressione F11.
No Object Inspector, localize a propriedade Caption.
Alterando essa propriedade, vc podera observar que o titulo da janela do seu
aplicativo tambem eh alterado.

Programacao Orientada a Objetos
-------------------------------

Se vc jah estiver familiarizado com programacao orientada a objetos (OOP)
talvez queira pular essa parte, mas senao estiver, nao pule, esta eh uma
parte IMPORTANTE pra vc.

Pensando em Objetos.
-------------------
Veja um exemplo: Vc entra numa loja de computadores, com algum
conhecimento de hardware, vc compra varios componentes: Uma placa-mae,
um Processador de ultima geracao, uma placa de video, teclado, etc...
A ideia que se tem quando se termina de montar as varias unidades
auto-suficientes, eh de que vc tem um sistema no qual todas as unidades
estao em conjunto pra formar um sistema maior, o computador.
Mas,internamente, cada um desses componentes pode ser bastante complicado
(ha tambem um detalhe q deve ser lembrado, esses componentes sao fabricados
por diversas empresas diferentes com diferentes metodos de projeto). Mas
vc nao precisa saber como a firma trabalha, qual a funcao de cada chip na
placa do seu computador.
Tudo o q vc estah interessado eh em como essas unidades interagem entre si.
Sera q essa placa de video funciona com esse monitor? Uma vez q vc saiba
como as diversas partes interagem entre si e como ajustah-las, serah facil
colocar todo o sistema pra funcionar.
O q isso tem a ver com programacao??? Tudo. A programacao orientada a
objetos (OOP) trabalha da mesma forma. Ao usar OOP, o seu programa eh
composto de varios compontentes diferentes e auto-suficientes (objetos),
cada um tem sua funcao no programa e todos podem se comunicar de formas
predefinidas.

Objetos e Classes
-----------------
As classes podem ser entendidas como um modelo abstrato de um grupo de
objetos.
Tome por exemplo uma arvore qualquer. Essa arvore, possui caracteristicas
que nenhuma outra especie possui, assim como caracteristicas q todas as
outras tem, como por exemplo folhas, raizes, etc. A classe Arvore, entao
descreve tudo q eh comum a todas as arvores, como raizes, folhas, etc.
Observer q na OOP, o termo classe refere-se ao tipo de dado, enquanto o
termo objeto a um caso de tipo de dado, uma variavel.
Mais adiante, veremos como utilizar as classes com mais detalhes, assim
como, criar novas classes.

Usando Componentes
------------------

Cada formulario pode conter uma serie de componentes. Vc pode escolher um
componente na palheta de mutiplas paginas na janela Delphi. Para acrescentar
um componente ao formulario, clique sobre este componente, vah com o
pointeiro do mouse ateh o formulario e clique sobre este. Vc podera, entao
arrastar com o mouse a borda inferior esquerda do componente ou simplesmente
soltar o botao do mouse, para assumir o tamanho default do componente.

Mudando Propriedades
--------------------

Todo componente Delphi possui uma propriedade qualquer. No Object Inspector
vc pode alterar diversas propriedades dos componentes.
Uma propriedade obrigatoria em todo componente Delphi eh a propriedade Name
(Nome). O nome eh uma propriedade interna, ele eh usado como o nome de uma
variavel referente ao componente.
Portanto, para modificar a propriedade Name vc deve seguir as regras de
criacao de um identificador na linguagem Pascal:
- Um identificador eh uma sequencia de caracteres, numeros e sublinhados.
- O primeiro caracter de um identificador nao pode ser um numero; deve ser
uma letra, ou caracter sublinhado;
- Nenhum espaco eh permitido em um identificador;
- Identificadores nao sao sensiveis a letras maiusculas e minusculas:
Btn_Ok, BTN_OK e btn_ok referem-se ao mesmo identificador.

Respondendo a Eventos
---------------------

Antes de mais nada, o q eh um evento? Explicarei com exemplos:
Um click com o mouse sobre um botao ou formulario, sao eventos, assim como
o pressionar de uma tecla eh tambem um evento.
Quando vc pressiona o botao do mouse sobre um componente ou sobre um
formulario, o Windows informa seu aplicativo, enviando uma mensagem. Mas por
enquanto, vamos ignorar o comportamento do Windows ok? Vc deve estar ciente
de que o Delphi reage ao receber uma dessas mensagens e ao invocar um
"metodo de resposta a eventos" adequado.
O Delphi define uma serie de eventos diferentes para os diversos componen-
tes. A lista de eventos de um formulario eh diferende da de um botao, embora
alguns eventos sejam comuns a ambos os componentes.
Para responder a um evento, siga os seguintes passos:

1. Selecione o componente onde ocorre o evento, no formulario ou no Object
Inspector;
2. Selecione a pagina Events;
3. De um duplo click com o botao esquerdo do mouse sobre a area branca no
lado direito do evento que vc deseja responder. Um novo nome de metodo
aparecerah.

O Delphi cria um procedimento no codigo do formulario e abre o arquivo de
codigo-fonte nessa posicao. Agora vc pode comecar a digitar algumas
instrucoes entre as palavras begin e end (respectivamente, inicio e fim) que
delimitam o codigo do procedimento. Se vc nao conhece a linguagem Object
Pascal, nao se preocupe, estudaremos isso mais a diante.

<DICA>

Se vc quiser remover algum metodo de resposta que escreveu, remova todo o
codigo q VC escreveu entre as palavras begin e end do procedimento,
deixando todo o codigo que foi gerado pelo Delphi, este automaticamente
removera quaisquer metodos vazios do codigo-fonte, assim como a referencia
a eles na pagina Events do Object Inspector.
Nao tente remover os codigos que sao gerados pelo Delphi,antes de saber
para q eles servem ou vc poderah comecar bem o seu aprendizado sendo
apresentado a sua primeira mensagem de erro.

Ueh! Cade o resto?
------------------

Vc nao esperava que eu digitasse tudo pra essa edicao nao eh? Um bom livro
de Delphi tem pelo menos 300 paginas! Mas vc nao precisara de um se acom-
panhar o zine (que eh bem mais barato). Afinal, vc nao vai pagar 90 reais
por uma informacao que deveria ser gratis neh?


|THIAGO CORREA|



.~`^'-_!+=/.,'-_ 07 - INTRODUCAO A LINGUAGEM TURBO PASCAL .~`^'-_!+=/.,~`^'-


De acordo com observa‡”es feitas por diversos professores, inclusive
por mim, a maior parte das pessoas ficam ligadas para sempre … primeira
linguagem que aprenderam, e quando aprendem uma nova linguagem, tˆm uma
certa tendˆncia em desenvolver os algoritmos segundo o vocabul rio e
regras sint ticas da primeira linguagem, so que escritas na nova.

Este Texto foi extraido de um tutorial de Pascal, Nao sei o porque, mas
ainda nao consegui identificar o autor, peco desculpas caso ele leia
um texto dele publicado em outro zine, mas nao pude evitar....
Bom, soh pra nao perder akeles negocios de autenticidade e tal.., ai vai
a unica coisa que encontrei sobre o autor no tutorial......
[]s úùþ îlCa þùú
Bom, isso ai acima, foi a unica assinatura que encontrei sobre o cara..

Tipo, agora comentando sobre o fato que foi exposto por ele... tai mais
um objetivo da zine, proporcionar a novatos uma visao geral sobre as
linguagens, facilitando assim sua escolha. E outra, como voce tera opor-
tunidade de conhecer diversas linguagens, quem sabe, nao quebramos essa
barreira de "a primeira ser a unica" ))

Bem.. tudo legal, mas vamos comecar com Pascal "o nao eh que rimo!!!" )

O PASCAL neste caso o TURBO PASCAL foi criado a muito tempo, tanto que
quando eu estava na 4§ serie jah ouvia falar dele que era muito util
para a criacao de virus(hehe) entre diversos fatores... Mas passaram - se
os anos e o Pascal foi evoluindo tornando - se TURBO, e eh ai que eu
entro... Com a chegada do TURBO PASCAL, diversas barreiras foram quebradas
como no caso de funcoes graficas entre outras coisas.. nao que o pascal
nao tinha antes, mas eh uma questao de facilidade, agora estah muuito mais
facil a criacao de rotinas graficas e tudo mais.. ))

Agora irei demonstrar como eh a estrutura do programa fonte criado em
Turbo Pascal....

(* PROGRAMA EXEMPLO.PAS *)
^
|
OBS: Tudo que estiver entre (* *) ou entre chaves sao comentarios e nao
sao considerados comando pelo compilador.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CORTE AQUI >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Program Primeiro_Exemplo; { este e o cabecalho do
programa }

{ Aqui comeca o HEADER do programa, ou seja, serao colocados os tipos de
variaveis, nomes de units usadas, declaracoes de funcoes, etc.... }


USES Crt;
{ a instrucao USES serve para vc. indicar qual UNIT serah utilizada, no
caso estou usando a CRT que eh a que jah vem inclusa no TURBO PASCAL...
Existem outros tipos de UNIT e o melhor de tudo, voce ainda pode criar
suas proprias UNITS q. na verdade digamos que sao as LIBs do CLIPPER
Dentro de uma UNIT, encontramos funcoes ou procedures ou os dois em
conjunto, que jah foram pre-compiladas e podem ser inseridas no programa
por meio da instrucao USES. }

Const NOMEU = 'Eagle'+chr(239)+'s Power';
{ Aqui podemos definir variaveis constantes, ou seja, sempre que voce usar
a variavel NOMEU em seus programas ela contera Eagle's Power (como nesse
caso) }

Type TIME = (SAO PAULO,SANTOS,PORTUGUESA,PALMEIRAS,CORINTHIANS,OUTROS);
{ Existem diversos tipos jah definidos pelo turbo pascal, mas voce podera
definir novos tipos, como nesse exemplo assima. }

Var SEUNOME : STRING[25]; { variavel do turbo pascal }
SEUTIME : time; { aqui estou usando o tipo TIME que eu
mesmo criei veja acima }

{VAR serve para indicar ao compilador os tipos das variaveis}

{ Aqui comeca o CORPO do Programa, ou seja, as funcoes, procedures,
comandos, etc. }

BEGIN {eh necessario para indicar o inicio do corpo do programa}
CLRSCR; { Limpa a tela no modo 80x25}
WRITELN('Sou conhecido como ',Nomeu,' este eh meu CodNome... )');
{ Imprime na tela a msg entre '' a observe o LN q. eh a abreviacao de
LINE, ou seja, isso faz com que o programa mostre essa msg usando
a linha interia, como assim!? bom, se vc. usar WRITE apenas ele ira
imprimir onde o cursor parou e continuar dali, mas se vc. usar o
WRITELN ele ira imprimir no local do cursor e ira mandar uma linha
pra baixo, ou seja, a proxima coisa escrita serah na linha de baixo }

WRITE('Qual seu nome ?!?!?');
{ eh o mesmo que o WRITELN soh q. sem pular linhas }

READLN(SEUNOME);
{ Pega o q. foi digitado pelo teclado e salva em alguma variavel,
no caso na variavel SEUNOME }
WRITLN('');
{ vc. jah sabe o que faz, mas neste caso uso para pular uma linha
recursos que aprendemos aos poucos ) }

End. {eh necessarios para indicar o FIM DO PROGRAMA}

<<<<<<<<<<<<<<<<<<<<<<<<<< TERMINE O CORTE AQUI >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Bom, eu tava vendo o Tutorial de Pascal criado por esse cara que ainda
quero descobrir quem eh, pois o TUTOR foi muito bem feito, quero para-
beniza - lo....
Bom, mas achei muuito bem explicado e acho que nao eh necessario eu
explicar tudo novamente... a nao ser o que faltou, ou alguma coisa que
o cara deixou escapar... mas acho dificil... entao voce me pergunta:
- o q. vc. vai fazer!?
a resposta eh simples, vou colocar o tutor do cara aqui na zine.....
mas atencao, todos os CREDITOS referentes a Pascal daqui em diante
eh POR CONTA DO CARA, nada eh meu ok.?!?!?


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Comeca Aqui.........

II.2 - Estrutura de um programa em Pascal
----------------------------------
Todo programa em Pascal ‚ subdividido em 3 reas:

- cabe‡alho do programa
- rea de declara‡”es
- corpo do programa

Na defini‡„o padr„o da linguagem Pascal, o Cabe‡alho do programa ‚
obrigat¢rio, no entanto, no Turbo Pascal ele ‚ opcional. A rea de
declara‡”es ‚ subdividida em seis sub- reas, a saber:

- Label
- Const
- Type
- Var
- Procedures
- Functions

Darei agora, uma breve explica‡„o de cada sub rea, pois mais para
frente estudaremos cada uma delas com profundidade. Na sub rea Label,
devemos declarar todos os labels que forem utilizados no corpo do
programa. Os labels s„o utilizados em conjunto com a instru‡„o goto.
Todas as constantes que formos utilizar no nosso programa, podem se
assim desejarmos, ser definidas na sub rea Const.

O Turbo Pascal tem basicamente 6 tipos de vari veis pr‚-definidas a
saber: Integer, Real, Byte, Boolean, Char e String. No entanto, podemos
definir novos tipos de vari veis na sub rea Type.

Todas as vari veis utilizadas no programa devem ser declaradas na
sub rea Var, pois a aloca‡„o de espa‡o de mem¢ria para as vari veis ‚
feita durante a compila‡„o. Na sub rea Procedures, podemos definir
quantas sub-rotinas quisermos. Elas s„o chamadas durante o programa
pelos seus respectivos nomes.

Finalmente, na sub rea Functions podemos definir novas fun‡”es que
depois poderemos utilizar no programa embora o Turbo Pascal possua
in£meras fun‡”es pr‚-definidas. Estas sub reas s¢ s„o obrigat¢rias caso
n¢s estejamos precisando. Exemplo: se n„o vamos utilizar vari veis no
nosso programa (coisa rara) ent„o n„o precisamos utilizar a sub rea
Var. De acordo com a defini‡„o padr„o da Linguagem Pascal, estas
sub reas devem aparecer na sequˆncia que foi dada anteriormente, ou
seja, Label - Const - Type - Var - Procedures - Functions. Mas no Turbo
Pascal isto ‚ livre.

Por fim, como dito no programa exemplo, existe a possibilidade de se
usar a declara‡„o USES, que nos permite utilizar UNITS que nada mais
s„o do que bibliotecas de fun‡”es e procedures previamente declaradas.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³III - No‡”es B sicas preliminares.³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

III.1 - Elementos b sicos do Turbo Pascal
---------------------------------

III.1.1 - Caracteres utilizados

Os caracteres que podem ser utilizados no Turbo Pascal s„o divididos
em :

Letras : 'A' at‚ 'Z', 'a' at‚ 'z'

N£meros : 0,1,2,3,4,5,6,7,8 e 9

Especiais: + - * / = ^ < > ( ) [ ] { } . , : ; ' # $

Observa‡”es:

1-) O Turbo Pascal n„o faz distin‡„o entre letras mai£sculas e
min£sculas, de tal forma que no desenvolvimento deste curso eu
utilizarei os dois tipos da forma que achar mais conveniente.

2-) Embora na maioria das linguagens o sinal de atribui‡„o de valores a
vari veis seja o =, em Pascal, o s¡mbolo de atribui‡†o ‚ :=,
exemplos:

A = 100 em Basic
A := 100 em Pascal

3-) Dois pontos em seguida (..) indica um delimitador de faixa,exemplo:

1..30 --> todos inteiros entre 1 e 30 inclusive.


III.1.2 - Palavras reservadas

As palavras reservadas do Turbo Pascal s„o palavras que fazem parte da
sua estrutura e tˆm significados pr‚-determinados. Elas n„o podem ser
redefinidas e n„o podem ser utilizadas como identificadores de
vari veis, procedures, functions etc. Algumas das palavras reservadas
s„o:

absolute(*) and array begin
case const div do
downto else end external(*)
file for forward function
goto if in inline(*)
label mod nil not
of or packed procedure
program record repeat set
shl(*) shr(*) string(*) then
to type until var
while with xor(*)

(*) --> n„o definidos no Pascal Standard


III.1.3 - Identificadores pr‚-definidos

O Turbo Pascal possui in£meros identificadores pr‚-definidos, que n„o
fazem parte da defini‡„o padr„o da linguagem Pascal. Esses
identificadores consistem em Procedures e Functions, que podem ser
utilizados normalmente na constru‡„o de programas. Exemplos:

ClrScr : limpa a tela de v¡deo
DelLine : deleta a linha em que est o cursor e assim por diante.

Constantemente, novas procedures e functions est„o sendo criadas pela
Borland International (criadora do Turbo Pascal), aumentando desta
forma o n£mero de identificadores. S„o UNITS que tornam o Turbo Pascal
mais poderoso do que ele j ‚.

Regras para forma‡„o de identificadores:

O usu rio tamb‚m pode definir seus pr¢prios identificadores, na verdade
n¢s somos obrigados a isso. Nomes de vari veis,de labels,de procedures,
functions, constantes etc. s„o identificadores que devem ser formados
pelo programador. Mas para isso existem determinadas regras que devem
ser seguidas:

1-) O primeiro caractere do identificador dever ser obrigatoriamente
uma letra ou um underscore (_).
2-) Os demais caracteres podem ser letras, d¡gitos ou underscores.
3-) Um identificador pode ter no m ximo 127 caracteres.
4-) Como j dissemos anteriormente, n„o pode ser palavra reservada.

Exemplos de identificadores v lidos:

Meu_Nome
MEU_NOME igual ao anterior
__Linha
EXemplo23

Exemplos de identificadores n„o v lidos:

2teste come‡a com n£mero
Exemplo 23 tem um espa‡o


III.1.4 - Coment rios

Coment rios s„o textos que introduzimos no meio do programa fonte com a
inten‡„o de torn -lo mais claro. uma boa pr tica em programa‡„o
inserir coment rios no meio dos nossos programas. No Turbo Pascal, tudo
que estiver entre os s¡mbolos (* e *) ou { e } ser considerado como
coment rio.


III.1.5 - N£meros

No Turbo Pascal, podemos trabalhar com n£meros inteiros e reais, sendo
que os n£meros inteiros podem ser representados na forma hexadecimal,
para tanto, basta precedˆ-los do s¡mbolo $. Os n£meros reais tamb‚m
podem ser representados na forma exponencial.

Isso tudo varia de vers„o para vers„o do turbo Pascal, citarei aqui as
faixas de valores v lidas para a vers„o 7.0:

ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Tipo ³ faixa ³ Formato ³
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Shortint ³ -128..127 ³ Signed 8-bit ³
³ Integer ³ -32768..32767 ³ Signed 16-bit ³
³ Longint ³ -2147483648..2147483647 ³ Signed 32-bit ³
³ Byte ³ 0..255 ³ Unsigned 8-bit ³
³ Word ³ 0..65535 ³ Unsigned 16-bit ³
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Tipo ³ faixa ³Digitos ³ Bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ real ³ 2.9e-39..1.7e38 ³ 11-12 ³ 6 ³
³ single ³ 1.5e-45..3.4e38 ³ 7-8 ³ 4 ³
³ double ³ 5.0e-324..1.7e308 ³ 15-16 ³ 8 ³
³ extended ³ 3.4e-4932..1.1e4932 ³ 19-20 ³ 10 ³
³ comp ³ -9.2e18..9.2e18 ³ 19-20 ³ 8 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

III.1.6 - Strings

Strings s„o conjunto de caracteres entre aspas simples, exemplos:

'isto ‚ uma string'
'123456' etc.


III.1.7 - Caracteres de controle

Existem alguns caracteres que tˆm significados especiais. S„o os
caracteres de controle. Exemplos:

Control G -> Bell ou beep
Contorl L -> Form Feed
etc.

Em Turbo Pascal, tamb‚m podemos utilizar estes caracteres. Para tanto,
eles devem ser escritos pelo seus valores ASCII correspondentes,
precedidos do s¡mbolo #, ou ent„o a letra correspondente precedida do
s¡mbolo ^, exemplo:

Control G --> #7 ou ^G


III.2 - Defini‡„o de vari veis

Como j dissemos, todas as vari veis que forem utilizadas no corpo do
programa, devem ser declaradas numa sub rea espec¡fica chamada Var.

Para estudarmos essa sub rea devemos primeiro ver os tipos de vari veis
pr‚-definidos em Turbo Pascal.


III.2.1 - Tipos de dados pr‚-definidos

Os tipos de dados pr‚-definidos em Turbo Pascal s„o divididos em duas
categorias:

Escalares Simples:

- Char
- Boolean
- todos os tipos de inteiros citados acima
- todos os tipos de reais citados acima

Escalares estruturados:

- String
- Array
- Record
- File
- Set
- Text

Inicialmente, iremos estudar os escalares simples e o tipo String pela
sua utiliza‡„o pr tica inicial. Os demais tipos estruturados ser„o
vistos mais para a frente.

CHAR:
O tipo char corresponde a todos os caracteres que podem ser gerados
pelo teclado tais como d¡gitos, letras e s¡mbolos tais como &, #,* etc.
Os caracteres devem vir entre aspas simples.

BOOLEAN:
O tipo boolean s¢ pode assumir os valores FALSE e TRUE.

STRING:
Este tipo ‚ chamado de estruturado ou composto pois ‚ constitu¡do a
partir de um tipo simples que ‚ o char. O tipo string ‚ composto por um
conjunto de caracteres entre aspas simples.


SHORTINT - INTEGER - LONGINT - BYTE - WORD:
Ver tabela acima.

REAL - SINGLE - DOUBLE - EXTENDED - COMP:
Ver tabela acima.


III.2.2 - A declara‡„o Var

Esta ‚ a sub rea onde devemos declarar todas as vari veis que iremos
utilizar em nosso programa. Exemplo:

Program Exemplo; (* cabe‡alho do programa *)

Var
idade,n£mero_de_filhos : byte;
altura : real;
sexo : char;
nome : string[30];
sim_ou_nao : boolean;
quantidade : integer;

(* aqui come‡a o programa *)

Begin
idade:=34;
n£mero_de_filhos:=2;
sexo:='M';
nome:='Jos‚';
sim_ou_nao:=TRUE;
quantidade:=3245;
End.

Observa‡”es importantes:

1-) A palavra reservada Var aparece uma £nica vez num programa

2-) A sintaxe geral para declara‡„o de vari veis ‚:

vari vel_1,vari vel_2,...,vari vel_n : tipo;

3-) Os espa‡os e coment rios separam os elementos da linguagem. Voce
pode colocar quantos espa‡os quiser. Observe:

Varidade:integer; o compilador n„o reconhece a palavra Var

Var idade:integer; agora sim, ou se preferir

Var idade
: integer; d na mesma.

4-) As instru‡”es s„o separadas entre si por ponto e v¡rgula ';'. Se
vocˆ quiser, pode colocar mais de uma instru‡„o numa £nica linha.
Lembre-se que o limite de caracteres numa linha ‚ de 127

5-) O tipo string deve ser procedido da quantidade m xima de caracteres
que a vari vel pode assumir. Lembre-se que a aloca‡„o de espa‡o de
mem¢ria para as vari veis ‚ feita durante a compila‡„o, portanto o
compilador precisa saber desse dado. Por outro lado, o fato de
termos, por exemplo, atribu¡do o valor m ximo de 30 n„o significa
que tenhamos que utilizar os 30 caracteres e sim no m ximo 30.

6-) Como £ltima observa‡„o, acho muito mais claro e elegante declarar
vari veis e ao mesmo tempo informar com linhas coment rios os
devidos motivos. Exemplo:

Var
idade, (* idade de determinada pessoa *)
i,j (* utilizadas em loops *)
: integer;

nome1, (* nome gen‚rico de pessoas *)
nome2 (* nome gen‚rico de pessoas *)
: string[50];





.~`^'-_!+=/.,~`^'-_! 08 - INTRODUCAO AO VISUAL BASIC .~`^'-_!+=/.,~.~`^'-_!+=/'


A seguir voce vera alguns comandos que dizem respeito a Barra de Ferramentas
do Visual Basic e a Caixa de Ferramentas do mesmo, mas nao pense que com isso
voce estara apto a fazer qualquer tipo de programa em VB, isto eh apenas uma
introducao, contendo os conceitos basicos, mas esperamos que ajude em alguma
coisa, e quem sabe da proxima vez, colocaremos outros itens interessantes.
Mas uma coisa eh importante lembrar, nada se aprende sem que voce esteja
sempre procurando e fucando, um dos melhores jeitos de se aprender qualquer
Linguagem de Programacao. Ah outra coisa tambem...se voce leitor da revista
manja de vB, basta nos contatar pelos e-mail no rotulo(Que horrivel!), nossa
rotulo eh coisa pra viado bicho, esquece isso que eu falei de rotulo, e vah
direto aos contatos imediatos que voce verah nosso endereco de mail, entao
beleza pura. hmmm,,,deixa me ver se eu tenho mais coisa pra falar......pensei
e nao cheguei a nenhuma conclusao mas tudo bem, depois eu acabo lembrando ;-) entao comece agora seu estudo.... ))


Barra de ferramentas:


* Insert Form .: Adiciona um novo formulario ao projeto corrente.

* Insert Module .: Adiciona um novo modulo de procedures ao projeto corrente.

* File Open Project .: Exibe a caixa de dialogo de abertura de projetos.

* File Save Project .: Armazena o projeto corrente.

* Edit Lock Controls .: Habilita ou desabilita o bloqueio para mover ou
dimensionar controles utilizando o mouse.

* Tools Menu Editor .: Apresenta a caixa de dialogo de edicao de menus.

* View Properties .: Apresenta a janela de propriedades.

* Run Start .: Entra no modo de execucao de projetos.

* Run Break .: (Disponivel somente no modo break) Entra no modo Break durante
a execucao de um projeto.

* Run End .: Finaliza o modo de execucao de um projeto.

* Toggle Break Points .: Para depuracao de codigos, insere ou remove pontos
de pausa.

* Tools Instant Watch.: Para depuracao de codigos, exibe o conteudo de
variaveis, propriedades, expressoes etc. selecionadas.

* Tools Calls .: Apresenta as procedures chamadas, porem nao finalizadas.

* Run Step Into .: Executa o projeto corrente passo a passo.

* Run Step Over .: Executa o projeto corrente passo a passo, sem depurar
as chamadas de procedures.


[Caixa de Ferramentas] - Visual Basic For Windows 95'

POINTER => Apontador

LABEL => Rotulo

FRAME => Moldura

CHECK BOX => Caixa Verificacao

COMBO BOX => Caixa de Combinacao

HORIZONTAL SCROLL BAR => Barra de Rolagem Horizontal.

TIMER => Temporizador

DIR LIST BOX => Caixa de Diretorios

SHAPE => Forma

IMAGE BOX => Caixa de Imagem

OLE => Inserir um Objeto Aplicativo no seu Programa

SSTAB => Guias

DB COMBO => Caixa de Combinacao para Banco de Dados

PICTURE BOX => Caixa de Figura

TEXT BOX => Caixa de Texto

COMMAND BUTTOM => Botao de comando

OPITION BUTTOM => Botao de Opcao

LIST BOX => Caixa de Listagem

VERTICAL SCROOL BAR => Barra de Rolagem Vertical

DRIVE LIST BOX => Caixa de Unidades

FILE LIST BOX => Caixa de Arquivos

LINE => Linha

DATA CONTROL => Acesso ao Banco de Dados

COMMON DIALOG => Caixa de Dialogo

DB LIST => Listagem para Banco de Dados

DB GRID => Grade para Banco de Dados


|Px_LARVA ESPOLETA|



.~`^'-_!+=/.,~`^^'-_! 09 - DICAS: IcemaN COMENTA ^'-_!+=/.,~`^'-_!..,/``~` ';=



Opa
meu aqui vai um programinha pra familia 680x0 com FP 68882
esse prog fas uma frase q vc escrever ficar ao contrario
tipo ele eh feito para rodar em amiga mas sei la tipo o
68030 ou qq 680x0 eh padrao RISC tipo acho que nem funciona
no pc do geito q ta ai seis que usam o pc vao ter que modificar
para poder rodar no micro de vcs tipo um lance interecante
e a intuition do amiga que nao faco a mais palida ideia de como
poderia ser substituida ou emulada em um pc!
bom eh isso ai espero q vcs se divirtam bastante ok!
[]'s e ate a proxima materia ou zine
IcemaN


<<<<<<<<<<<<<<<<<<<<<<<<<<<<< RECORTA AQUI >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


xref _cls
xref _DOSBase
xref _GfxBase
xref _Ustringprint
xref _Ucodeprint
xref _MathBase
xref _LVOSPFlt
xref _strcpy
xref _round
xref lmulu
xref _inkey
xref _streq
xref _LVOSPAdd
xref _LVOSPSub
xref _LVOSPCmp
xref _Usingleprint
xref _startup
xref _cleanup
xref _openmathffp
xref _closemathffp
xref _opengfx
xref _closegfx
xref _openintuition
xref _closeintuition
xref _starterr
xdef _EXIT_PROG
xref _free_alloc

SECTION code,CODE

jsr _startup
cmpi.b #1,_starterr
bne.s _START_PROG
rts
_START_PROG:
move.l sp,_initialSP
movem.l d1-d7/a0-a6,-(sp)
jsr _openmathffp
cmpi.b #1,_starterr
bne.s _mathffp_ok
jmp _ABORT_PROG
_mathffp_ok:
jsr _openintuition
cmpi.b #1,_starterr
bne.s _intuition_ok
jmp _ABORT_PROG
_intuition_ok:
jsr _opengfx
cmpi.b #1,_starterr
bne.s _gfx_ok
jmp _ABORT_PROG
_gfx_ok:
link a4,#-28

_LINE2:
jsr _cls
pea _stringconst0
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst1
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst2
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst3
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst4
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp

jsr _Ucodeprint
addq #4,sp
move.l #0,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-4(a4)
pea _stringconst5
pea _stringvar0
move.l (sp)+,-8(a4)
move.l (sp)+,a1
move.l -8(a4),a0
jsr _strcpy
move.l #0,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-12(a4)
move.l #0,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-16(a4)
pea _array0
move.l (sp)+,-20(a4)
pea _stringconst6
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst7
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
_LINE10:
move.l -4(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l d7,_tmpelement
jsr _inkey
move.l d0,-(sp)
move.l _tmpelement,d7
mo
move.l -20(a4),a0
adda.l d7,a0
jsr _strcpy
move.l -4(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l -20(a4),a0
adda.l d7,a0
move.l a0,-(sp)
pea _stringconst8
move.l (sp)+,a1
move.l (sp)+,a0
jsr _streq
cmpi.l #0,d0
bne.s _lab0
jmp _lab1
_lab0:
jmp _LINE100
_lab1:
move.l -4(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l -20(a4),a0
adda.l d7,a0
move.l a0,-(sp)
pea _stringconst9
move.l (sp)+,a1
move.l (sp)+,a0
jsr _streq
cmpi.l #0,d0
bne.s _lab2
jmp _lab3
_lab2:
move.l -12(a4),-(sp)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,d1
move.l (sp)+,d0
move.l _MathBase,a6
jsr _LVOSPAdd(a6)
move.l d0,-12(a4)
_lab3:
move.l -4(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l -20(a4),a0
adda.l d7,a0
move.l a0,-(sp)
pea _stringconst10
move.l (sp)+,a1
move.l (sp)+,a0
jsr _streq
cmpi.l #0,d0
bne.s _lab4
jmp _lab5
_lab4:
move.l -16(a4),-(sp)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,d1
move.l (sp)+,d0
move.l _MathBase,a6
jsr _LVOSPAdd(a6)
move.l d0,-16(a4)
_lab5:
move.l -4(a4),-(sp)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,d1
move.l (sp)+,d0
move.l _MathBase,a6
jsr _LVOSPAdd(a6)
move.l d0,-4(a4)
jmp _LINE10
_LINE100:
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-24(a4)
move.l -4(a4),-(sp)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,d1
move.l (sp)+,d0
move.l _MathBase,a6
jsr _LVOSPSub(a6)
move.l d0,-(sp)
move.l #$80000041,-(sp)
_lab6:
moveq #0,d1
move.l (sp),d0
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
blt _lab7
move.l -24(a4),d0
move.l 4(sp),d1
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
bgt _lab9
jmp _lab8
_lab7:
move.l -24(a4),d0
move.l 4(sp),d1
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
blt _lab9
_lab8:
move.l -24(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l -20(a4),a0
adda.l d7,a0
move.l a0,-(sp)
jsr _Ustringprint
addq #4,sp
move.l (sp),d0
move.l -24(a4),d1
move.l _MathBase,a6
jsr _LVOSPAdd(a6)
move.l d0,-24(a4)
jmp _lab6
_lab9:
addq #8,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst11
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
move.l -4(a4),-(sp)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,d1
move.l (sp)+,d0
move.l _MathBase,a6
jsr _LVOSPSub(a6)
move.l d0,-28(a4)
move.l #1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-(sp)
move.l #-1,d0
move.l _MathBase,a6
jsr _LVOSPFlt(a6)
move.l d0,-(sp)
_lab10:
moveq #0,d1
move.l (sp),d0
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
blt _lab11
move.l -28(a4),d0
move.l 4(sp),d1
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
bgt _lab13
jmp _lab12
_lab11:
move.l -28(a4),d0
move.l 4(sp),d1
move.l _MathBase,a6
jsr _LVOSPCmp(a6)
blt _lab13
_lab12:
move.l -28(a4),d0
jsr _round
move.w d0,-(sp)
moveq #0,d7
move.w (sp)+,d1
ext.l d1
move.l d1,-(sp)
move.l #1,-(sp)
jsr lmulu
add.l #8,sp
add.l d0,d7
move.l d7,-(sp)
move.l #1024,-(sp)
jsr lmulu
add.l #8,sp
move.l d0,d7
move.l -20(a4),a0
adda.l d7,a0
move.l a0,-(sp)
jsr _Ustringprint
addq #4,sp
move.l (sp),d0
move.l -28(a4),d1
move.l _MathBase,a6
jsr _LVOSPAdd(a6)
move.l d0,-28(a4)
jmp _lab10
_lab13:
addq #8,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst12
jsr _Ustringprint
addq #4,sp
move.l -16(a4),-(sp)
jsr _Usingleprint
addq #4,sp
move.l #2,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst13
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst14
jsr _Ustringprint
addq #4,sp
move.l -12(a4),-(sp)
jsr _Usingleprint
addq #4,sp
move.l #2,-(sp)
jsr _Ucodeprint
addq #4,sp
pea _stringconst15
jsr _Ustringprint
addq #4,sp
move.l #0,-(sp)
jsr _Ucodeprint
addq #4,sp
jmp _EXIT_PROG

_EXIT_PROG:
unlk a4
_ABORT_PROG:
jsr _free_alloc
jsr _closegfx
jsr _closeintuition
jsr _closemathffp
movem.l (sp)+,d1-d7/a0-a6
move.l _initialSP,sp
jsr _cleanup

rts

SECTION data,DATA

_stringconst0: dc.b " þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ",0
_stringconst1: dc.b " þþ Marcio Esper 1992 þþ",0
_stringconst2: dc.b " þþ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ þþ",0
_stringconst3: dc.b " þþ DESORGANIZADOR v 1.0 þþ",0
_stringconst4: dc.b " þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ",0
_stringconst5: dc.b "_",0
_stringconst6: dc.b " digite '*' (Shift 8) pra executar",0
_stringconst7: dc.b "Entrada do texto:",0
_stringconst8: dc.b "*",0
_stringconst9: dc.b " ",0
_stringconst10: dc.b "a",0
_stringconst11: dc.b " resultado ",0
_stringconst12: dc.b "O texto tem ",0
_stringconst13: dc.b " letras 'a' ",0
_stringconst14: dc.b "e ",0
_stringconst15: dc.b " espacos",0

SECTION mem,BSS

_stringvar0: ds.b 1024
_array0: ds.b 52224
_tmpelement ds.l 1
_initialSP: ds.l 1

END

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< FIM DO CORTE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

obs:
nao coloca isso no programa

legal se vc teve saco de copiar tudo isso ai se deve ser doido qnem eu heheh
mas tipo acho que da pra ter uma ideia de como o bichinho funciona
tipo se vc mudificar um poquinho pode usar o prog pra escrever codigos ))
bom falou!

............PROGRAMANDO EM LINGUAGEM DE MAQUINA USANDO O BASIC )...........


Opa oi eu aqui dinovo meu quantas vezes vc pensou em faser um programa em
lingugem de maquina usando o BASIC (beguiners all sinbolic instruction code)
em ? meu se vc pensa que isso eh impossivel nem eh e ai vai minha contribui-
cao para vcs que sofrem com seus PCs a proposito tava vendo um cara que
demonstrava um pc e falava que ele era multask ai sei la que aconteceu que
ele comeco a formata um lance e tipo breco toda maquina enquanto formatava,
ai eu perguntei - o q acontece? ele disse que tava formatando!
cara sei la pra mim isso nao eh multask , bom PC um dia se chega la!
bom decha de papo furado e la vai o prog ok
Estou enviando o basic generico mas eh so se adaptar para o seu ok!

100 'COMGEM.BAS - GERA ARQUIVOS COM A PARTIR DE SENTENSAS DATA
110 KEY OFF:CLS
120 PRINT "COMGEM.BAS - GERA ARQUIVOS COM APARTIR DE SENTENSAS DATA"
130 PRINT:PRINT:PRINT
140 INPUT "DIGITE O NOME DO ARQUIVO .COM A GERAR: ";NA$
150 IF INSTR(NA$,".&quot=0 THEN NA$ = NA$ +".COM"
160 OPEN NA$ AS #1 LEN=1
170 FILD#1,1 AS C$
180 READ A$
190 IF A$="999" THEN 270
200 T%=INSTR("00112233445566778899AaBbCcDdEeFf",LEFT$(A$,1))/2-1
210 IF T%=-1 THEN T%=0
220 B%=INSTR("00112233445566778899AaBbCcDdEeFf",RIGHT$(A$,1))/2-1
230 IF B%=-1 THEN B%=0
240 LSET C$MKI$(16*T%+B%)
250 PUT#1
260 GOTO 180
270 CLOSE
280 PRINT:PRINT"SAIDA SALVA NO ";NA$
290 PRINT:PRINT:PRINT"CONCLUIDO":BEEP:END
300 ' COLOQUE AS SENTENSAS DATA AQUI

Beleza? agora eh so bolar seus progs e mandar ver bom sei la se vc nao
souber o que fazer vo mandar um exemplo pra voce treinar eh so continuar da
linha 300 em diante e executar cada prog que vc fizer se usa esse
procedimento ok(uma dica eh vc salvar o prog ate a linha 290 e ai eh so se
puchar e continuar quando quizer
bom la vai um exemplo pra vc fazer um prog que controla o caps lock

310 'programa caps lock
320 DATA BA,40,00
330 DATA 8E,DA
340 DATA A0,17,00
350 DATA 24,BF
360 DATA A2,17,00
370 DATA CD,20
380 DATA 999

Bom eh isso ai nos proximos zines se eu nao estiver internado ainda mando
mais uns lances ok, quem sabe eu mande o meu misterioso disk fantasma))
bom entao ate la...


" FIQUE POR DENTRO DO AmigaDOS "

Este espaco do zine eh dedicado a todos que tem curiozidade sobre o sistema
do AMIGA , nao notem os erros de portugues pois apesar que eu nao ache muita
gente fala que eu nao sei escrever direito

ADDBUFFERS - adiciona cache nos drives
ALIAS - configura ou mostra os aliases
ASK - pergunta para o user uma entrada
ASSIGN - designa uma unidade logica para um diretorio
AVAIL - mostra a memoria RAM avaliada(disponivel)
CD - mostra muda ou configura um diretorio
CPU - configura mostra ou receta a CPU e os caches da CPU
CHANGETASKPRI - seleciona a prioridade de um processo em andamento
COPY - copia um arquico ou diretorio
DATE - mostra ou configura a data e tempo
DELETE - deleta arquivos ou diretorios
DIR - mostra o conteudo de um diretorio
DISKCHANGE - informa a troca de disco
DISKDOCTOR - repara um dico corrupto
ECHO - mostra uma string
ED - inicia o editor de texto
EDIT - inicia o editor de linha
ELSE - especifica uma alternativa a um string
ENDCLI - termina um processo de shell
ENDIF - termina um bloco if em uma string
ENDSKIP - termina um bloco de skip
EXECUTE - executa um script
FAILAT - seta o nivel de erro de uma exprecao
FAULT - mostra o codigo em um erro
FILENOT - prende um comentario em um arquivo
GET - mostra o valor de uma variavel global
ICONX - executa uma sring por um icon
INFO - mostra informacoes sobre o sistema
INSTALL - instala o sistema em um disco
IPREFS - manda informacoes de preferencia sobre o workbench
JOIN - soma arquivos(junta 2 em 1)
LAB - especifica uma label em um script
LIST - mostra informacoes sobre um diretorio
LOADWB - inicia o workbench
LOCK - trava distrava um disco ou mostra seu status
MAKEDIR - cria um diretorio
MAKELINK - cria um link
MEMACS - editor de testo avancado
MOUNT - informa ao amiga sobre os devices presentes
NEWCLI - inicia um processo de shell
NEWSHELL - inicia um processo de shell tbm
PATH - controla e mostra a procura de path
PROMPT - muda o prompt do shell
PROTECT - escolhe os bits de protecao
QUIT - termina um script
RELABEL - muda o nome de um disco
REMRAD - remove o ram drive
RENAME - muda o nome de um arquivo ou diretorio
RESIDENTE - mostra ou muda a lista dos programas residentes
RUN - executa um programa em background
SEARSCH - procura por um arquivo ou diretorio
SET - cria a variavel de ambiente local
SETFONT - escolhe a fonte do shell
STACK - mostra ou dimensiona o tamanho de stack do processo
TYPE - mostra o conteudo de um arquivo
UNALIAS - remove o alias
WAIT - espera um determinado tempo
WHITH - procura pela path de comando de um arquivo
WHY - mostra e esplica uma mensagem de erro

Bom turma aqui estao alguns dos comandos principais do AmigaDOS
quem tiver duvidas ou sugestoes sobre o comodore amiga me da um toque ok,
estou no momento usando um amiga 3000 com a MPU 68030 a CPU 38030 a FTU
68882 a CPU de video NTSC AGNUS 2 e a CPU de entrada e saida PAULA
derrepente se esqueci de alguma me perdoem, sao tantas hehehehehehe
PC um dia se ainda chega la

Bom turma eh isso ai ate a prossima ice materia nesse ice zine
qq semelhanca com o lance do batman eh pura coincidencia enclusive o meu
morcego albino


" DICAS PARA UTILIZAR O WG "


Oi thurma!
Bom pra inicio tipo estou mandando uns toques para quem gosta de entrar
em modo terminal em bbs que usam o WG (world Group) .
para se descolar as paginas que o sys usou para montar a BBs dele se usa o
comando FIND e letra ex

FIND A
vai mostrar as paginas da bbs do cara tipo

ALLFILES
ARQUIVOS
PASTAS
CARTAS
ETC...

para se locomover sem usar o menu caso vc tenha seu assesso travado vc pode
usar a opcao go se o sysop nao travou, normalmente elas esquecem de travar o
go.
tipo coloca /GO arquivos
se nao estiver bloqueado vc vai entra direto no arquivos!
ou se vc quizer desconectar a qq momento joga um /go exit
tente entrar na teleconferencia com /go tele ou tele2 normalmente eh tele!
bom se vc aprender legal o find e o go da para brincar bastante ok!
tipo tava meio sem ideias e mandei esse lance vou ver se bolo um outro mais
legal pro proximo zine ok!
e desculpem pelos erros de portugues ok tipo nunca fui muito de escrever!

[]'s e ate a proxima

/\m/\
V IcemaN





.~`^'-_!+=/.,~`^'-_! 10 - PIADAS... Hahahahahahah .~`^'-_!+=/.,~`^'-_!.~`^'-#$%


Eh pessoal agora iremos dar inicio a nossa parte de humor, que tera lugar
reservado em todas edicoes, mas isso depende muito de voces leitores,entao
peco para nos mandar todas as piadas que tiveren em maos, ai colocaremos o
seu Nick tachado com a piada enviada, mas logo vou dizendo, nao sou o autor
de nenhuma dessas piadas, entao nao vah me pRoCeSsAr por causa da merda de
uma piada E alias, eh muito dificil darmos nomes aos bois, pois existe
tantas satiras, como tambem muitos autores fantasmas, entao ve se tira essa
ideia futil da cabeca: - Mais fui eu que inventei a piada!!! (MONGO)
- Que se foda-se!!!Hahahah (ESPOLETA)
(Quer queira ou nao, esse eh meu portugues!)

Entao pessoal, vamos nos divertir numa boa certo?
Beleza... Vamos nessa que eh bom a bessa...

* Um homem foi ao medico dizendo que estava com um problema de memoria.
- Sabe, Doutor, as vezes uma pessoa acaba de me contar algo e logo esqueco.
- E desde quando voce sente isso?
- Isso o que?

* Uma velha e conhecida prostitura morreu.
Ja dentro do caixao, o joelho direito disse para o joelho esquerdo: "Enfim
juntos".

* Sabe o que eh pior do que encontrar um bicho numa goiaba?
R: Encontrar meio bicho...

* Voce sabem qual a diferenca entre LAGOINHA E PADARIA?
R: Ma lagoinha ha sapinho, e na padaria, assa pao.

* (ESSA VAI PARA OS DORMINHOCOS COMO EU)
- A noite, eu durmo muito bem, doutor. De manha, tambem. Eh de tarde que eu
tenho um pouco de insonia!!!

* - Dr., eu ando vendo umas manchas diante dos olhos.
- Prove estes oculos.
- Ah! agora eu vejo as manchas muito melhor!

* - Eh o senhor que e o olhista?
- Eu sou o oculista.
Vamo imbora, muieh, que tua doenca eh nos oios ...

* - Bom, eu vou indo, porque se eu chegar tarde, minha mulher fica historica.
- Eh histerica seu mongo!
- Nao. Eh historica mesmo. Ela fica lembrando todas as promessas que eu fiz
quando eramos noivos.

* O garotinho abaixa a calcinha curta e fala pedante para a garotinha:
- Voce nao tem um desses aqui!!!
Ela levanta a sainha e responde:
- Nao, mas mamae disse que com um desses daqui agente pode ter quando qui-
zer um desses dai!

* - Joazinho, voce pode me explicar como a sua redacao esta absolutamente i-
gualsinha a que seu irmao fez no ano passado?
- Posso sim: temos a mesma irma.

* (INFIDElIDADE)
Marido furioso, chegando em casa e encontra a mulher na cama com outro:
- Que eh que voces estao fazendo??
A mulher, virando-se para o outro:
- Viu?? Nao disse que ele era burro?

* (MARIDO E MULHER)
A mulher no aeroporto, falava ao marido:
- Eu sei! Perdemos o aviao... mas foi por um minutinho so, querido. E se
voce nao tivesse ficado me apressando tanto, nos teriamos chegado mais tar-
de e nao teriamos que ficar esperando tanto pelo proximo voo.

* (UMA SACANAGEM)
O indio:
--- Nao problema, indio dar dois mercedes para ela!!!
Entao o pai da guria, ja meio puto, mandou:
--- Ta bom, mas ela gosta de cara que tenha meio metro de pica!!!
Entao o indio respondeu:
--- Nao problema, indio corta metade!!

* O esperminha chegou para falar com o "Grande Esperma":
- Grande Esperma, como eh a vida lah fora ?
- Eu nao posso responder esperminha. Mas para voce saber como eh, treine
bastante natacao, porque na hora voce vai entrar em um grande tunel, e
chegando no fim desse tunel voce vai encontrar uma grande bola, e voce
pergunta se lah eh o ovario, se for voce entra e espera durante 9 meses
e saberah como eh a vida lah fora.
(Entao o esperminha treinou bastante natacao. Quando chegou a hora, esper-
minha nadou pelo imenso tunel e finalmente chegou na grande bola sobre a
qual falava o "Grande Esperma":
- Aqui que eh o ovario ? (esperminha)
- Nao aqui eh a amigdala!

* Na escola a professora perguntava aos alunos sobre a profissao de seus pais.
- Joazinho, qual a profissao de seu pai ?
- Ele eh mecanico.
- E sua mae ?
- Ela eh cozinheira.
- E voce mariazinha ?
- Ah meu pai eh carpinteiro e minha mae costureira.
- E voce Leozinho, qual a profissao de seus pais ?
- Ah meu pai eh padre e minha mae eh freira.
- Ue!?! Eles largaram a batina ?
- Nao fessora, eles soh levantaram...

* Foram condenados a cadeira eletrica um Arabe, um Americano e um Portugues.
O guarda foi busca - los...hmnmnmmm..
- ARABE, VOCE EH O PRIMEIRO !
Ai o Arabe comecou a rezar.(Ala...Ala...Ala)
Pzizizizz!!!
Nao funcionou e o Arabe saiu todo feliz...
Entao o chegou a vez do Americano, que logo indagou:
- Ah se o Arabe consegui eu tambem vou conseguir...Entao comecou a rezar...
Pzizizzz!
Nao funcionou novamente, e o Americano saiu todo contente...
Entao o guarda, jah furioso, disse:
- Eh, o Americano e o Arabe escaparam, mas voce nao vai conseguir portugues!
Entao o portugues foi todo todo, e com toda aquela seguranca, pois era so
rezar e pronto?!?! (SERA?)
Entao ele comecou:
- Ala... Ala...Ala... Ala a tomada desligada...

* Numa bela cidade existia um poco, mas nao era um poco comum, era o poco dos
desejos... Atraidos por tal poco, muitos turistas de todo o mundo iam lah
para realizar seus desejos. Para que o desejo da pessoa realiza-se, o indi-
viduo deveria sair correndo, saltar por cima do poco e gritar o que queria.
Chegaram primeiramente tres sujeitos: Um Italiano, um Americano, e nao podia
faltar o portugues...
Entao o Americano saio correndo, pulou o poco e gritou: - AMBURGUER!!!!?!!
E entao varios amburgueres cairam do ceu, e ele sai todo contente...
Em seguida foi o . Italiano... saiu correndo, pulou o poco dos desejos e
entao gritou: - PIZZA!?!?!!?!?!,,, e logo cairam varias pizzas do ceu.
Ai entao chegou a vez do portugues... ele saiu correndo com aquela cara de
alegre e de boca aberta, e assim que ele ia pular o poco e fazer o seu pe-
dido, ele atropecou em uma pedrinha.........gritou: - MERDAAAAAAA!!!!!!!!!!

* Um grupo de jovens se perderam entre a mata virgem...
Sem saber o que fazer eles foram a procura de ajuda, mas acabaram encontran-
do uma tribo de canibais (Hug Hug)...
O chefe da tribo pegou o primeiro e falou:
- Voce prefere Hug Hug, ou a MorTe ?
Entao o rapaz respondeu:
- Ah eu prefiro Hug Hug, eu nao sei o que eh isso mesmo ?
entao o chefe pegou o rapaz e... Hug Hug...Hug Hug...
Ai entao veio o proximo da turma...
- Voce prefere Hug Hug, ou a MorTe ? (Perguntou o chefe da Tribo)
- Ah eu prefiro Hug Hug, respondeu o cara...
Entao o chefe... Hug Hug...Hug Hug..., nao tem nimguem vendo mesmo!?
Entao os dois conseguiram fugir, mas faltou um...
O chefe olhando para ele e segurando sua ROLA perguntou:
- Voce prefere Hug Hug, ou a MorTe ?
Ai o cara como era muito macho respondeu:
- A eu prefiro morrer do que queimar a rosca!!!
O chefe revoltado disse:
- Mas primeiro Hug Hug...


* Um Urubu encontrou seu velho amigo Pintinho...
- E ai Pintinho, jah fumou um basiado bicho ?
- Nao, nunca, porque ?
- Quer fumar doido ?
- Quero sim, vam bora !
Ai o Urubu acendeu o BAMBA, e eles comecaram a fumar, e a cada dois tapas
que o Urubu dava, o Pintinho dava seis pegas duma vez...
- E ai pintinho, que que voce tah sentindo ? (URUBU)
- NaO tO sEntIndo nAda !?!?! (PINTINHO)
Ai o Urubu ficou furioso e disse :
- COMO VOCE NAO TAH SENTINDO NADA, EU JA TO MUITO LOCO E VOCE NAO PORRA!!!
- NaO tO seNtIndO NaDA !?!?! (PINTINHO)
Ai entao o Urubu acendeu mais duas buxa, e deu pro pintinho fuma...
- E ai pintinho, que que voce tah sentindo ?
- NaO tO sEnTiNdo NaDA !?!?! (PINTINHO)
- Porra pintinho, eu fumei menos que voce e jah to^^& muito loco mano. Fala
pra mim, O QUE VOCE TAH SENTINDO CARALHO ????
- nAo To SeNTINdO mInHAS PERNAS, mEUs BRACOS, mINHa CABECA...ETC... eNFIM..
nAO tO sENtInDO nAdA !@#$%!!!

*

|Px_LARVA ESPOLETA|


oBS: (Essa assinatura acima, nao quer dizer que eu sou o autor dessas
piadas, apenas fui eu que fiz a materia, entendeu IMBECIL?)

pS: Voce nao eh um imbecil, nao deveria ter lido a OBS acima ;-(



.~`^'-_!+=/.,~`^'-_!.~`^'-_ 11 - RADIO AMADOR .~`^'-_!+=/.,~`^'-_!.~`^'-_.~`^'


Eh isso mesmo, heheh, um pouquinho de radio amadorismo para quem aprecia as
coisas boas da vida...heheheh... eu Px_Larva Espoleta, modulo com meu PX jah
a um bom tempo, e resolvi colocar alguma coisinha aqui sobre essa febre que
invade todos municipios, paises e classes sociais... nao vou falar muito da
parte historica dos Radios Amadores, pois eu conheco um pessoal ai que manja
do assunto mais do que eu, entao como principio, eu vou passar os codigos em
'Q' mais utilizados no PX... Ah e outra coisa, a essa tabela abaixo, devo
creditos ao caro amigo Bruxo...Tks Junior
(Tks=Obrigado)


TABELA "Q" INTERNACIONAL - CONVENCAO DE 1959 - GENEBRA

CODIGOS "Q" DE ESPACO DE CAMBIO - ISSO SALVA VIDAS !!!



No Nome Descricao

1 QRA Nome da estacao
2 QRB Qual a sua distancia
3 QRD Qual a sua localizacao
4 QRG Frequencia de operacao
5 QRI Tonalidade de sinais(1 a 5)
6 QRH Sua frequencia varia
7 QRL Estou ocupado, nao interfira por favor
8 QRM Interferencia de outra estacao
9 QRN Interferencia atmosferica ou estatica
10 QRO Aumente sua potencia
11 QRP Diminua sua potencia
12 QRQ Manipule mais rapido
13 QRR SOS terrestre
14 QRS Manipule mais devagar
15 QRT Vou parar de transmitir
16 QRU Voce tem algo para mim?(Muitos conhecem como emergencia)
17 QRV Estarei a sua disposicao
18 QRW Estacao X chama em ...KHZ/s
19 QRX Aguarde sua vez de transmitir
20 QRY Quando sera minha vez de transmitir?
21 QRZ Quem me chama?
22 QSA Intensidade dos sinais(1 a 5)
23 QSB Seu sinal varia
24 QSD Sua transmissao e' defeituosa
25 QSJ Taxa - Dinheiro
26 QSL Entendido - Confirmado
27 QSM Repita a ultima mensagem
28 QSN Escutou - me?
29 QSO Comunicado - contato
30 QSP Retransmissao de mensagem de outra estacao
31 QST Comunicado de interesse geral
32 QSU Transmitir ou escutar em KHZ/s
33 QSV Transmita uma serie em 'V'
34 QSW Transmitirei nesta e em outra frequencia
35 QSX Escutarei sua chamada em KHZ/s
36 QSY Vou transmitir em outra frequencia
37 QSZ Deve transmitir cada palavra ou grupo?
38 QTA Anule a mensagem anterior
39 QTB Concordo com a sua contagem de palavras
40 QTC Mensagem - Noticia
41 QTH Local de estacao
42 QTO Sanitario
43 QTR Horas
44 QTX Sairei por tempo indeterminado
45 QUD Recebi o seu sinal de urgencia
46 QUF Recebi o seu sinal de perigo
47 QAP Permaneco na escuta


oBS: de QAA ate QAZ, e' exclusivo do servico internacional de aeronautica.


REGIOES GEOGRAFICAS


I RJ - ES
II SP
III RG
IV MG
V SC - PR
VI BA - SE
VII AL - PE - PB - RN - CE
VIII AC - AM - MA - PA - PI - RO - AP - RR
IX DF - GO - MT - MS - FN - ILHAS OCEANICAS


GIRIA EM CODIGO MORSE


CQ = Chamada Geral
DX = Contato Distante
AS = Espera
GU = Bom
JP = Sono
OK = Tudo Certo
OW = Operador
ST = Stand By
TV = Televisao
RM = Radio Amador


Obs:Nao percam a proxima revista...ehhehe veremos muito mais sobre esse mundo
incrivel que eh o Radio Amadorismo..... Espero poder contar com a ajuda de
todos leitores..ehhehe conto com a atencao de vc.(s)..eheheh e caso vc. co-
nheca algum macanudo que ainda nao leu a nossa revista..eheh passe para ele,
faca prpaganda..eheh ajude-me a expandir nao soh esse mundo de magia do radio
amador... como tambem..eheh essa incrivel corporacao... entao nao perca a sua
proxima...hehehehe 'wU TaNg cLaN Z|NE CorporatioN'



~`^'-_!+=/.,~`^'-_!.~`^'-_! 12 - DESAFIO(!?) ~`^'-_!+=/.,~`^'-_!-_!+=/.,~`^'-


Bom, este eh o nosso espaco para divugarmos novos trabalhos e os bons
programadores q. temos pelo Brasil ))
Iremos lancar dois desafios, o primeiro serah para os programadores em C jah
o segundo eh para aqueles que se identificaram melhor com o assembly......
Na verdade o que queremos eh que nossos caros leitores retribuam o aprendi-
zado, e so assim veremos se vossa senhoria :-) (Hmmmm.falei bonito, hehe)
esta mesmo acompanhando o nosso curso, pois estes desafio serao para benefi-
cio proprio de voces, entao pesso para todos participarem, e o premio para o
ganhador sera...ah sei lah bixo, sera que voce se contentaria apenas com o
seu nome ou seu nick publicado ?
Ai voce me diz:
- Mas que tal uma graninha extra!?!?
- Ta louco mano, se fosse pra ganhar dinheiro se acha que nossa corporacao es-
taria fazendo esse Z|N3 ? Pra comeco de conversa, gostamos do que fazemos,
e na verdade queremos ensinar e ao mesmo tempo aprender com voces leitores,
e se isso nao serviu como consolo, que tal..

[ESSA ZINE TEM FINS BENEFICIENTES PARA COM O CRIANCA ESPERANCA, PARTICIPE]
|TA LOCO TA DANADO MEU, VOCE NAO VAI ACREDITAR NISSO VAI? |

Ou poderiamos dizer tambem:

- Ei psit, o da potrona mande sua colaboracao via e-mail(HAHAHA QUE HORRIVEL)

Para doar 30 conto mande o e-mail para [30@conto.com.br]
Para doar 60 conto mande o e-mail para [60@conto.com.br]
Para doar 90 conto mande o e-mail para [90@conto.com.br]
Para nao doar, noa leia a revista )))


Percebeu agora porque nao podemos dar um premio para o vencedor do dEsAfIo?
Se nao entendeu eu vou resumir...NAO GANHAMOS NADA EM DINHEIRO FAZENDO A ZINE,
APENAS FAZEMOS PORQUE GOSTAMOS E QUEREMOS ENSINAR AOS OUTROS O QUE SABEMOS, E
AO MESMO TEMPO APRENDER COM VOCES LEITORES... Resumidamente, eh isso! ))))



|Px_LARVA ESPOLETA|


1 - Desafio Em "C" ]
] Eh pessoal, nao deu para escrever a parte do
] desafio, mas eu acho melhor assim, pois primeiro
] devemos saber se vai dar tudo certo, entao nao
2 - Desafio Em Assembly ] adianta agente ficar escrevendo igual imbecil,
] 1o devemos ter certeza que tem uma alma viva que
] esta lendo a ReViStA, entao nao deixe de nos es-
] crever...
] ___sem mais___

[]'Px_LARVA ESPOLETA




.~`^'-_!+=/.,~`^'-_!.~`^'-_! 13 - RECLAMACOES ;(( .~`^'-_!+=/.,~`^'-_.~`^'-_!~


Eh meu irmao, se voce tem algo contra
ou alguma reclamacao a fazer sobre a
Revista wU tAnG cLaN Z|N3 Corporation,

ligue para:
2345678... tah na hora de molhar o biscoito ))
atendemos 24hs por dia... basta ligar
e conferir, mas me desculpe se o tele-
fonista nao for razoavel com voce e te
mandar pra M3RD4....
Ah outra coisa, todos aqui estao esperando
voce dia e noite, noite e dia para afogar o
ganco na sua rosca.....hahahahahahah

Eh pessoal, isso aqui eh apenas uma brincadeira viu, ve se nao vai ligar pra
esse numero imbecil e encomendar um ganco, mas se os leitores forem femininos
e quiserem um consolo do Espoletinha aqui, basta me contatar pelo e-mail...
Falo pessoal, vamos ficando por cah, e esperamos que gostem do nosso trabalho,
para que entao possamos continuar esse magnifico Z|N3 que traz beneficios para
com todos os leitores... [Tks] de coracao... []'s Px_LARVA ESPOLETA




..`^'-_!+=^-_!.^-_!@ 14 - AGRADECIMENTOS...Tks ALL~`^'-_!.~`^'-_!+=/.,~`^'-_!.


Px_LARVA ESPOLETA:

Agradeco primeiramente a Deus que esta sempre nos orientando e nos dando luz,
agradeco a todos meus familiares, pais e irmaos pentelhos que enqunto eu tava
esvrevendo a Z|N3, eles estavam me pentelhando...hehehehehe...valeu... ))
Ah e tem um agradecimento especial tambem: Valeu Paizao, valeu maezona!!!!
brigadao Dalbone(Etrinho) e Ricardo(Mestre) ;-{
E mais, agradeco tambem a meus amigos e colegas:

Lucifer(Esteja em PAZ amigao...obrigado por tudo...saudades....... )
Eliza(Sorrizo... nunca pare de sorrir, espero sempre ter sua amizade)
Luiz Lacreta(valeu cara... vc. eh um amigo em tanto... :-) )
Jocker(ou se preferir Gargamel...valeu amigao)
Tio Chico(valeu amigao...seu frangueiro...hehehe)
Bareta Mc (Reacao Letal...valeu amigao...um dia agente consegue)
Paulinho(Ovo peludo forever...hehehe...seu chorao...aHahahahahah)
Luisinho(hehehe...valeu amigao...Xeribaca forever)
Andre(heheh...valeu McCartney...)
Gordo break(E ai Leonarrrrdo....hehehe)
Isabelo(valeu Andreh...seu anao..!!!!)
Grilo(valeu Artur...seu punheteiro...hahahaha)
Soneca(Valeu Conrado...ahhaahah)
Sysop Maniacs BBS(Valeu malucao..ahahahaahha tah doido tah danado..ehehe)
A todos macanudos(as) do canal 27 (Recomendacoes seus fubuia...hehehe)
A todos irmao do movimento Hip - Hop(Valeu a forca)

Agora tem tambem os amigos de trabalho...hehehe...valeu DMM, IceMan e enfim
todos da corporacao, espero que nossa Z|N3 consiga atingir todos os objetivos
pretendidos...
E agradeco tambem aos leitores, pois sem a ajuda de voces nao seremos nada, ou
melhor, nao seriamos nada...entao leia nossa zine, espalhe por todas BBS(es),
e faca a pirataria para todos seus colegas, mas nao copie, nao embale, nao
seja um Bosta...hehe...pera ai, isso aqui eh agradecimento...foi mal, eu me
estressei um pouco...beleza pura, vou ficando por cah, pois meu dedo jah ta
pedindo arrego...(TENDINITE), e entao fica assim, OBRIGADO!!!!!!!!!!!!! :-)

Desculpa se eu esqueci de alguem... mas enfim, agradeco a todos leitores e
amigos... Obrigado por tudo... mas continue lendo a Z|N3... Obrigado... )
Vou me despedindo, deixando um dedo nos oio de todos leitores, um chute na
costela, e um reco - reco na guela, e tem mais... Dedao apertado nos ovao, com
alicate de pressao...aHahahahahhahah...VALEU!?!?!?!
E um beijo respeitoso e carinhoso por tras para todas batonsinhas que leem
a Z|NE... MEUS AMORES..HEEHHE ME MANDEM UM MAIL....EHHEEH beijao no butico..
ehehhe timbal..... pu pu pu pu pu pu pu....... PERDA DE PORTADORA

Ah eu to maluco....Ah eu to maluco.... Ah eu to maluco.... Ah eu to maluco...
Ah Cabou a Z|NE..... Ah Cabou a Z|N3...... Ah Cabou a Z|N3....CHEGAAAAA!!!

NO CARRIER

sem mais

[] Px_Larva ESPOLETA

(vulgo=ESPUNHETA)



Eagle's Power:

Bom, primeiramente quero agradecer a Deus q. nos tem mostrado que na vida nao
devemos percorrer apenas por caminhos corretos, devemos conhecer o errado para
nao perdermos o sentido da Vida!
agradeco tbm a todos amigos, parentes, familiares, e a todos os leitores desta
zine! espero q. tenha bastante! )
Bom, a zine surgiu do nada nao tinhamos nem a intencao de deixa - la tao
especial.. mas foram acontecendo diversas coisas que fizeram com que a zine
tivesse algo mais.. sei lah.. uma motivacao extra. Algo que nos fez ver e
acreditar que de um momento para outro tudo poderia acontecer! )
Mas eh isso ai.. como diz Renato Russo... "Sempre em Frente!!!!"....
quero agradecer aos que acreditaram que a zine fosse sair aos que nao acredi-
taram aos que torceram a favor aos q. debocharam ou torceram contra... sei lah
quero agradecer a todos mesmo, pois nao adianta vc. soh ter incentivos...
(claro q. isso ajuda bastante) mas eh sempre bom ter criticas ainda mais se
forem construtivas... bom, quero deixar bem claro aqui a minha paixao pela
musica.. nao tem nada a ver com programacao, mas nao sei se notaram o nome
da zine eh de um grupo WU TANG CLAN! ) entao eh isso ai.... meus agradeci-
mentos sao poucos mas conscientes! )
hmm. li uma tag muito interessante q. dizia:
"O Mundo Precisa de Mais Genios, Hoje e Dia Somos Poucos....! ))"
acho q. esse eh um espaco livre entao quero agradecer a tudo e a todos

Bom, sei lah.. acho q. vou parar por aqui.. comecei a ficar com sono!

soh queria deixar mais uma frase aos leitores!

"O Amor eh o Fogo Que Arde Sem se Ver, eh Ferida Que Doi e Nao se Sente,
eh o Contentamento Descontente eh Dor Que Desatina Sem Doer...."

Poema De Camoes


T+ [Eagle's Power]'s

/\M/\
V IcemaN :


Opa e ai turma )
tipo acho mas sei lah mas tenho que agradecer a voces leitores por terem tido
paciencia em lerem ate aqui esses lances, mas tipo acho q. a informacao eh
boa e sei lah mas se vc. tem um mapa na mao nao a como se perder!
Agradeco tmb a minha namorada Angel Mix por ter me deixado feliz ao ponto de
conseguir escrever coisa com coisa, ou sera que nao..ehhehehe. Mas sei lah
tipo agradeco a minha profecora de portugues por ter sido muito exigente e tmb
a diretora de onde eu estudei, que gostava tanto de mim e adorava que eu pas-
sace a tarde inteira ao lado dela
Ahhhhhhhhhh tipo sei lah mas se eu podece ak. colocar todas as pessoas que se
julgam e sao na verdade merecedoras de todo credito seria pressiso um caminhao
(tipo aqueles de licho) para transportar tantos nomes, agradeco a eptaminof
por nunca ter me conhecido e a todos os leitores dessa incrivel revista...
agradesso tmb a px_larva espoleta.. que mesmo com caimbra no pescosso a pesar
ta tendinite digitar toda esa baboseira que eu estou ditando.
Bom e agradesso a todos os que se enterram a frente ao micro e comecam pensar
por si proprio, e ver que sei lah mas o UNIVERSO DA COMPUTACAO EH O UNIVERSO
BEM MAIOR QUE O COSMO...POIS ELE EH DO TAMANHO DE NOSSA IMAGINACAO...
VALEU...))

[]' /\M/\
V IcemaN



OFERECIMENTO....

MANIACS BBS...


Um local onde voce acha um grande acervo de arquivos variados, alem disso
voce pode fazer varias amizades utilizando nossa rede msg(s) e Chat...
E melhor que tudo isso...la voce pode achar os proprios editores da revista
e os criadores da NetList... la voce pode tirar duvidas e mandar sugestoes
para o nosso Z|N3 nos numeros que passaremos a seguir.

* WU TANG CLAN BBS : (011) 5584-5383 -> 00:30 as 07:00
* MANIACS BBS node1 : (011) 215-7977 -> 24 Horas Diariamente
* MANIACS BBS node2 : (011) 6915-7734 -> Das 22:00 as 08:00

oBS: LEMBRAMOS A TODOS QUE ESSA BBS NAO E PIZZARIA E SIM BISTECARIA..


* AMIPOWER BBS : (011) 521-7669 - Das 21:00 as 02:00

Um lugar onde voce encontrara informacoes para suas duvidas QG da VRF onde
voce podera falar ao vivo com IceMan, trocar msg(s) e conhecer muita gente
estranha...A BBS MAIS ESTRANHA QUE VOCE TERA A HONRA DE VISUALIZAR EM SEU
TERMINAL...MAS CUIDADO NAO ESQUECA QUE E A SEDE DA VRF.

* VIRTUAL WORLD BBS : (011) 215-7398 - Das 19:00 as 07:00

Uma BBS legal tambem pra voce que deseja trocar msg(s) e informacoes...
La existe uma grande quantidade de arquivos e outros...nao deixaria de
visita - la se fosse voce.

* KEMEK BBS : (011) 861-4358 24hs. operando com 3 nodes!

Uma BBS bem interessante e muito boa por sinal, nao percam e ligue lah
o mais rapido possivel eh muito legal mesmo... entao pessoal lah voce
encontra arquivos variados e muito mais...! Liguem!


Puts meu,,,,eheh chega de propaganda...tah doido tah danado o melhor
a voce fazer eh voce pegar o NETLIST que se encontra na MANIACS BBS
...meu vai lah que voce acha a lista das melhores BBS do Brasil!
Ah e ve^^ se para de ser viadinho e comeca a usar BBS tamb...meu seis
esqueceram do povo e agora tao tudo na NET puts...mas tudo bem..eheheh

|Px_LARVA ESPOLETA|





~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,

FIM DA ZIN3

~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,~`^'-_!+=/.,

[/spoiler]
Recomendação: Lord of the rings online MMORPG SHow de bola, roda no fedora pelo lutris.
brancobill
brancobill Zumbi Registrado
790 Mensagens 1.6K Curtidas
#37 Por brancobill
25/03/2016 - 20:20
Ice, eu sei que estão guardados em alguma caixa velha aqui em casa. Meu 1º trabalho com programação foi num mostrengo da Scopus (substituido depois por uma estação Cisco) que rodava só Cobol e Assembly. Tenho "os discão" com vários programas também impressos, só não sei em qual caixa. Os "discão" não vão abrir, claro. Um leitor para eles, se não for caríssimo só vou achar em museu.

Valeu voce postar isso porque tenho uma lembrança muito vaga, fiquei curioso.
D.V
D.V Tô em todas Registrado
1.7K Mensagens 91 Curtidas
#42 Por D.V
26/03/2016 - 20:04
S.R.A disse:
Caraca D.V, quanto tempo... Como você escrevia? kkk


Quanto tempo! kk

Eu to por aqui todos os dias mas apenas acompanhando como estão as coisas rsrs.

Rapaz, gostava de abreviar as palavras até demais. Tinha pego esse hábito por conta do falecido MSN. Em vez de escrever "você", eu escrevia apenas "c", "o que" se transformava em "q". No final tinha um texto horrível para ler e interpretar. Mas me achava o "cão chupando manga" porque sabia digitar "rápido". err_what.pngerr_what.png kkkkk
Processador: Core i5 2500|Fonte: Corsair cx430|MB: Asus P8H67-M PRO|Tela: LG W2053TQ 20"|Ram: 8 GB ddr3 1333 Kingston|HD: Samsung Sata II 80 GB + 500 GB + Seagate Barracuda SATA III 2 TB|Placa de vídeo: Gigabyte R7 260x 2 GB |Mouse: Logitech G400s, Mousepad: Mazer E-blue Médio|SO: Windows 7 HP x64 + Debian Jessie Multiarch
S.R.A
S.R.A Cyber Highlander Registrado
15.4K Mensagens 1.7K Curtidas
#43 Por S.R.A
28/03/2016 - 19:50
D.V disse:
Quanto tempo! kk

Eu to por aqui todos os dias mas apenas acompanhando como estão as coisas rsrs.

Rapaz, gostava de abreviar as palavras até demais. Tinha pego esse hábito por conta do falecido MSN. Em vez de escrever "você", eu escrevia apenas "c", "o que" se transformava em "q". No final tinha um texto horrível para ler e interpretar. Mas me achava o "cão chupando manga" porque sabia digitar "rápido". err_what.pngerr_what.png kkkkk

kkkkkkkkkkkkkk "o cão chupando manga"...

Eu nunca tive costume de abreviar as palavras não. Sempre procurei fazer uma escrita séria, embora simples, nos fóruns que eu participava...
Antigo nick no Fórum: romululg

Maktub !

...................- LOVE MUSIC! ze_bonitinho.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal