5.xx - Romhacking intermediário \o/.

Cromossomos felizes :>!! Se você chegou até aqui sem entender o "resto" lá em
cima, não há como continuar... Volte e aprenda ou desista!

5.0)Vamos voltar às aulas de ASM :D.

É mais que necessário, é o ideal que nós continuemos esse tipo de aprendizado!
Agora que vamos aprender : propriedades dos sistemas, como usar o FEIDIAN, como
usar o DEBUGGER, compressão e como usar o FEIDIAN XD; não podemos perder o pique
do curso :~~! Aqui vamos ver como as máquinas se comunicam com o Software
(as instruções). Se prepare meu véio XD...

5.01)Valores do tipo "boolean".

Bem, já mostrei o hexadecimal e o BINÁRIO. Esse tópico é só um pequeno
complemento (idiota, mas é)... É sobre como o binário pode ser representado,
semanticamente (na escrita)... Esse valor BOOLEAN foi nomeado graças ao
cientista que o usava (Se fosse pra um negro africano usar, era outra coisa...
Mas é um "fodão" europeu XD!). Não vou dizer o nome porque não me interessa dar
valor algum a ele... O valor representativo citado aqui, pode ser de dois
tipos : verdadeiro ou falso (true or false)...
Isso não é muito, ou melhor, não é de relevância alguma em ASM (Isso é a minha
opinião...). Só tem algo que é importante citar, em paralelo com a representação
matemática do binário : 0 será considerado um valor FALSO e
1 ou qualquer outro valor,
é considerado VERDADEIRO!! Como já devia
ser desenvolvido, isso é mais pra lingüagens de programação...

5.02)Relacionadores do tipo "boolean".

Agora, mais inutilidade XD!! Já estas aqui, são freqüentemente usadas em
DEBUGGERs, tornando importante o seu rápido aprendizado... Bem, se você cursou
o ensino primário, sabe muito bem relacionar CONJUNTOS e, conseqüentemente, não
terá dificuldades!

Aqui estão eles, como são usados, em tabela :

Operadores RelacionaisSignificado
== Igüalar
!= Diferenciar
> Considerar o elemento da esquerda MAIOR QUE o da direita.
< Considerar o elemento da esquerda MENOR QUE o da direita.
>= Considerar o elemento da esquerda MAIOR ou IGÜAL ao da direita
<= Considerar o elemento da esquerda MENOR ou IGÜAL ao da direita

Se você não entendeu, vamos reviver seu cérebro : 5 > 1, x == 2y e 6 <= z,
são expressões matemáticas :D!! Perceba, antes de tudo, o rigor na utilização
de dois símbolos "=" para trazer o significado de um só... Isso é para
utilização em lingüagens de programação, diferenciando expressões de
identificações! Agora, vamos colocar em utilidade isso : utilizaremos, para
avaliar essas expressões, os valores "boolean"! Exemplo : 1 > 4 resulta em um
valor FALSO logo, vamos formar o primeiro BIT com 0; 2 >= 1 resulta em um valor
VERDADEIRO, anotamos um valor binário 1; 4 != 9 resulta em mais um VERDADEIRO,
anotamos um valor binário 1; x == 4 < 7 > 0 != 6 >= 4 <= 1 resulta em um valor
FALSO (notou que eu defini só na última avaliação :), anotamos um valor binário
0 e formamos o NIBBLE 0110 (0x6) :D!! Agora colocamos x == y e dá o maior pau
no programa pois, nenhum dos dois está definido :D!! Bem, é isso...

5.03)Agrupando os conhecimentos :>.

Esse é só para mostrar como as coisas funcionam :D! E é bom colocar essa
idéia básica em pauta pois, vamos juntar umas definições do Dicionário.
Bem, vamos pegar quatro elementos dele : o BUS, a CPU, a MEMÓRIA e os SISTEMAS
DE ENTRADA E SAÍDA de dados... Vamos considerar a ENTRADA como o teclado, a
SAÍDA como o monitor e o ASCII como o sistema principal. Num editor de textos
comum, você digita um "a"; este "a" é o código 0x61 em ASCII logo, em binário
ficaria 01100001 ; agora o código passeia pelo BUS do sistema, representando
por impulsos elétricos; chega no seu primeiro destino : a CPU; a CPU visualiza
o código do programa e decide o que fazer com esse valor, aqui, vamos assumir
que ele transfere o valor bruto (sem modificações) para a memória RAM; a RAM
recebe os impulsos elétricos e "traduz" eles para o binário, assumindo que eles
sejam guardados; após um breve momento (huuum, nanosegundos XD), o valor é
requisitado pela CPU e passeia de novo até ele; a CPU verifica o código do
programa e determina que este seja passado para a saída (tela); após mais um
passeio de impulsos elétricos, você consegue ver o "a" que foi teclado lá em
cima XD; depois de várias e conseqüentes digitações, você vai fechar o programa
(editor); o programa (ou o Sistema Operacional) determina, pelo bom senso, que
a memória RAM deve ser "zerada" (limpada etc) e a CPU manda essa "ordem" para
a RAM :D... Pronto, agora associei bem os elementos :D!!

5.04)Operações Lógicas com BITs (BYTEs etc, se você quiser ir além)...


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