Session Start: Sat Jun 19 20:21:25 2004 Session Ident: #void [20:21] -=-Hack-Shell-=- Agora falando no #void [20:21] =) [20:21] <01Tryah> =] [20:21] <01Tryah> baum [20:21] <01Tryah> asm [20:21] <01Tryah> hehe [20:21] <01Tryah> =~] [20:21] <01Tryah> primeira coisa, c tem um assembler ai? [20:22] <12d4rwin> tenho nasm, tasm e um outro [20:22] <12d4rwin> mas parece que nao funcionam [20:22] <01Tryah> 1111 [20:22] <12d4rwin> hehehe, acho que nao sei usar [20:22] <01Tryah> mov esi, 27D4h (huehueuhehue) [20:22] <12d4rwin> e sao muito pequenos tbm [20:22] <01Tryah> pega o nasm [20:22] <01Tryah> pq tasm eh um lixo :D [20:22] <12d4rwin> ta pera ae [20:23] <01Tryah> meu nasm ja ta na windows\system, assim eu vo no dos e digito nasm em qualquer pasta q ele funfa eheh :P [20:24] <12d4rwin> hum [20:24] <12d4rwin> vo fazer isso tbm =) [20:24] <12d4rwin> mas nao tem que adicionar ele no path [20:24] <01Tryah> =] [20:24] <12d4rwin> ahh, windows/system jah tah no path [20:24] <01Tryah> no [20:24] <12d4rwin> hehehe [20:24] <01Tryah> mov esi, 27D5h (huehueuhehue) [20:24] <01Tryah> =~] [20:25] <01Tryah> ah, q legal [20:25] <12d4rwin> dexa eu testa [20:25] <01Tryah> eu fiz um programinha pra trabalha com janelas, e ele revela as janelas escondidas [20:25] <12d4rwin> i [20:25] <12d4rwin> nao deu [20:25] <12d4rwin> haiuhauia [20:25] <12d4rwin> pera ae [20:25] <01Tryah> eu abri ele e revelei uma aki, e fechei ela [20:25] <01Tryah> era o menu iniciar =~ [20:25] <01Tryah> agora ele nao aparece mais huahauhuahau =~] [20:26] <01Tryah> perai q eu vo reiniciar, ja volto [20:26] <12d4rwin> eh system32 [20:26] <12d4rwin> blz [20:26] -=-Hack-Shell-=- Quits: Tryah () [20:30] -=-Hack-Shell-=- Entrando: Tryah (sombra@201.7.38.163) [20:31] <12d4rwin> Tryah: =) [20:31] <12d4rwin> Tryah: eu vou comer daqui a pouco [20:31] <01Tryah> q win vc usa? [20:31] <01Tryah> :P [20:31] <12d4rwin> xp [20:31] <01Tryah> 111 [20:32] <01Tryah> entao poe na system32 [20:32] <12d4rwin> coloquei, deu certo =) [20:32] <12d4rwin> depois eu volto [20:32] <01Tryah> ok [20:32] <12d4rwin> e vc jah comeu? ficar o dia no computador sem comer nada nao faz bem [20:32] <12d4rwin> haihauihuiahuiahuia [20:33] <01Tryah> ja comi, ja sai [20:33] <01Tryah> sentei no pc agora pouco hauahu [20:33] <12d4rwin> hehehe [20:33] <12d4rwin> nao como nada desde o almoço, to com a maior fome [20:33] <12d4rwin> hehehe [20:33] <01Tryah> mov esi, 27D6h (huehueuhehue) [20:34] <12d4rwin> cara, essa tua risada hehehe [20:34] <12d4rwin> muito criativa( e nerd ) [20:34] <12d4rwin> =) [20:34] <01Tryah> mov esi, 27D7h (huehueuhehue) [20:34] <01Tryah> :D [20:34] <01Tryah> to rindo em assembly [20:34] <12d4rwin> hehehe [20:34] <12d4rwin> eu queria comprar um daqueles relogio binario [20:35] <01Tryah> eu tbm :D [20:35] <12d4rwin> eu ia fica fera [20:35] <12d4rwin> hehehe [20:35] <01Tryah> axo q vo pedi pro rootbeer fazer um pra mim hauhauhu [20:35] <12d4rwin> dai os caras pedem, quer horas sao [20:35] <12d4rwin> dai vc fala, sao 000110110011 [20:35] <12d4rwin> o rootbeer faz ? [20:35] <12d4rwin> hehhee [20:36] <01Tryah> s [20:36] <01Tryah> ele ta fazendo engenharia da comp [20:36] <12d4rwin> uia [20:36] <12d4rwin> hummm [20:36] <12d4rwin> que rulah [20:37] <01Tryah> eu vo fazer isso :D [20:37] <12d4rwin> massa [20:37] <01Tryah> se deus quiser eu passo na unicamp :D [20:37] <12d4rwin> eu nao sei se faço engenharia da comp ou ciencia, mas tem tempo pra decidi [20:37] <12d4rwin> Tryah: vai prestar vestibular lah? [20:37] <01Tryah> qtos anos vc tem? [20:37] <12d4rwin> 14 [20:37] <12d4rwin> =) [20:38] <01Tryah> vo [20:38] <01Tryah> ahn [20:38] <01Tryah> puxa [20:38] <01Tryah> aproveita [20:38] <12d4rwin> hehehe [20:38] <01Tryah> se eu soubesse tudo q eu sei qdo tinha 14, seria muito feliz :P [20:38] <12d4rwin> mas eu sou burrao [20:38] <01Tryah> mas paroveita o tempo [20:38] <12d4rwin> faz quase um ano que so meio loco por computadores [20:38] <01Tryah> *aproveita* [20:38] <01Tryah> eu programo desde os 12 anos [20:38] <12d4rwin> nossa [20:39] <12d4rwin> cara, se vc fizer na unicamp, vc sai empregado [20:39] <12d4rwin> hehehe [20:39] <01Tryah> hehehe, to ligado :D [20:39] <01Tryah> 100% dos povo q fez engenharia da comp na unicamp ta trampando ou fazendo pos graduacao [20:39] <01Tryah> :P [20:40] <12d4rwin> eh [20:40] <01Tryah> e tem uma mina, daniela pucci, q ta trabalhando no mit :P [20:40] <01Tryah> q fez esse curso [20:40] <12d4rwin> engenharia da comp mexe mais com a parte de hardware e programaço de baixo nivel nao? [20:40] <12d4rwin> nossa [20:40] <12d4rwin> MIT [20:40] <12d4rwin> hehehe [20:45] <01Tryah> d4rwin ja foi comer? :P [20:46] <12d4rwin> nao [20:46] <12d4rwin> hehe [20:46] <12d4rwin> minha mae chegou agora [20:51] <01Tryah> mov esi, 27DCh (huehueuhehue) [20:51] -=-Hack-Shell-=- Entrando: Kilohertz (~Kilohertz@200.247.68.226) [21:04] <01Tryah> d4rwin ja jantou? [21:04] <12d4rwin> nao [21:04] <12d4rwin> hehe [21:04] <12d4rwin> tem que assar a pizza [21:04] <12d4rwin> vo fazer isso agora [21:04] <01Kilohertz> ahauuauhuahuaha [21:04] <01Tryah> eita [21:04] <01Tryah> mov esi, 27DFh (huehueuhehue) [21:04] <01Tryah> nois vai comecas essas explic de asm meia noite =~ [21:05] <01Tryah> d4rwin come um pedaço por mim [21:05] <12d4rwin> hehe [21:05] <12d4rwin> pronto da no forno [21:05] <12d4rwin> Tryah: =) [21:06] <01Tryah> mov esi, 27E2h (huehueuhehue) [21:15] -=-Hack-Shell-=- Quits: d4rwin ("I use FullT [www.fullt.net]") [21:15] * Disconnected Session Close: Sat Jun 19 21:15:32 2004 Session Start: Sat Jun 19 21:54:29 2004 Session Ident: #VoID [21:54] -=-Hack-Shell-=- Agora falando no #VoID [21:54] <01Tryah> olha kem chegou huahau [21:54] <01Kilohertz> um pouco dos registradores de flag [21:54] <01Kilohertz> ahahauhuhu [21:54] <12d4rwin> =) [21:54] <12d4rwin> agora que eu to com... opes [21:55] <12d4rwin> estou satisfeito [21:55] <12d4rwin> hehehe [21:55] <12d4rwin> minha cabeça pensa melhor [21:55] <01Tryah> mov esi, 27EBh (huehueuhehue) [21:56] <12d4rwin> Tryah: tah ocupado? [21:56] <01Tryah> bom [21:56] <12d4rwin> bom [21:57] <12d4rwin> hehehe, bombom [21:57] <01Tryah> pra traduzir os segmentos de 32 bits, soh com a ajuda do os [21:57] * d4rwin como sou idiota [21:57] <01Tryah> mov esi, 27ECh (huehueuhehue) [21:57] <01Tryah> em 64 bits, os x86 finalmente largaram a segmentacao [21:57] <01Tryah> tao usando soh paginacao, q eh outra historia [21:57] <12d4rwin> segmentaçao? [21:57] <01Tryah> o q vale a pena saber eh q paginacao eh portavel pra quase todas as arquiteturas de pc existentes [21:58] <01Tryah> entao [21:58] <01Tryah> voltando a tela de video [21:58] <01Tryah> em modo texto, ela fica em B800:0000, endereço de 16 bits, logo ela está em B8000 [21:58] <01Tryah> em modo grafico, fica em A000:0000, ou A0000 [21:59] <12d4rwin> esse é o endereço dela em hexadecimal? [21:59] <12d4rwin> ou isso nao eh hexadecimal? [21:59] <01Tryah> esses q eu falei [22:00] <01Kilohertz> tipo faz alguma funcao ae [22:00] <01Kilohertz> q tipo some 2 numeros [22:01] <01Kilohertz> e colcoq o resultado na tela [22:01] <12d4rwin> eh [22:01] <01Kilohertz> c tiver duvida agente fala [22:01] <12d4rwin> como imprime algo na tela em asembly? [22:01] <12d4rwin> *assembly [22:01] <01Tryah> mov ax, numero_1 [22:01] <01Tryah> mov bx, numero_2 [22:01] <01Tryah> add bx [22:01] <01Tryah> ops [22:01] <01Tryah> add ax, bx [22:01] <01Tryah> mov bx, B800h [22:01] <01Tryah> mov es, bx [22:01] <01Tryah> xor di, di [22:01] <01Tryah> 111 [22:02] <01Tryah> dai tem q fazer alguma funcao pra imprimir numero [22:02] <01Tryah> dai eu teria q pensar mais hehue [22:02] <01Kilohertz> ahuhuah [22:02] <12d4rwin> hum [22:02] <01Kilohertz> ta bom por ai [22:02] <01Tryah> d4rwin ou vc usa as interrupções da bios ou joga no endereço de memoria [22:02] <12d4rwin> ax e bx eh por causa da ordem? [22:02] <01Kilohertz> xor di, di??? [22:02] <12d4rwin> ax, bx, cx? [22:03] <01Tryah> xor di, di -> faz di valer 0 [22:03] <01Kilohertz> hmm [22:03] <01Tryah> d4rwin vc nao conhece registradores? hehe [22:03] <12d4rwin> nao [22:03] <12d4rwin> eu li a um tempo atras um pouco [22:03] <12d4rwin> mas nao lembro [22:03] <01Tryah> ax, bx, cx, dx, es, ds, fs, gs, di, si, ip, flags sao todos registradores [22:03] <01Tryah> pensa neles como variaveis [22:03] <12d4rwin> ok [22:03] <01Tryah> nas quais vc coloca e muda valores [22:03] <01Kilohertz> fal de todos [22:03] <12d4rwin> ali em mov ax, numero_1 [22:03] <12d4rwin> vc tah lendo do teclado [22:03] <01Tryah> nao [22:03] <12d4rwin> ou soh pegando o valor e atribuindo ao registrador [22:04] <01Tryah> to lendo de algum endereço da memoria [22:04] <12d4rwin> e como vc obteve esse numero_1 [22:04] <01Tryah> Kilohertz, tipo, qdo vc chama uma int, ela corre pruma tabela onde ela verifica qual int vc chamou, salva ip e pula numa função [22:04] <01Tryah> d4rwin seilah, eh soh exemplo [22:04] <12d4rwin> hehehe [22:04] <01Tryah> pode pegar do teclado ou definir como variavel ou constante [22:05] <12d4rwin> como eu defino uma variavel? [22:05] <01Tryah> Kilohertz dai ele executa essa função e volta. geralmente eh programado na bios, mas vc pode criar sua ints. Dai o q essas ints fazem com o hardware, eh chamar as ports [22:05] <01Tryah> vc usa in e out pra usar as ports [22:05] <01Tryah> tem 65536 ports [22:05] <01Kilohertz> ui [22:05] <01Tryah> elas sao fixas, 60 e 64 sao ports do teclado [22:05] <12d4rwin> ports sao tipo irqs? ou coisas completamente diferentes? [22:05] <01Tryah> eh soh vc descobrir os comandos delas q vc nunca mais vai depender da bios [22:06] <01Kilohertz> sakei [22:06] <01Tryah> d4rwin eh diferente mas tem uma certa relação [22:06] <12d4rwin> hum [22:06] <01Tryah> em modo protegido (32 bits), nao da pra usar ints de bios, entao vc tem q usar as ports [22:06] <12d4rwin> vc ta falando de construçao de sistema operacional? [22:06] <01Tryah> sim [22:06] <01Tryah> tipo [22:06] <12d4rwin> por isso que o boot vc faz em 16 bits? [22:06] <01Tryah> eh q o Kilohertz ja manja um pouco de asm [22:06] <12d4rwin> sim sim [22:06] <01Kilohertz> vamos comessa do comesso intaum [22:06] <01Kilohertz> ahauahuahauhauhua [22:06] <01Tryah> sim [22:07] <12d4rwin> eu to aqui mais pra ouvi [22:07] <01Tryah> hehe [22:07] <01Tryah> tipo [22:07] <01Tryah> d4rwin vo explicar os registradores pra vc [22:07] <12d4rwin> ok [22:07] <12d4rwin> +) [22:07] <01Tryah> ax eh pra vc guardar valores e fazer o q quiser com eles, ele eh o geralzao. AX = Acumulador [22:07] <12d4rwin> hum [22:07] <12d4rwin> mas [22:08] <12d4rwin> pode ser inteiro, string, tanto faz? [22:08] <01Tryah> nao [22:08] <01Tryah> ja explico isso [22:08] <12d4rwin> tah [22:08] <01Tryah> bx eh o segundo geralzao, reza a lenda q da pra vc endereçar com ele, mas eu nunca fiz isso hehe :P [22:08] <01Tryah> endereçar eu explico depois [22:08] <01Tryah> tipo [22:08] <12d4rwin> tah [22:08] <12d4rwin> heheh [22:08] <01Tryah> melhor explicar ja hehe [22:08] <01Tryah> vc tem q abrir a cabeça pro q eu vo dizer [22:08] <12d4rwin> ok [22:08] <01Tryah> entre uma string e um monte de numeros nao tem diferença [22:08] <01Kilohertz> dexa eu pega a faca aki [22:09] <01Tryah> da pra vc colocar quatro letras dentro de um int e da pra voce colocar valores numericos num char * [22:09] <01Tryah> Kilohertz huahauhauu [22:09] <01Tryah> o negocio eh vc pensar em bytes [22:09] <01Kilohertz> int 4 bytes? [22:09] <01Tryah> o pc armazena dados em bytes [22:09] <01Kilohertz> char 1 [22:09] <12d4rwin> hum [22:09] <01Kilohertz> float ??? [22:09] <01Tryah> Kilohertz nao hehe :P [22:09] <01Tryah> float = 64 [22:09] <12d4rwin> 1 byte = 4 bits [22:10] <01Tryah> Kilohertz int eh do tamanho do registrador acumulador [22:10] <01Kilohertz> hmm [22:10] <01Tryah> d4rwin nao, 1 byte = 8 bits [22:10] <12d4rwin> ah eh [22:10] <12d4rwin> hehehe [22:10] <01Tryah> Kilohertz se seu processador for de 64 bits, vc vai ter int de 8 bytes hehe [22:10] <01Kilohertz> ui [22:11] <01Tryah> por isso eh legal vc fazer uns sizeof(int) nos programa qdo for trabalhar com int pelo fino metodo da gambiarra [22:11] <01Tryah> baum [22:11] <01Tryah> d4rwin o negocio eh vc pensar mais em bytes [22:12] <01Tryah> um byte armazena 256 valores [22:12] <12d4rwin> tah [22:12] <01Tryah> vc lembra dos caracteres ascii [22:12] <12d4rwin> entao uma string em pascal ocupa um byte =) [22:12] <01Tryah> nao huehuehue [22:12] <01Tryah> ascii eh uma tabela q indica q o valor x vale tal letra [22:12] <12d4rwin> sim sim [22:12] <12d4rwin> eu sei [22:12] <12d4rwin> ¦ [22:12] <12d4rwin> caracter 186 esse [22:12] <01Tryah> entao, qdo vc faz char t = 'A'; vc ta fazendo char t = 0x42; (nao sei se eh 42, to especulando) [22:13] <12d4rwin> 0x42 eh o endereço ou o valor de A? [22:13] <01Tryah> vc sabe q sao numeros entao? [22:13] <12d4rwin> hum [22:13] <12d4rwin> ja ouvi isso em algum lugar [22:13] <01Tryah> valor [22:13] <01Tryah> valor [22:13] <01Tryah> bom [22:14] <01Tryah> na memoria, se vc fizer uma string "AB", vc vai ter um byte 0x42 e o da frente com 0x43 [22:14] <01Tryah> e o terceiro com zero, mas isso nao vem ao caso [22:14] <12d4rwin> isso [22:14] <01Tryah> bom [22:14] <12d4rwin> igual no C? [22:14] <01Tryah> entao eh isso q vc tem q saber [22:14] <12d4rwin> hehe [22:14] <12d4rwin> o ultimo caracter eh /0 [22:14] <01Tryah> q entre strings e numeros nao tem diferença [22:14] <12d4rwin> tah [22:14] <01Tryah> d4rwin eu to falando de C hauhau :P [22:14] <01Tryah> bom [22:14] <01Tryah> ax tem 16 bits [22:14] <01Tryah> ou 2 bytes [22:14] <12d4rwin> soh que tratamos elas em "baixo" nivel digasmo assim [22:15] <01Tryah> entao vc pode colocar 2 letras nele [22:15] <01Tryah> ou um valor entre 0 e 65536 [22:15] <12d4rwin> a + X? [22:15] <12d4rwin> pq 65536? [22:15] <01Tryah> d4rwin eh, eh soh interpretação, 99% do q acontece nos pcs eh interpretação [22:15] <01Tryah> pq tem 16 bitsa [22:16] <01Tryah> bits [22:16] <01Tryah> e pra vc achar o maximo de valor q atinge, vc usa a formula 2^n [22:16] <01Tryah> onde n é elevado a n bits [22:16] <01Tryah> 2^16 = 65536 (nota: esse valor eu sei de cabeça huehuehu) [22:16] <12d4rwin> hehehe [22:16] <01Tryah> multiplos de 2 em escala geometrica eu conheco ateh o 65536 [22:17] <01Tryah> tem o 32768 [22:17] <01Tryah> 16384 [22:17] <12d4rwin> hehe [22:17] <01Tryah> huehue [22:17] <01Tryah> decorei de tanto usar [22:17] <01Tryah> bom [22:17] <01Tryah> voltando [22:17] <01Tryah> cx pode ser usado genericamente, mas ele eh mais usado em loops, eh o registrador contador [22:17] <01Tryah> eskeci de dizer, bx = registrador base [22:18] <01Tryah> dx tbm pode ser generico, mas eh mais usado pra ports (ouviu Kilohertz ) [22:18] <01Kilohertz> hmm [22:18] <01Kilohertz> e um ex de port? [22:19] <01Kilohertz> q imite o int 21 [22:19] <01Tryah> 60 - teclado [22:19] <01Tryah> int 21? [22:19] <01Tryah> int de dos? [22:19] <01Kilohertz> e como eu uso [22:19] <12d4rwin> inteiro de dos? [22:19] <12d4rwin> como assim? [22:19] <01Tryah> dai eh do os [22:19] <01Tryah> sao funcoes do os [22:19] <01Tryah> d4rwin nao, int sao interrupções [22:19] <12d4rwin> humm [22:19] <01Tryah> sao uma especie de funcoes [22:20] <12d4rwin> eu posso criar as minhas interrupções? [22:20] <01Kilohertz> faz um ex ai de um port pegando um nr do teclado [22:20] <01Tryah> pode [22:20] <01Tryah> eu faço isso no meu kernel auhau :P [22:20] <12d4rwin> humm [22:20] <01Tryah> elas sao enumeradas [22:21] <01Tryah> a unica restricao eh q vao de 0 a 255 [22:21] <01Tryah> mais ou menos q isso nao da [22:21] <12d4rwin> Tryah: vc tem um exemplo de um prog simplezinho? [22:21] <12d4rwin> [ORG 0x7C00] <<-- O codigo começa neste endereço da memoria [22:21] <12d4rwin> [BITS 16] <<-- Aqui trabalharemos com 16bits ( real mode ) [22:21] <12d4rwin> main: <<-- Inicio do codigo principal [22:21] <12d4rwin> ... <<-- Bom aqui seguira colocaremos nosso codigo [22:21] <12d4rwin> ... [22:21] <12d4rwin> ... [22:21] <12d4rwin> times 510 -($-$$) db 0 <<-- Preenchemos o resto com zeros, pois nosso boots [22:21] <12d4rwin> deve conter 512 bytes. 511 e 512 deve conter a signature [22:21] <01Tryah> o duro q em asm ateh o prog mais simplesinho vai umas 50 linhas huahau [22:22] <12d4rwin> hehehe [22:22] <12d4rwin> tah certo esse code ai em cima? [22:22] <12d4rwin> a sintaxe de um prg em asm eh essa? [22:22] <01Tryah> ta sim [22:22] <01Tryah> mais ou menos [22:22] <01Kilohertz> depende do compilador [22:22] <01Kilohertz> ahauhauahah [22:23] <12d4rwin> hum [22:23] <01Tryah> esse times eh soh se vc quiser escrever um setor de boot :P [22:23] <01Kilohertz> ainda tem isso [22:23] <12d4rwin> entao se eu for compilar com o tasm vai ser diferente que o nasm? [22:23] <12d4rwin> Tryah: http://cerebro.freeshell.org/txts/osdevel.txt [22:24] <01Tryah> puxa [22:24] <01Tryah> eu tenho tanta coisa sobre os hehe :P [22:24] <01Tryah> 78 MB na pasta de apostilas, artigos e txt de os [22:24] <12d4rwin> vish [22:24] <12d4rwin> hehehe [22:24] <12d4rwin> tudo em ingles? [22:25] <01Tryah> s [22:25] <01Tryah> nao tem nada em portugues [22:25] <01Tryah> eu preciso começar a escrever =/ [22:25] <12d4rwin> putz [22:25] <12d4rwin> eu nao sei nada de ingles, hehehe [22:25] <01Tryah> tipo [22:26] <01Tryah> voltando [22:26] <01Tryah> parei em dx [22:26] <01Tryah> depois a gente tem ds, es, fs e gs [22:26] <01Tryah> sao registradores de segmento [22:26] <01Tryah> servem pra vc acessar a memoria [22:26] <01Tryah> fs e gs nao sao confiaveis, pq nao tem nos 386 e mais velhos [22:26] <12d4rwin> hum [22:26] <01Tryah> apesar q quem usa um 386 eh muito desgraçado [22:27] <12d4rwin> entao nunca usar fs e gs [22:27] <12d4rwin> huaihuaia [22:27] <01Tryah> isso isso [22:27] <01Tryah> hehe [22:27] <01Kilohertz> ahauhauuahau...ja keimei meu teclado hauahuha [22:27] <01Tryah> mas nao eh regra nao [22:27] <01Tryah> Kilohertz hauhauhuahua [22:27] <12d4rwin> tah [22:27] <01Tryah> d4rwin depois a gente tem as flags [22:27] <12d4rwin> o que sao flags? [22:27] <01Tryah> as flags sao um registrador [22:27] <01Tryah> tipo [22:28] <01Tryah> flags sao variaveis q tem exatamente ou qse exatamente o tamanho q precisam ter [22:28] <01Tryah> por exemplo [22:28] <01Tryah> se vc vai perguntar se uma pessoa eh homem ou mulher [22:28] <01Tryah> vc soh precisa de uma variavle com dois estados (desprezando os gays, as lesbicas e cia) [22:28] <01Tryah> no caso [22:28] <01Tryah> vc pode usar um bit [22:29] <01Tryah> as flags do processador armazenam o resultado de operações [22:29] <01Tryah> um exemplo eh um if [22:29] <01Tryah> [22:29] <01Tryah> int a; [22:29] <01Tryah> [...] [22:29] <01Tryah> if(a == 0){Funcao();} [22:29] <01Tryah> [22:29] <01Tryah> em asm [22:29] <01Tryah> [22:29] <01Tryah> a dd 0 [22:30] <01Tryah> [...] [22:30] <12d4rwin> uia [22:30] <12d4rwin> dd = ==? [22:30] <01Tryah> cmp a, 0 [22:30] <01Tryah> je Funcao [22:30] <01Tryah> well, nao funfou muito bem [22:30] <01Tryah> esse je nao deu mui certo [22:30] <01Tryah> mas vale a intecao [22:30] <12d4rwin> hehehe [22:30] <01Kilohertz> auhauhuahuahau [22:30] <01Tryah> dd = declare doubleword [22:30] <01Tryah> doubleword = tamanho de um int de 32 bits [22:30] <01Tryah> word = 16 bits [22:31] <01Tryah> ah [22:31] <01Tryah> d4rwin eh o tuto do soul [22:31] <12d4rwin> si [22:31] <12d4rwin> ele manja? [22:31] <01Tryah> foi o txt q finalmente me deu coragem pra comecar meu os [22:31] <01Tryah> nao [22:31] <01Tryah> ele ateh errou no txt [22:31] <12d4rwin> hehehe [22:31] <12d4rwin> o arquivo feito em asm eh .asm ou .bin? [22:31] <12d4rwin> depende do compilador? [22:31] <01Tryah> .asm [22:32] <12d4rwin> e o .bin eh pra q? [22:32] <01Tryah> .bin eh codigo binario [22:32] <12d4rwin> sim [22:32] <01Tryah> codigo binario eh o arquivo q soh tem codigo [22:32] <12d4rwin> mas quando que eu uso ele? [22:32] <01Tryah> codigo puro [22:32] <12d4rwin> per ae [22:32] <12d4rwin> e assim: [22:32] <12d4rwin> .asm -> source [22:32] <12d4rwin> dai vc gera um .bin [22:32] <12d4rwin> que por conseguinte [22:32] <01Tryah> pq os arquivos executaveis dos os tem cabeçalho, q sao uns dados no começo do arquivo, depois tem umas estruturas e trocentas coisas antes de chegar no code [22:32] <12d4rwin> vai se transformar num .exe [22:32] <01Tryah> dai bin eh soh o code [22:32] <12d4rwin> eh isso? [22:32] <01Tryah> .asm = source sim :D [22:32] <01Tryah> nao [22:32] <01Tryah> huahuahua [22:33] <01Tryah> vc pode gerar .exe direto de .asm [22:33] <12d4rwin> hum [22:33] <01Tryah> vc usa .bin pra setores de boot por exemplo [22:33] <01Tryah> arquivos .com sao arquivos binarios [22:33] <01Tryah> eh soh code dentro [22:33] <12d4rwin> hum [22:33] <01Tryah> axo q o soul corrigiu o erro [22:33] <12d4rwin> pra aprende asm precisa saber C? [22:33] <01Tryah> eu nao lembro o q era, mas axo q falei pra ele [22:34] <01Kilohertz> tipo brinca um pouco com strings ai [22:34] <01Tryah> ah nao, axei o erro de novo [22:34] <01Tryah> bufb[511] = 0x55; [22:34] <01Tryah> bufb[512] = 0xAA; [22:34] <01Tryah> eh pra ser 510 e 511 [22:34] <01Tryah> pr começa em 0 huahuahua [22:34] <01Tryah> ele nao tirou o erro =~] [22:34] <01Tryah> co strings [22:34] <01Tryah> Kilohertz strlen mesmo: [22:34] <01Tryah> [22:34] <01Kilohertz> isso [22:35] <01Tryah> supondo q ds aponta pra string [22:35] <01Tryah> [22:35] <12d4rwin> Kilohertz, Tryah: vc programam em C? [22:35] <01Tryah> s [22:35] <01Kilohertz> yeah [22:35] <12d4rwin> putz, entao eh melhor eu aprender C antes? [22:35] <01Tryah> mov si, string [22:35] <01Tryah> [22:35] <01Tryah> zloop: [22:35] <12d4rwin> eu jah me inscrevi no curso da UFMG [22:35] <01Tryah> [22:35] <01Tryah> cmp byte [si], 0 [22:35] <01Tryah> je eLoop [22:35] <01Tryah> inc bx [22:35] <01Tryah> jmp zLoop [22:35] <01Tryah> [22:36] <01Tryah> boa, vc tem um strlen [22:36] <01Tryah> eskeci de limpar bx antes [22:36] <01Kilohertz> ahuahauahuahau [22:36] <01Tryah> d4rwin c nao sabe C? o_) [22:36] <01Tryah> d4rwin c nao sabe C? o_0 [22:36] <12d4rwin> sei um poquinho sim [22:36] <01Tryah> hehe, nao faz curso q nao presta, o melhor eh vc fucar, mas com muita vontade :P [22:36] <12d4rwin> eu compreendo [22:36] <12d4rwin> hum [22:36] <12d4rwin> eu parei em ponteiros [22:36] <12d4rwin> hehehe [22:36] <12d4rwin> me embaralhei [22:36] <12d4rwin> uma pergunta [22:36] <01Tryah> teve tempos em q eu passava o dia aki [22:37] <01Kilohertz> ponteiros p/ iniciantes=morte [22:37] <01Tryah> ponteiros eh legal [22:37] <01Tryah> :D [22:37] <01Tryah> rox rox [22:37] <01Tryah> matrizes tbm [22:37] <01Tryah> com ponteiros da pra vc criar matrizes dinamicas [22:37] <01Kilohertz> listas encadeadas [22:37] <01Tryah> que vc altera o tamanho delas com o decorrer do programa [22:37] <12d4rwin> "O que eu faço? Largo o Pascal e aprendo C? Continuo com o Pascal? Vo direto por Assembly? Tento mante o Pascal e aprender C e dai ir pro Assembly?" [22:37] <01Tryah> eh otimo pra modeladores, q vc nao sabe qtos vertices vai ter [22:38] <01Kilohertz> pascal+asm [22:38] <01Tryah> Tento manter o Pascal e aprender C e dai ir pro Assembly [22:38] <01Kilohertz> otima dupla [22:38] <12d4rwin> hehehe [22:38] <01Tryah> ou aprende pascal e asm [22:38] <12d4rwin> compensa aprender C? [22:38] <01Tryah> e depois vai pra c [22:38] <01Tryah> q vc nao vai precisar pagar pau [22:38] <01Tryah> compensa sim :D [22:38] <12d4rwin> bom [22:38] <12d4rwin> pascal eu sei usa a crt bem [22:38] <12d4rwin> hehehee [22:38] <01Tryah> crt? hehuehue [22:39] <12d4rwin> c eu sei fazer printf("eu\n"); [22:39] <12d4rwin> hehehe [22:39] <01Tryah> crt? tem umas flags da placa de video com esse nome [22:39] <12d4rwin> Tryah: a unit mais utilizada no pascal depois da system [22:39] <12d4rwin> isso [22:39] <12d4rwin> tem a ver com video [22:39] <12d4rwin> nao lembro o que significa [22:39] <01Tryah> ah eh [22:39] <12d4rwin> eh tipo a unit pro modo texto [22:39] <12d4rwin> hehehe [22:39] <01Tryah> tem unit em pascal uhahuahau [22:39] <12d4rwin> limpar tela etc [22:39] <01Tryah> nem lembrava mais disso [22:39] <12d4rwin> tudo com ela [22:39] <01Kilohertz> mov si, string pq c uso o si? [22:40] <01Tryah> alem disso a pilha empilha ao contrario em pascal ahuahuahu [22:40] <12d4rwin> como assim [22:40] <12d4rwin> o que vem a ser pilha? eu sei que tem a ver com memoria mas nao sei o que eh [22:40] <12d4rwin> pilha tcp/ip [22:40] <01Tryah> Kilohertz seilah, podia ser o di, era soh pra me referir ao offset da string [22:40] <01Kilohertz> ha.... [22:41] <01Tryah> d4rwin como assim o que? :] [22:41] <12d4rwin> ó [22:41] <12d4rwin> tem coisas relacionadas a memoria eu nao manjo [22:41] <12d4rwin> por isso nao aprendi ponteiros [22:41] <12d4rwin> primeiro [22:41] <12d4rwin> o que eh buffer? [22:41] <12d4rwin> segundo [22:41] <12d4rwin> o que eh pilha? [22:41] <12d4rwin> o que eh stack? [22:41] <12d4rwin> o que eh heap? [22:41] <12d4rwin> o que eh alocaçao dinamica? [22:42] <12d4rwin> isso tem a ver com a memoria fisica [22:42] <01Tryah> calma [22:42] <01Tryah> perai [22:42] <01Tryah> to com lag [22:42] <12d4rwin> ? [22:42] <12d4rwin> hehehe [22:42] <01Tryah> veio tudo de uma vez [22:42] <01Tryah> hahuahauhau [22:42] <12d4rwin> se eu tiver 32mb de memoria [22:42] <12d4rwin> e armazenar a variavel num local [22:42] <12d4rwin> que superior [22:42] <12d4rwin> ou enche esses 32mb de memoria [22:42] <12d4rwin> o que acontece [22:42] <12d4rwin> hehehe [22:42] <12d4rwin> buffer overflow? [22:43] <01Tryah> calma [22:43] <01Tryah> vo responder uma de cada vez [22:43] <12d4rwin> =) [22:43] <01Tryah> nao :P [22:43] <12d4rwin> começa pelo significado de buffer =) [22:43] <01Tryah> Buffer eh um local q vc usa pra armazenar algo, um endereço na memoria q vc usa pra guardar alguma variavel [22:43] <12d4rwin> hum [22:43] <12d4rwin> o endereço da variavel ou o conteudo dela? [22:44] <01Tryah> eh soh um endereço [22:44] <01Tryah> q vc usa pra guardar algo [22:44] <12d4rwin> o conteudo fica aonde? [22:44] <01Tryah> vc usa o endereço pra se referir ao local q vc vai guardar [22:44] <01Tryah> se o seu endereço for 1200 [22:44] <01Tryah> vc vai guardar seus dados começando no 1200º byte da memoria [22:44] <12d4rwin> esse 1200 tem a ver com a memoria fisica ou virtual? [22:45] <01Tryah> depende huahuahau [22:45] <01Tryah> mas calmai [22:45] <01Tryah> pilha [22:45] <12d4rwin> hehehe [22:45] <01Tryah> pilha eh uma especie de buffer [22:45] <01Tryah> q vc usa pra guardar valores do tamanho do acumulador [22:45] <12d4rwin> acumulador? [22:45] <01Tryah> ou seja, se vc estiver em 16 bits, a pilha guarda valores de 2 bytes (16 bits), se estiver em 32, de 4 bytes, etc [22:46] <01Tryah> a diferença da pilha, eh q vc usa uma instrução pra guardar e pra retirar valores [22:46] <12d4rwin> eu posso imaginar pilha como uma pilha de livros? [22:46] <01Tryah> e ela funciona como uma pilha de pratos [22:46] <01Tryah> ou seja [22:46] <01Tryah> vc coloca um valor [22:46] <01Tryah> e os outros ficam embaixo [22:46] <01Tryah> dai qdo vc for retirar, vc retira o ultimos valor colocado [22:46] <01Tryah> pode [22:46] <12d4rwin> o ultimo embaixo ou emcima? [22:46] <01Tryah> o q acontece eh q o ultimo livro colocado eh sempre o primeiro a ser retirado [22:47] <12d4rwin> *em cima [22:47] <01Tryah> a pilha cresce pra baixo nos x86, entao eh o ultimo em cima [22:47] <01Tryah> o q acontece eh q apilha nao eh gerenciada pelo usuario [22:47] <12d4rwin> humm [22:47] <01Tryah> vc simplesmente usa duas instruções [22:48] <01Tryah> push pra colocar valores na pilha [22:48] <01Tryah> e pop pra retirar [22:48] <01Tryah> isso faz dela um local pra vc guardar valores rapidamente [22:48] <01Tryah> tipo, parametros de funções geralmente sao colocados na pilha [22:48] <12d4rwin> entao vc poe em baixo e tira em cima [22:48] <12d4rwin> isso rapidao [22:48] <01Tryah> nao [22:48] <12d4rwin> nao? [22:48] <01Tryah> vc poe em cima e tira em cima [22:48] <12d4rwin> ueh [22:49] <12d4rwin> entao por exemplo [22:49] <01Tryah> se eu der push 10, push 20 e pop, o valor retirado sera 20 [22:49] <12d4rwin> armazenei um valor em cima [22:49] <01Tryah> o ultimo a ser colocado eh o primeiro a ser retirado [22:49] <12d4rwin> mas eu quero tirar o valor de baixo [22:49] <12d4rwin> como faço? [22:49] <12d4rwin> tipo [22:50] <01Kilohertz> mato ele com essa pergunta [22:50] <01Tryah> retira todos os de cima [22:50] <12d4rwin> push 10, push 20 e push 30 [22:50] <01Kilohertz> ahauahuha [22:50] <01Tryah> ou endereça ele [22:50] <12d4rwin> quero tirar o push 20 [22:50] <01Tryah> vc pdoe endereçar a pilha [22:50] <12d4rwin> tah [22:50] <12d4rwin> mas dai eh mais trabalhoso [22:50] <01Tryah> o endereço da pilha ta sempre em sp [22:50] <01Kilohertz> tipo c eu retirar todos vo gasta muita memoria [22:50] <12d4rwin> e se tiver lah embaixao [22:50] <01Tryah> sp = registrador apontador de pilha [22:50] <12d4rwin> hum [22:50] <01Tryah> de vc usar, mov eax, [sp-2], vc tem o seu 20 :] [22:51] <12d4rwin> entao cada dado armazenado na pilha tem um identificador? [22:51] <01Tryah> Kilohertz vai nao, ao contrario, se retirar todos, vc ta liberando memoria da pilha :D [22:51] <01Tryah> d4rwin nao, mas como todo dado na memoria tem um endereço bem fixo [22:51] <12d4rwin> Tryah: mas dai vai ter que colocar de volta [22:52] <01Tryah> depende [22:52] <01Tryah> vc tem q pensar assim: em assembly, o processador eh seu, entao vc faz o q quiser hauhuahau [22:52] <01Tryah> esses registradores tao todos no processadore [22:52] <12d4rwin> mas eu nao tou trabalhando com a memoria? [22:52] <01Tryah> esses registradores tao todos no processador [22:52] <01Tryah> :P [22:52] <01Tryah> sim [22:52] <12d4rwin> entao [22:52] <12d4rwin> os registradores sao usados pra acessar o processador nao? [22:53] <01Tryah> entao, pra nao retirar, vc pode simplesmente pegar o endereço, eh mais facil [22:53] <01Tryah> alem disso, os dados q saem da pilha ainda ficam na memoria [22:53] <12d4rwin> pera ae [22:53] <01Tryah> d4rwin nao, os registradores sao uma parte do processador [22:53] <01Tryah> :D [22:53] <12d4rwin> por exemplo [22:53] <12d4rwin> pera pera [22:53] <12d4rwin> por exemplo [22:53] <12d4rwin> eu digito "eu" [22:53] <12d4rwin> o processador [22:53] <12d4rwin> identifica isso como duas teclas pressionadas [22:54] <12d4rwin> dai processa elas [22:54] <12d4rwin> e manda pra memoria [22:54] <12d4rwin> que envia pra placa de video [22:54] <12d4rwin> que manda pro monitor [22:54] <12d4rwin> e aparece na minha tela? [22:54] <12d4rwin> eh isso? [22:54] <01Tryah> quer saber o q acontece no windows ou em modo real mesmo ? [22:54] <12d4rwin> modo real [22:54] <12d4rwin> os dois [22:54] <12d4rwin> hehehe [22:54] <01Tryah> bom [22:55] <01Tryah> modo real: [22:55] <01Tryah> vc aperta suas teclinhas e um programa tem q ficar de plantao ou na port do teclado ou na int 19 (axo q eh 19), q monitora a port do teclado pra kem nao sabe usar port [22:55] <01Tryah> dai ele recebe a entrada [22:55] <12d4rwin> o programa [22:55] <01Tryah> passa ela por uma função pra verificar se eh ascii ou nao [22:55] <12d4rwin> fica aonde? [22:55] <12d4rwin> no processador? [22:56] <01Tryah> na bios ou vc monta [22:56] <01Tryah> no processador nunca tem nenhum programa :] [22:56] <12d4rwin> mas a bios nao eh soh usada pro boot? [22:56] <12d4rwin> ela fica na memoria depois de iniciado o SO? [22:56] <01Tryah> e se for ascii, joga na memoria de video, (endereço B8000), e atualiza a posição do cursor por ports ou int [22:56] <01Tryah> d4rwin fica [22:56] <12d4rwin> humnm [22:56] <01Tryah> geralmente ela fica ateh o momento q vc desliga [22:57] <12d4rwin> hum [22:57] <01Tryah> :D [22:57] <12d4rwin> entao ela eh importante [22:57] <01Tryah> os os nao tiram ela da memoria na maioria das vezes [22:57] <12d4rwin> entao ascii nem passa pela memoria? [22:57] <01Tryah> eh sim, ela eh mui boa e da pra vc descobrir umas coisas legais do hardware nela :D [22:57] <12d4rwin> hum [22:57] <01Tryah> passa sim, vai pra memoria de video [22:57] <01Tryah> q eh memoria ram [22:57] <12d4rwin> placa de video? [22:58] <12d4rwin> memoria ram? [22:58] <12d4rwin> memoria ram = memoria de video? [22:58] <01Tryah> memoria da placa de video eh outra historia hehe :D [22:58] <01Tryah> tipo [22:58] <12d4rwin> hum [22:58] <01Tryah> o comecinho da memoria de video [22:58] <01Tryah> os primeiros 256kb [22:58] <01Tryah> sao na memoria RAM [22:58] <01Tryah> e o resto eh na placa [22:58] <01Tryah> esse pedacinho eh o unico q eh usado no caso da tela de modo texto, 80x25 [22:58] <01Tryah> ou 320x240 [22:58] <12d4rwin> entao a memoria ram eh dividida em varias outras memorias? [22:59] <01Tryah> nao [22:59] <01Tryah> ker dizer [22:59] <12d4rwin> soh em memoria de video e memoria normal? [22:59] <01Tryah> soh se vc for classificar [22:59] <12d4rwin> ou ela eh generica [22:59] <12d4rwin> todo mundo usa ela? [22:59] <01Tryah> ahn? nao entendi a pergunta [22:59] <12d4rwin> quero dizer [23:00] <12d4rwin> todos podem pegar um pedaço dela entao [23:00] <12d4rwin> ate o processador? [23:00] <12d4rwin> tem um espaço reservador pra cada periferico? [23:00] <01Tryah> sim [23:00] <01Tryah> sim [23:00] <12d4rwin> humm [23:00] <01Tryah> vc pode usar a memoria de video pra guardar dados, a unica coisa q vai acontecer eh q vc vai ver uns caracteres estranhos na tela :P [23:00] <12d4rwin> hehehe [23:00] <01Tryah> se vc guardar uma string, dependendo do modo q vc estiver, da pra vc ler ela e tal [23:00] <01Tryah> nao [23:01] <01Tryah> nao [23:01] <01Tryah> =/ [23:01] <01Tryah> soh rap kem usa memoria [23:01] <01Tryah> o video usa pq vc faz grandes entradas de dados diretamente [23:01] <12d4rwin> uma pergunta off-topic [23:01] <01Tryah> mas o mouse por exemplo, eh soh vc ler a port dele [23:01] <01Tryah> todo periferico tem uma port [23:01] <12d4rwin> hum [23:01] <12d4rwin> e tbm uma irq e uma dma? [23:01] <01Tryah> nao [23:02] <01Tryah> as irqs soh tem 16 irqs (algumas bem definidas tambem) e as dmas eh soh pra kem faz muito acesso ao disco [23:02] <12d4rwin> tipo o HD [23:02] <01Tryah> a dma, vc usa pra pegar dados do disco sem apssar eles pelo processador [23:02] <12d4rwin> ops [23:02] <12d4rwin> o disco eh o hd [23:02] <01Tryah> *passar* [23:02] <01Tryah> sim [23:02] <01Tryah> disco = hd [23:02] <01Tryah> pode ser cd rom ou diskete tbm [23:02] <01Tryah> entao [23:02] <01Tryah> tipo [23:02] <01Tryah> uma placa de som [23:02] <01Tryah> tocando uma musica [23:03] <01Tryah> pode usar dma pra tocar a musica sem precisar parar o processador soh pra enviar pedaços da musica pra ela [23:03] <01Tryah> por isso q o win98 trava mas a musica continua :P [23:03] <01Tryah> pq nao ta usando o processador [23:03] <12d4rwin> huaihauhia [23:03] <01Kilohertz> auhaahuahuhauhauhuaha [23:03] <12d4rwin> nao sabia [23:03] <12d4rwin> e aqueles barulhinho(beeps) que a placa emite [23:03] <12d4rwin> daonde que sai? [23:04] <01Tryah> akilo eh um foninho q tem dentro do gabinete [23:04] <12d4rwin> hum [23:04] <01Tryah> da pra desligar (o meu eu ja tirei faz um tempao, enxe o saco huehue) [23:04] <01Tryah> tem uma port pra esse foninho [23:04] <12d4rwin> mas da pra criar uma musica com aquilo [23:04] <12d4rwin> hehehe [23:04] <01Tryah> vc envia a frequencia e o tempo do beep pra port e ele emite [23:04] <01Tryah> da sim [23:04] <12d4rwin> eh tipo o celular [23:04] <12d4rwin> o som eh de mesma qualidade [23:04] <12d4rwin> hiahuiahiaia [23:04] <01Tryah> Kilohertz vo procurar umas coisas sobre ports aki pra vc [23:05] <12d4rwin> uma merda [23:05] <01Tryah> mas em ingles [23:05] <01Tryah> d4rwin hahuhauhauhau [23:05] <12d4rwin> tem coisa pior que escutar musica no celular, tenha do [23:05] <12d4rwin> hehehe [23:05] <01Tryah> mov esi, 27FBh (huehueuhehue) [23:05] <01Tryah> bom [23:05] <01Tryah> irq [23:05] <01Tryah> irq eh uma interrupção na execução [23:05] <01Tryah> acontece assim [23:06] <01Tryah> a gente tem a placa de som [23:06] <01Tryah> recebendo a musica [23:06] <12d4rwin> ela recebe [23:06] <01Tryah> mas de repente, a musica acaba ou o buffer de musica q ela tava executando acabou [23:06] <12d4rwin> a musica por uma irq? [23:06] <01Tryah> nao [23:06] <01Tryah> recebe a musica por dma [23:06] <12d4rwin> hum [23:06] <12d4rwin> tah continua [23:06] <12d4rwin> hehehe [23:06] <12d4rwin> dai a musica para [23:06] <01Tryah> entao ela dispara uma irq, e o processador para o q ele ta fazendo, pega o endereço do resto da musica e passa pra ela [23:07] <01Tryah> dai ela continua tocando [23:07] <12d4rwin> hum [23:07] <01Tryah> para [23:07] <01Tryah> mas eh tao rapido q vc nao percebe [23:07] <01Tryah> alias [23:07] <12d4rwin> entao irq eh tipo o bombeiro que apaga o fogo e indireita a situaçao [23:07] <12d4rwin> hehehe [23:07] <01Tryah> eh por irq q funfa a multitarefa ateh uns tempos atra [23:07] <01Tryah> eh [23:07] <12d4rwin> eh o 190 [23:07] <12d4rwin> o messias [23:07] <12d4rwin> hehehe [23:07] <01Tryah> serve pra dizer pro processador q tal hardware precisa de um servicinho :P [23:08] <12d4rwin> hum [23:08] <12d4rwin> tem como sobrecarregar isso [23:08] <12d4rwin> tipo [23:08] <12d4rwin> um irq ser chamada por mais de um periferico [23:08] <12d4rwin> ? [23:09] <01Tryah> nao [23:09] <12d4rwin> eu faço muitas perguntas =) hehehe [23:09] <12d4rwin> nao precisa responder tudo [23:09] <01Tryah> senao o processador nao vai saber o q ele tem q fazer [23:09] <12d4rwin> entao o treco eh organizado [23:09] <12d4rwin> tudo em fila indiana [23:09] <01Tryah> se tem q passar musica ou receber dados do modem :P [23:09] <12d4rwin> um por vez [23:09] <01Tryah> eh [23:09] <01Tryah> eh tudo estruturadin [23:09] <12d4rwin> humm [23:09] <01Tryah> bom [23:09] <01Tryah> voltando [23:09] <12d4rwin> parabens pro cara que invento udo isos [23:09] <01Tryah> a 3ª pergunta era o q eh heap [23:10] <01Tryah> mov esi, 27FCh (huehueuhehue) [23:10] <01Tryah> foram muitos caras inventando issos, e ficou uma bosta, de boa [23:10] <12d4rwin> isso [23:10] <12d4rwin> hum [23:10] <12d4rwin> steve wozniak? [23:10] <12d4rwin> hehhee [23:10] <01Tryah> x86 eh uma das arquitetura de computador mais desorganizada q tem [23:10] <12d4rwin> hum [23:10] <12d4rwin> at&t eh bom? [23:10] <12d4rwin> sparc? [23:10] <12d4rwin> risc? [23:10] <12d4rwin> eu confundo tudo isso [23:10] <12d4rwin> hehehe [23:10] <01Tryah> nao sei [23:10] <01Tryah> soh usei x86 huahuauha :] [23:11] <12d4rwin> mas isso eh pra outro dia [23:11] <12d4rwin> hehehe [23:11] <01Tryah> bom [23:11] <12d4rwin> o que eh heap [23:11] <01Tryah> heap [23:11] <01Tryah> heap eh complicado [23:11] <12d4rwin> hum [23:11] <01Tryah> heap eh o espaço q um programa dispoe [23:11] <01Tryah> tipo [23:12] <01Tryah> um programa ta na memoria em determinada area, digamos entre o endereço 16 MB e 24 MB [23:12] <01Tryah> a heap dele eh essa area q ele ta ocupando com codigo e com dados [23:12] <12d4rwin> hum [23:13] <12d4rwin> entao eh o espaço que ele ocupa momentaneamente na memoria? [23:13] <01Kilohertz> tipo eh akele rekisito basico p/ funcionar tipo minimo:128 mgs win2000 [23:13] <01Tryah> isso [23:13] <12d4rwin> pq se vc por exemplo armazena uma variavel a mais o heap aumenta [23:13] <01Tryah> exatamente [23:13] <12d4rwin> por isso existe o heap overflow? [23:13] <01Tryah> depois, temos alocação dinamica [23:13] <12d4rwin> isso [23:13] <12d4rwin> eu vo faze um dicionario =) [23:14] <01Tryah> sim, se vc tentar ultrapassar um espaço , digamos tentar escrever no 25º mb, vc tem o heap overflow [23:14] <01Tryah> mas isso se estiver enxendo um buffer [23:14] <12d4rwin> como eh importante saber sobre hardware e assembly [23:14] <01Tryah> se vc for com o endereço na cara de pau, colocar direto la, vc ta criando uma violação de acesso [23:14] <01Tryah> mov esi, 27FEh (huehueuhehue) [23:14] <01Tryah> :D [23:14] <01Tryah> bom [23:14] <01Tryah> alocação dinamica [23:14] <12d4rwin> isso [23:14] <01Tryah> eh super hyper ultra dependente do sistema operacional [23:15] <12d4rwin> hum [23:15] <12d4rwin> pq? [23:15] <01Tryah> nao tem como vc alocar memoria em modo real ou usar malloc em kerneis hehe :D [23:15] <12d4rwin> o que eh malloc? [23:15] <01Tryah> malloc eh a funcao q aloca um buffer em C [23:15] <01Tryah> o ultimo programa q eu fiz tinha qse um malloc por funcao hauhau :D [23:16] <12d4rwin> e soh pra recapitula buffer eh o espaço usado por uma variavel pra guardar seu endereço [23:16] <01Tryah> pq a função de alocação dinamica faz o seguinte:] [23:16] <01Tryah> nao [23:16] <01Tryah> huahuahua [23:16] <12d4rwin> putz [23:16] <12d4rwin> eh quase isso [23:16] <12d4rwin> nao [23:16] <12d4rwin> hehee [23:16] <01Tryah> o espaço usado por uma variavel pra guardar seu endereço eh um ponteiro :D [23:16] <12d4rwin> hum [23:16] <01Tryah> o buffer eh onde vc guarda o valor da variavel [23:16] <12d4rwin> o conteudo? [23:16] <12d4rwin> ahhhhh [23:16] <12d4rwin> hehehehe [23:16] <12d4rwin> o buffer guarda o conteudo [23:17] <12d4rwin> eu vo pega o significa de tudo que tem nesse log [23:17] <12d4rwin> dai vo junta tudo [23:17] <01Tryah> http://www.rio.com.br/animation/bonequicha.htm [23:17] <12d4rwin> vo fazer meu minidicionaior [23:17] <12d4rwin> hehehe [23:17] <01Tryah> perai [23:17] <01Tryah> to vendo essa animacao uhahauhahau [23:17] <12d4rwin> eu tbm [23:17] <12d4rwin> heheh [23:19] <01Tryah> mov esi, 27FFh (huehueuhehue) [23:19] <01Tryah> mov esi, 2800h (huehueuhehue) [23:19] <01Tryah> mov esi, 2801h (huehueuhehue) [23:19] <01Tryah> cara [23:19] <01Tryah> chorei de dar risada [23:19] <01Tryah> na boa [23:19] <01Tryah> ta saindo lagrima aki [23:20] <01Kilohertz> ahahuahauhauhuahauhauahuhauahua [23:20] <01Kilohertz> ahahuahauhauhuahauhauahuhauahua [23:20] <01Tryah> q da hora [23:20] <01Tryah> vo baixar esse flash [23:20] <12d4rwin> ahh [23:20] <12d4rwin> nao eh tao engraçada [23:20] <12d4rwin> hehe [23:20] <12d4rwin> ops [23:20] <12d4rwin> chegou a parte boa [23:20] <01Tryah> mov esi, 2803h (huehueuhehue) [23:20] <01Tryah> eh sim :D [23:21] <01Tryah> viu [23:21] <01Tryah> nem assistiu tudo :P [23:21] <12d4rwin> acabo [23:21] <12d4rwin> jah [23:21] <12d4rwin> hehe [23:22] <01Kilohertz> ahauhhua aki no freebsd num ta instalado o mardito flash [23:22] <01Tryah> pavora :D [23:22] <01Kilohertz> aafffffff [23:22] <01Tryah> tipo [23:22] <01Tryah> ;[ [23:23] <01Tryah> tipo [23:23] <01Tryah> voltando [23:23] <01Tryah> d4rwin eh q pra vc alocar dinamicamente eh assim: [23:23] <01Tryah> vc tme q manter uma relação das areas de memoria q estão livre [23:24] <01Tryah> e fornecer pro programa essas areas [23:24] <01Tryah> pra evitar q eles escrevam em cima do code ou dos dados de outros programas [23:24] <01Tryah> e qdo vc ta bootando ou entrando no kernel, nao tem nenhum programa pra fazer isso :D [23:24] <01Tryah> entao soh com a ajuda do os q vc aloca dinamicamente [23:25] <12d4rwin> entao [23:25] <12d4rwin> por exemplo [23:25] <12d4rwin> tem um buffer de 0 a 255 [23:25] <12d4rwin> o buf 10,15,25,23,150,200 estao cheios [23:25] <12d4rwin> dai eu tenho que ver os que estao vazios [23:25] <12d4rwin> isso eh alocar dinamicamente? [23:25] <01Tryah> curiosidade: a bios fica no endereço fisico F0000 e vai ateh FFFFF (1MB), geralmente os kernéis se colocam nesse 1MB pra bootar e nao mexem no MB mais baixo [23:26] <01Tryah> nao [23:26] <01Tryah> isso eh o q o kernel faz [23:26] <12d4rwin> hum [23:26] <12d4rwin> e quem aloca sou eu? [23:26] <12d4rwin> ou melhor o programa [23:26] <01Tryah> alocar dinamicamente, eh receber o endereço de um buffer qdo o programa ta rodando [23:26] <01Tryah> nao, o kernel [23:26] <01Tryah> vc chama uma funcao [23:26] <01Tryah> e diz qual o tamanho do buffer q vc quer [23:26] <01Tryah> dai ela retorna um ponteiro pra vc [23:27] <01Tryah> dai esse ponteiro tem o endereço do teu buffer [23:27] <01Tryah> isso eh alocar dinamicamente [23:27] <12d4rwin> o ponteiro indica onde esta armazenada minha funçao [23:27] <01Tryah> eh criar um buffer dinamicamente [23:28] <12d4rwin> mas dai quem faz isso nao sou eu [23:28] <01Tryah> um exemplo de buffer estático (nao dinamico) sao as arrays [23:28] <12d4rwin> pq [23:28] <01Tryah> o ponteiro indica em q posicao da memoria esta o seu buffer [23:28] <12d4rwin> a memoria eh bem grande neh? [23:29] <01Tryah> as arrays vc da um tamanho. exemplo, char[10], vc tem uma array de 10 bytes, ou seja, vc tem um buffer de 10 bytes, eles ja estao ali e vao estar sempre na mesma posicao [23:29] <01Tryah> eh sim [23:29] <01Tryah> a minha tem 256MB [23:29] <01Tryah> mas da pra vc alocar buffer dinamicos com mais do limite da memoria [23:29] <01Tryah> eu posso alocar 500mb, apesar q isso seria um processo um tanto lento ;] [23:30] <12d4rwin> hehehe [23:30] <12d4rwin> hum[ [23:30] <12d4rwin> por isso string[3]; [23:30] <01Tryah> isso leva a outra pergunta [23:30] <01Tryah> o limite da memoria [23:30] <12d4rwin> o 3 eh o endereço fixo do caractere na memoria [23:30] <01Tryah> akela do 32mb [23:30] <12d4rwin> isso [23:30] <01Tryah> mas vamos terminar essa primeiro [23:30] <12d4rwin> hehehe [23:30] <01Tryah> nao [23:30] <01Tryah> :D [23:31] <12d4rwin> 3 aponto pro endereço fixo [23:31] <01Tryah> 3 eh o tamanho [23:31] <01Tryah> vc nunca vai definir um endereço [23:31] <01Tryah> soh se tiver programando a nivel de kernel ou boot [23:31] <01Tryah> :] [23:31] <12d4rwin> tamanho? [23:31] <01Tryah> nao [23:31] <12d4rwin> como assim [23:31] <01Tryah> err =/ [23:31] <12d4rwin> eu nunca escolho pra onde vai minha variavel? [23:31] <01Tryah> 3 eh o tamanho do buffer [23:31] <12d4rwin> 3 o que? [23:31] <12d4rwin> bytes? [23:31] <01Tryah> akele string ali eh um buffer [23:31] <01Tryah> q vc ja deu o tamanho [23:31] <01Tryah> um buffer de 3 bytes [23:31] <01Tryah> nao [23:31] <01Tryah> nunca [23:32] <01Tryah> isso eh o os quem faz :] [23:32] <12d4rwin> nao por exemplo [23:32] <12d4rwin> eh que eu misturo com pascal [23:32] <01Tryah> ele q define o endereço das suas variaveis [23:32] <01Tryah> o kernel no caso [23:32] <12d4rwin> tipo string[3] := 4; [23:32] <12d4rwin> var [23:32] <01Tryah> mov esi, 2804h (huehueuhehue) [23:32] <12d4rwin> eu : string[25]; [23:32] <12d4rwin> hehehe [23:32] <12d4rwin> dai sim eh o tamanho dela [23:32] <12d4rwin> 25 [23:32] <12d4rwin> bytes [23:33] <12d4rwin> hehhe [23:33] <01Tryah> nesse caso, vc ta se referindo ao 3º byte da string, e ta colocando o valor 4 nele [23:33] <12d4rwin> isso [23:33] <01Tryah> sim [23:33] <01Tryah> 25 eh o tamanho =] [23:33] <01Tryah> entendeu? huehue [23:33] <12d4rwin> sim [23:33] <12d4rwin> quando dizem que vc sempre leva a sua primeira linguagem com vc [23:33] <12d4rwin> agora eu acredito [23:33] <12d4rwin> hehehe [23:34] <01Tryah> mov esi, 2805h (huehueuhehue) [23:34] <01Tryah> =] [23:34] <01Tryah> bom [23:34] <01Tryah> vamos a outra pergunta? [23:34] <12d4rwin> qual era a outra? [23:34] <12d4rwin> hehehe [23:34] <12d4rwin> me perdi [23:34] <01Tryah> a do 32mb [23:34] <12d4rwin> ahh eh [23:35] <01Tryah> se eu me referir a um endereço acima da memoria disponivel, o q acontece [23:35] <12d4rwin> ahh, estamos trabalhando com memoria fisica [23:35] <12d4rwin> hehhe [23:35] <01Tryah> [22:43:01] se eu tiver 32mb de memoria [23:35] <01Tryah> [22:43:11] e armazenar a variavel num local [23:35] <01Tryah> [22:43:19] que superior [23:35] <01Tryah> [22:43:27] ou enche esses 32mb de memoria [23:35] <01Tryah> [22:43:27] o que acontece [23:35] <01Tryah> [22:43:27] hehehe [23:35] <01Tryah> bom [23:35] <01Tryah> mov esi, 2806h (huehueuhehue) [23:35] <01Tryah> =] [23:35] <01Tryah> assim como seu sistema respiratório depende do meio q vc se encontra, o resultado dessa operação tambem depende do meio [23:36] <01Tryah> num meio de controle, como o kernel ou o modo real acontece uma coisa [23:36] <01Tryah> num meio controlado, um sistema operacional, programas e tal acontece outra [23:36] <01Tryah> vamos ao meio de controle [23:36] <12d4rwin> hum [23:36] <01Tryah> nota: eu inventei esses nomes meio de controle e meio controlado, nao va usar essas denominacoes como se fossem conhecidas huehue :] [23:37] <01Tryah> [23:37] <01Tryah> no kernel ou no boot [23:37] <01Tryah> no boot: [23:37] <01Tryah> [23:37] <01Tryah> no boot vc ta em modo real [23:37] <01Tryah> ou seja 16 bits [23:37] <01Tryah> entao o maixmo de memoria q vc alcança eh 1 mb, entao nao da pra fazer isso :P [23:37] <01Tryah> em 32 bits [23:37] <01Tryah> o q acontece eh o seguinte [23:38] <01Tryah> se a paginacao (explico depois) estiver desligada, acontece a interrupção 13 [23:38] <01Tryah> q eh uma falta de proteção [23:38] <12d4rwin> falta de proteçao de q? [23:39] <01Tryah> ela vai indicar q o endereçamento deu errado [23:39] <12d4rwin> hum [23:39] <01Tryah> d4rwin falta de protecao eh o nome da interrupcao :] [23:39] <12d4rwin> hum [23:39] <12d4rwin> hehehe [23:39] <01Tryah> paginacao eh um sistema q tem em qse todas as arquiteturas de computadores [23:39] <01Tryah> ela serve pra, qdo alguem se referir à um endereço, vc possa mapear outro [23:40] <01Tryah> assim, mesmo com 16 Mb de memoria, o linux coloca o kernel no endereço 2GB [23:40] <12d4rwin> eh tipo a irq, soh que ao inves de chamar o processador chama outro endereço? [23:40] <01Tryah> o endereço logico eh 2GB, mas o fisico eh 1MB :] [23:40] <01Tryah> mas os programas soh enxergam o endereço logico [23:40] <01Tryah> ateh o kernel soh enxerga endereços logicos com paginacao [23:40] <01Tryah> mais ou emnos [23:40] <12d4rwin> entao tem de sobra memoria [23:40] <01Tryah> eh um sistema de traducao [23:41] <01Tryah> de um endereço em outro [23:41] <01Tryah> o legal eh q vc cria os endereços :] [23:41] <01Tryah> nao [23:41] <01Tryah> a memoria eh a mesma hehe [23:41] <01Tryah> vc pode paginar 2GB no endereço 1MB [23:41] <12d4rwin> [23:39] ela serve pra, qdo alguem se referir à um endereço, vc possa mapear outro [23:41] <12d4rwin> que tipo de endereço [23:41] <01Tryah> mas de vc tem 32mb de memoria e se referir ao endereço 2GB + 33mb, vai ter a interrupçã 13 :] [23:41] <12d4rwin> serve pra q esse endereço [23:42] <12d4rwin> mas o 33mb tbm nao eh virtual? [23:42] <01Tryah> endereço de variaveis [23:42] <12d4rwin> eu posso colocar quanto eu quiser no virtual? [23:42] <01Tryah> ou de alguma funcao ou codigo [23:42] <12d4rwin> hum [23:42] <01Tryah> calma [23:42] <01Tryah> to falando de paginacao hehehe [23:42] <12d4rwin> hehehe [23:42] <01Tryah> mas vo falar de memoria virtual agora [23:42] <12d4rwin> hehehe [23:42] <01Tryah> na memoria virtual, vc tem um espaço num meio de armazenamento de dados maior, no caso, o HD :P [23:43] <01Tryah> dai vc tem o espaço q seu hd puder oferecer [23:43] <12d4rwin> hum [23:43] <01Tryah> o mais interessante no processo memoria virtual+pagincao eh o seguinte: [23:43] <12d4rwin> sobrando? [23:43] <01Tryah> primeiro: reposta da pergunta dos 32MB de memoria [23:43] <01Tryah> sim, qto espaço tiver sobrando no hd :P [23:43] <12d4rwin> hum [23:43] <12d4rwin> ahh [23:44] <12d4rwin> por isso o sistema operacional precisa de no minimo uns 200mb pra rodar [23:44] <01Tryah> qdo vc se referir ao 33º MB, ele vai mapear esse mb em algum endereço abaixo de 32 mb [23:44] <12d4rwin> eh tipo o swap do linux [23:44] <12d4rwin> isso pq ele nao tem o 33mb [23:44] <12d4rwin> certo? [23:44] <01Tryah> sim [23:44] <01Tryah> se a memoria estiver cheia nesses 32 mb, ele coloca um pouco dela no arquivo ou partição de swap [23:44] <01Tryah> pra liberar espaço da memoria [23:44] <12d4rwin> humm [23:44] <12d4rwin> saquei [23:44] <01Tryah> certo [23:45] <01Tryah> e qdo um programa precisar desa memoria, ele retira do arquivo [23:45] <01Tryah> agora sobre akela alocação de 500 mb [23:45] <12d4rwin> ele usa a memoria virtual pra essa alocaçao? [23:45] <01Tryah> vc aloca os 500 mb, o q acontece eh q um pouco dele vai estar na memoria e o resto vai estar no swap [23:45] <12d4rwin> humm [23:45] <12d4rwin> e se acabar o swap? [23:45] <12d4rwin> hehehe [23:46] <01Tryah> dai conforme vc for usando o buffer, os pedaços q vc precisar saem do swap pra memoria e os q vc usou vao da memoria pro swap [23:46] <01Tryah> se acabar o swap, temos int 13 huahau :] [23:46] <12d4rwin> hehehe [23:46] <01Tryah> tipo [23:46] <12d4rwin> int 13 acontece bastante no win entao [23:46] <12d4rwin> hehe [23:46] <01Tryah> qdo vc se refere a um endereço q nao ta na memoria, ele da a int 14 [23:46] <12d4rwin> o int 13 eh quando da fatal error? [23:46] <01Tryah> page fault [23:46] <01Tryah> falha de pagina [23:46] <12d4rwin> hum [23:46] <12d4rwin> cada interrupçao tem uma funçao [23:47] <01Tryah> dai o processador para o q ta fazendo, busca a pagina, coloca na memoria e volta como se nada tivesse acontecido [23:47] <12d4rwin> sao 255 interrupçoes neh [23:47] <12d4rwin> putz [23:47] <01Tryah> d4rwin int 13 = esse programa executou uma operação ilegal... [23:47] <12d4rwin> o processador eh um amigao hein [23:47] <01Tryah> sim [23:47] <12d4rwin> putz [23:47] <12d4rwin> hehhee [23:47] <01Tryah> as 32 primeiras sao reservadas qdo vc ta em 32 bits [23:47] <01Tryah> eh sim : [23:47] <01Tryah> :] [23:47] <12d4rwin> quanto maior a potencia dele mais rapido ele vai solucionar esses problemas [23:47] <01Tryah> 0 eh erro de divisao [23:47] <01Tryah> divisao por zero chama a int 0 :P [23:48] <12d4rwin> que resulta em 0 [23:48] <12d4rwin> hehehe [23:48] <01Tryah> nem sempre [23:48] <01Tryah> =/ [23:48] <01Tryah> no caso de page fault, vc tem q tirar os dados do hd [23:48] <01Tryah> entao leva o tempo q o hd tem q acessar os dados e retornar pro processador [23:48] <12d4rwin> como assim? [23:48] <01Tryah> nesse meio tempo ele fica parado [23:48] <12d4rwin> entao por exemplo [23:48] <01Tryah> e eh um tempo absurdamente grande comparado com o tempo q o processador leva pra fazer as coisas [23:48] <12d4rwin> quando o windows "trava" [23:49] <12d4rwin> ele pode voltar a funfar? [23:49] <12d4rwin> pq na verdade o processador continua trabalhando [23:49] <12d4rwin> mas sobrecarregado [23:49] <12d4rwin> nao eh [23:49] <01Tryah> sim [23:49] <01Tryah> tipo [23:49] <12d4rwin> o computador nunca trava entao [23:49] <12d4rwin> se for seguir a risca [23:49] <01Tryah> os perifericos (hardware) sao todos moh lentoes [23:49] <12d4rwin> hum [23:49] <01Tryah> em relação ao processador, por isso muito tempo eh gasto soh esperando resposta de dados desses perifeircos [23:50] <12d4rwin> ahhh [23:50] <01Tryah> nao [23:50] <01Tryah> trava nao [23:50] <12d4rwin> bem que eu imaginei, pq o processador eh o fodao [23:50] <01Tryah> o windows trava pq eh um codigo labirintico [23:50] <12d4rwin> hehehe [23:50] <01Tryah> eh funcao q chama outra funcao q chama outra q chama outra [23:50] <12d4rwin> hehehe [23:50] <01Tryah> vai ver eles tem funcao ateha pra adicionar numero [23:50] <12d4rwin> isso dentro de uma funçao [23:50] <01Tryah> add(1);add(2) [23:50] <12d4rwin> uiahuiahuia [23:50] <01Tryah> mov esi, 2807h (huehueuhehue) [23:50] <01Tryah> eh ahuahua [23:51] <12d4rwin> isso em pascal chama-se recursividaded [23:51] <12d4rwin> *recursividde [23:51] <01Tryah> dai as vezes, um programinha pode fazer uma caca e jogar a execução pro espaço [23:51] <12d4rwin> eta [23:51] <12d4rwin> hehe [23:51] <01Tryah> dai acontece o travamento! [23:51] <01Tryah> as vezes ele fica se resolvendo [23:51] <12d4rwin> pq o linux nao precisa ser reiniciado e o linux precisa quando eu instalo um driver por exemplo? [23:51] <12d4rwin> ops [23:51] <01Tryah> em qualquer linguagem chama-se recursividade :P [23:51] <12d4rwin> o windows [23:51] <12d4rwin> Tryah: hehehe [23:52] <12d4rwin> pq o linux nao precisa ser reiniciado e o windows precisa quando eu instalo um driver por exemplo? [23:52] <12d4rwin> tem a ver com o kernel nao? [23:52] <01Tryah> pq o windows eh uma droga, o kernel eh labirintico e gigante, mas tao podre que nao eh capaz de mudar as ports q precisa ler ou descarregar e carregar um driver qdo ta executando [23:52] <01Tryah> tem sim [23:52] <12d4rwin> kernel eh o cara que interage diretamente com o hardware da maquina [23:53] <01Tryah> tem q reiniciar soh pra carregar os drivers novos [23:53] <12d4rwin> sim [23:53] <12d4rwin> isso eh uma merda [23:53] <01Tryah> em resumo, eh pq o kernel nao suporta insmod :P [23:53] <01Tryah> d4rwin sim [23:53] <01Tryah> alias [23:53] <01Tryah> medio [23:53] <12d4rwin> maquina com linux soh quando troca algum periferico ou queda de luz [23:53] <01Tryah> o kernel gerencia o software [23:53] <01Tryah> os caras do hardware sao os drivers [23:53] <12d4rwin> o que um driver de som faz por exemplo? [23:54] <01Tryah> eles q chamam o hardware [23:54] <12d4rwin> e pra cada tipo de hardware o chamado eh diferente? [23:54] <01Tryah> o kernel soh chama os drivers pra fazer o serviço pesado :P [23:54] <12d4rwin> por isso diferentes tipos de drivers? [23:54] <01Tryah> pro kernel soh interessa o resultado hehe [23:54] <12d4rwin> hehehe [23:54] <01Tryah> um driver de som se comunica com a placa de som [23:54] <12d4rwin> deviam fazer um driverzao generico [23:54] <01Tryah> e exporta umas funcoes pro kernel, do tipo TocarMusica(); IniciarPlaca(), etc [23:54] <12d4rwin> pra todos os computadores da face da terra, hiuahuaihia [23:54] <01Tryah> sim [23:54] <12d4rwin> hum [23:55] <01Tryah> um driver pra cada hardware [23:55] <01Tryah> mov esi, 2808h (huehueuhehue) [23:55] <01Tryah> nao eh bem isso [23:55] <12d4rwin> eh viajem [23:55] <12d4rwin> hehehe [23:55] <01Tryah> o q devia ter eh uma interface de driver comum [23:55] <01Tryah> com os drivers de som exportando sempre as mesmas funções [23:55] <01Tryah> e sempre com o mesmo formato [23:55] <01Tryah> agora olha eu [23:55] <01Tryah> meu so vai ter q suportar drivers de linux e/ou de windows =/ [23:56] <12d4rwin> eh [23:56] <01Tryah> pq a pctel nao libera codigo fonte do driver do hsp56 amr por exemplo [23:56] <12d4rwin> ou vc vai ter que criar um pra cada periferico existente [23:56] <12d4rwin> haiuhauihuai [23:56] <01Tryah> era pra ser padrão [23:56] <01Tryah> mas isso eh sonho [23:56] <01Tryah> nao da [23:56] <01Tryah> eu nao sei como funfam ahuahua :P [23:56] <12d4rwin> hhehee [23:56] <12d4rwin> tipo eu tenho dois computadores [23:56] <12d4rwin> mas o outro fica travando [23:56] <01Tryah> cada modem tem uma port diferente, q faz uma coisa diferente, e assimv ai :D [23:57] <12d4rwin> ja troquei hd, gabinete [23:57] <12d4rwin> etc [23:57] <12d4rwin> pode ser o processador? [23:57] <12d4rwin> ou eh mais provavel ser a placa mae? [23:57] <01Tryah> ja trocou o cooler? [23:57] <12d4rwin> sim [23:57] <01Tryah> pode sim [23:57] <12d4rwin> ele trava e desliga o monitor [23:57] <12d4rwin> hehehe [23:57] <12d4rwin> ou soh trava [23:57] <12d4rwin> ou entao nao liga mais [23:57] <01Tryah> eh muito velho o pc? [23:58] <12d4rwin> troquei algumas peças [23:58] <12d4rwin> de velho soh tem o processador [23:58] <12d4rwin> eu acho [23:58] <12d4rwin> e placa mae eh uma pcchips [23:58] <12d4rwin> hehhe [23:58] <01Tryah> a placa mae eh de q ano ± ? [23:58] <12d4rwin> hum [23:58] <12d4rwin> dexa eu v [23:58] <12d4rwin> sockt 7 [23:58] <12d4rwin> pc100 [23:59] <01Tryah> alias, qual o processador? [23:59] <12d4rwin> acho 1996 [23:59] <12d4rwin> nao sei [23:59] <01Tryah> eskece o ano da placa mae [23:59] <12d4rwin> pentium mmx 233 [23:59] <01Tryah> eita [23:59] <12d4rwin> hehehe [23:59] <01Tryah> 111 [23:59] <01Tryah> mais provavel o processador, se fosse zica na placa mae, vc receberia avisos, pela int 18 huehue [23:59] <12d4rwin> hum [23:59] <01Tryah> machine check [23:59] <12d4rwin> me avisaria [23:59] <12d4rwin> hum [23:59] <12d4rwin> interessante [23:59] <12d4rwin> processaor [23:59] <01Tryah> acima de 486, os processadores de x86 avisam qdo tem erro no bus da placa mae :P Session Time: Sun Jun 20 00:00:00 2004 [00:00] <01Tryah> o processador deve estar eskentando muito [00:00] <12d4rwin> sera que eh muito arriscado meter o processador deste computador nele [00:00] <12d4rwin> sera [00:00] <12d4rwin> ? [00:00] <12d4rwin> mas o cooler tah ok [00:00] <01Tryah> sim [00:00] <12d4rwin> sera que eh do processador ta esquentando? [00:00] <01Tryah> vc pode acabar fudendo a placa mae e o seu processador :] [00:00] <12d4rwin> putz [00:00] <01Tryah> tipo [00:00] <01Tryah> abre ele [00:00] <01Tryah> e usa ele aberto [00:00] <12d4rwin> uma vez eu coloquei ele e veio um chero de fumaça [00:00] <12d4rwin> hiauhuai [00:00] <12d4rwin> hum [00:00] <12d4rwin> eu fiz isso [00:00] <12d4rwin> mas continua travando [00:01] <01Tryah> depois de um tempo, poe a mao em cima do cooler, mas nao va encostar a mao no cooler [00:01] <01Tryah> e ve se ta muito kente [00:01] <12d4rwin> no dissapador [00:01] <12d4rwin> hehehe [00:01] <12d4rwin> vo faze isso agora [00:01] <12d4rwin> pera [00:01] <01Tryah> ja viu se nao eh o os? [00:01] <12d4rwin> acho que nao [00:01] <12d4rwin> trava tanto no win como no linux [00:01] <12d4rwin> e ja reinstalei tbm [00:01] <12d4rwin> travava no slack e no debian [00:02] <01Tryah> pode ser a fonte tambem [00:02] <12d4rwin> comprei um gabinete novinho [00:02] <12d4rwin> hehehe [00:02] <01Tryah> pode estar enviando corrente defeituosa [00:02] <12d4rwin> atx lindao [00:02] <01Tryah> 11111 [00:02] <12d4rwin> fonte 400w [00:02] <12d4rwin> mas do que preciso [00:02] <01Tryah> mov esi, 2809h (huehueuhehue) [00:02] <01Tryah> puxa [00:02] <12d4rwin> hehhee [00:02] <01Tryah> entao xuta esse processador [00:02] <01Tryah> :P [00:02] <01Tryah> atx rox [00:02] <12d4rwin> soh restar processador e placamae [00:02] <01Tryah> ahnnn [00:02] <01Tryah> perai [00:02] <01Tryah> eu tinha um caso parecido aki [00:03] <12d4rwin> vo v se arrumo algum processadro de 486 pra testar [00:03] <01Tryah> o do cara travava qse toda vez q iniciava e tal [00:03] <01Tryah> tipo [00:03] <01Tryah> vai na bios [00:03] <01Tryah> e ve qual a configuração do processador [00:03] <12d4rwin> tah [00:03] <12d4rwin> dexa eu abri antes [00:03] <01Tryah> se ele nao ta trabalhando em modo economico (com menos mhz do que o maximo) [00:03] <01Tryah> q isso da zica [00:04] <01Tryah> ele trabalha tao devagar do seu "normal" q ele pára as vezes huahuahua [00:04] <01Tryah> axo q eh isso =~~P [00:04] <12d4rwin> tah em 233 [00:04] <12d4rwin> tipo [00:04] <12d4rwin> na bios eu sempre coloco no maximo [00:04] <12d4rwin> pq tipo esse [00:04] <12d4rwin> eh um k6 500 [00:04] <12d4rwin> mas na bios vai ate 550 [00:04] <12d4rwin> eu coloco o q? o mais rapido?: [00:04] <12d4rwin> isso eh um clock? [00:05] <01Tryah> s [00:05] <01Tryah> o mais rapido [00:05] <01Tryah> eh clock sim [00:05] <12d4rwin> hun [00:06] <12d4rwin> temperatura 24graus [00:06] <12d4rwin> vcore 2.87 [00:06] <12d4rwin> cpu brand intelp55c [00:06] <12d4rwin> cpu base frequency 66mhz [00:06] <12d4rwin> cpu speed 233 mhz [00:07] <01Tryah> veja as temperatura ai [00:07] <12d4rwin> uia [00:07] <12d4rwin> da pra dexa a base de frequencia de 66mhz pra 100mhz [00:07] <12d4rwin> sera que mexo nisso? [00:07] <12d4rwin> 28 graus [00:08] <12d4rwin> de 233 coloquei em 333 [00:08] <01Tryah> freq de RAM? [00:08] <12d4rwin> ã? [00:08] <12d4rwin> coloquei 333 e apareceu no boot 200 [00:08] <01Tryah> mov esi, 280Ah (huehueuhehue) [00:08] <01Tryah> nda nao [00:08] <01Tryah> testaí [00:09] <12d4rwin> vamo v [00:09] <12d4rwin> qtos minutos fica sem trava [00:09] <01Tryah> mov esi, 280Bh (huehueuhehue) [00:09] <12d4rwin> tah fresquinho perto do cooler [00:09] <12d4rwin> hehehe [00:10] <01Tryah> mov esi, 280Ch (huehueuhehue) [00:10] <12d4rwin> quero v tritura meu dedo [00:10] <12d4rwin> haihaiua [00:10] <12d4rwin> putz olhando pro computador assim [00:10] <12d4rwin> abertao [00:10] <12d4rwin> funcionando [00:10] <12d4rwin> fico imaginando os eletrons sendo transportados [00:10] <12d4rwin> hehehe [00:11] <12d4rwin> como que acontece as coisas [00:11] <12d4rwin> tudo detalhadinho [00:11] <01Tryah> mov esi, 280Dh (huehueuhehue) [00:11] <12d4rwin> um dia inda vou saber todo o funcionamento dele [00:11] <12d4rwin> hehehe [00:11] <01Tryah> eh mais rapido q sua imaginação :D [00:11] <12d4rwin> heheh [00:11] <12d4rwin> 2 minutos sem travar [00:11] <01Tryah> mov esi, 280Eh (huehueuhehue) [00:12] <01Tryah> nao tem segredo [00:12] <12d4rwin> cara, eu se for o processador [00:12] <01Tryah> eh soh um monte de quimica, fisica, componentes eletronicos e interpretação [00:12] <12d4rwin> bom pra mim [00:12] <12d4rwin> hehehe [00:12] <12d4rwin> eu jah ia querer trocar a placamae [00:12] <12d4rwin> mas eh esquisito [00:12] <12d4rwin> imaginar tudo isso [00:13] <12d4rwin> Tryah: os movimentos do mouse passam pela memoria? [00:13] <12d4rwin> ops [00:13] <12d4rwin> eles passam pela memoria de video nao? [00:13] <01Tryah> mov esi, 280Fh (huehueuhehue) [00:13] <01Tryah> medio [00:14] <12d4rwin> eh muito rapido cara [00:14] <12d4rwin> eh instantaneo [00:14] <01Tryah> o q acontece eh q porta serial tem uma interrupção, axo q a ps2 tbm [00:14] <12d4rwin> o meu eh serial [00:14] <01Tryah> dai qdo vc move o mouse, o processador para, recebe os dados, o kernel pega os dados e le a posicao [00:14] <01Tryah> dai pega a posicao correspondente na memoria de video e desenha o cursor la [00:14] <12d4rwin> hehe [00:15] <12d4rwin> muita coisa pra 1 segundo [00:15] <01Tryah> mov esi, 2810h (huehueuhehue) [00:16] <01Tryah> bom [00:16] <01Tryah> o q tem a mais a ser dito? hauhau [00:16] <12d4rwin> vo compra um pIII 900 por 50 pila [00:16] <12d4rwin> vo tira um monte em cima [00:16] <12d4rwin> hehehe [00:16] <01Tryah> assembly eh um monte de instruções e logica q passa direto no processador [00:16] <12d4rwin> humm [00:16] <01Kilohertz> to tonto ja aki [00:16] <12d4rwin> tem alguem que programe direto em numeros binarios? [00:16] <01Kilohertz> aahuahauhuhuahu [00:16] <12d4rwin> huiahuiahuia [00:17] <01Tryah> pra vc saber, qualquer linguagem q nao seja assembly nem interpretada, eh transformada em assembly, ateh mesmo VB, pq o processador soh processa assembly [00:17] <12d4rwin> hum [00:17] <12d4rwin> ae ainda nao travo [00:17] <01Tryah> nao, tem q ser muito louco [00:17] <12d4rwin> Tryah: cara, se nao travar em quanto eu estiver com ele aberto [00:17] <12d4rwin> hehehe [00:17] <01Tryah> mas no manual 2 da intel tem a relação dos codigos binarios das instruções em assembly [00:17] <01Tryah> d4rwin eheh legal [00:17] <12d4rwin> vo mija [00:17] <12d4rwin> hehhee [00:18] <01Tryah> idem [00:20] <12d4rwin> uia [00:20] <12d4rwin> nao travo [00:20] <12d4rwin> viva via [00:20] <12d4rwin> *viva [00:20] <01Tryah> mov esi, 2811h (huehueuhehue) [00:21] <12d4rwin> bom, ja to pra troca de processador mesmo [00:21] <12d4rwin> entao [00:21] <12d4rwin> isso nao eh um "problema" [00:22] <12d4rwin> cara esse lilo eh chato [00:22] <12d4rwin> hehehe [00:22] <12d4rwin> nao adiciona de jeito nenhum hum hdb [00:22] <01Tryah> mov esi, 2812h (huehueuhehue) [00:22] <01Tryah> mov esi, 2813h (huehueuhehue) [00:23] <01Kilohertz> vo durmi xega de asm por hj [00:23] <12d4rwin> Kilohertz: =) [00:23] <12d4rwin> falando nisso [00:23] <01Kilohertz> to vendo hexadecimal na minha frente [00:23] <12d4rwin> em um sebo aqui na minha city [00:23] <12d4rwin> tem um livro [00:23] <01Tryah> mov esi, 2814h (huehueuhehue) [00:23] <12d4rwin> do peter norton [00:23] <12d4rwin> falando sobre 8088 [00:23] <12d4rwin> acho que eh isso [00:23] <12d4rwin> sei lah [00:23] <01Tryah> flw fio ;] [00:23] <12d4rwin> ibm pc [00:23] <01Kilohertz> fuiz [00:23] <12d4rwin> Kilohertz: flw [00:23] <12d4rwin> dai eu nao comprei pq eh defasado [00:23] <01Kilohertz> flz [00:23] <12d4rwin> mas eu acho que era uma boa compra [00:23] <12d4rwin> hehehe [00:24] -=-Hack-Shell-=- Quits: Kilohertz ("fuiz") [00:24] <12d4rwin> ele explicava os lances basicos [00:24] <12d4rwin> a unicamp deve ter uma puta biblioteca [00:25] <01Tryah> eh mesmo [00:25] <12d4rwin> vc soh tem windows ai? [00:25] <01Tryah> eu fico pensando, soh vai dar eu fazendo engenharia da comp e indo trocar ideia com negada de ciencias da comp, pegando livro de ciencias da cmp, etc [00:26] <12d4rwin> hehehe [00:26] <01Tryah> nesse hd, to com win98, winxp e slack9.1 [00:26] <12d4rwin> uia [00:26] <01Tryah> no outro nao tem nada, to guardando pro vox hauhau [00:26] <12d4rwin> preciso aprender a mexer com o samba [00:26] <01Tryah> esse tem 40gb e o outro tem 300mb, q diferença, nao :] [00:26] <12d4rwin> hehehe [00:27] <12d4rwin> eu to com espaça de sobra agora [00:27] <12d4rwin> comprei um de 40gb [00:27] <01Tryah> samba (programa) rox uahua :] [00:27] <01Tryah> hehe [00:27] <01Tryah> pavora [00:27] <01Tryah> :D [00:27] <01Tryah> mas logo vc enjoa [00:28] <01Tryah> :P [00:28] <01Tryah> eu keria um de 80 uhhuhu [00:28] <01Tryah> o meu nao ta dando pro gasto mais nao :P [00:28] <01Tryah> na partição do winxp de 20 gb, tem 1.5 livre, na do win98, de 10 gb tem 900 mb livre, na do linux de 10 gb, tem uns 5 gb livre [00:29] <12d4rwin> hhehee [00:29] <12d4rwin> aqui tbm eh assim [00:29] <12d4rwin> eu tenho um de 30gb [00:29] <12d4rwin> um de 40gb [00:29] <12d4rwin> e um de 7gb [00:29] <01Tryah> huhu [00:30] <12d4rwin> tem que pega uns pacotes do slack agora [00:30] <12d4rwin> eu baixei o .iso e veio alguns corrompidos [00:30] <01Tryah> puxa =/ [00:30] <12d4rwin> e sao pacotes importantes [00:30] <01Tryah> c tem adsl? [00:30] <12d4rwin> tipo binutils [00:30] <12d4rwin> e elflibs [00:31] <12d4rwin> tenho a radio [00:31] <12d4rwin> sem esses dois pacotes eu nao consigo compilar nada [00:32] <01Tryah> qto vc paga? [00:32] <01Tryah> putz, binutils =~/ [00:32] <12d4rwin> uns 40 e pocos [00:32] <12d4rwin> 128k [00:32] <12d4rwin> mas nao eh muito bom [00:32] <01Tryah> vinutils pavora [00:32] <12d4rwin> meu provedor eh meio porco [00:32] <01Tryah> ah, mas ta barato [00:33] <12d4rwin> eh [00:33] <12d4rwin> mas tipo [00:33] <12d4rwin> eu nao tenho ip valido [00:33] <01Tryah> vc soh paga o provedor? [00:33] <12d4rwin> sim [00:33] <12d4rwin> se eu quiser um ip valido tenho que pagar 145 reais por mes [00:33] <12d4rwin> hehehe [00:33] <12d4rwin> nao posso nem rodar um apachezinho aqui [00:33] <01Tryah> puxa [00:33] <01Tryah> qto fica pra colocar net a radio? [00:34] <12d4rwin> gastei uns 500 [00:34] <01Tryah> da pra usar do win, neh? [00:34] <12d4rwin> pq tem a antena do tipo parabolica [00:34] <12d4rwin> sim [00:34] <01Tryah> =~~ [00:34] <12d4rwin> dai uma cartao pci cardbus ou placa pcmcia [00:34] <12d4rwin> e cabos [00:34] <01Tryah> nuss, 500 =~~ [00:34] <12d4rwin> eles meterem a mao um pouco [00:34] <01Tryah> 1111 [00:34] <12d4rwin> hiahauihaia [00:34] <01Tryah> poxa [00:35] <01Tryah> seria bom se nao fosse agora [00:35] <01Tryah> se fosse ano passado axo q eu ateh colocava [00:35] <12d4rwin> o alcance da antena varia de acordo com o tipo [00:35] <01Tryah> mai agora q eu vo prestar, depois eu passo e eh adeus pc huahuahua :P [00:35] <12d4rwin> hehe [00:35] <12d4rwin> adeus pc e bem-vindo internet2 [00:35] <12d4rwin> hohohoho [00:36] <12d4rwin> unicamp tem uma otima estrutura [00:36] <12d4rwin> hehehe [00:36] <01Tryah> heeh [00:36] <12d4rwin> imagino os labs deles [00:36] <12d4rwin> hehehe [00:36] <01Tryah> internet2 pavora :D [00:36] <12d4rwin> 45mil vezes mais rapida [00:36] <12d4rwin> hehehe [00:36] <12d4rwin> vc vai assistir aula remotamente [00:36] <12d4rwin> huahiuahuiahiaa [00:36] <01Tryah> deviam implementar akela net q nao da pra rastrear [00:36] <12d4rwin> qual? [00:36] <01Tryah> criaram uma assim em goias faz uns 2 anos axo [00:36] <12d4rwin> humm [00:36] <01Tryah> nao tem como rastrear ninguem [00:36] <01Tryah> mov esi, 2816h (huehueuhehue) [00:37] <01Tryah> deve ser foda la :P [00:37] <12d4rwin> hehehe [00:37] <12d4rwin> spam [00:37] <01Tryah> deve ser mais foda foder o sistema da unicamp :P [00:37] <01Tryah> d4rwin nao lembro o nome [00:37] <01Tryah> mas axo q etenho numa revista aki [00:37] <01Tryah> depois eu do uma procurada [00:37] <01Tryah> mov esi, 2817h (huehueuhehue) [00:38] * Tryah love Dido [00:38] * Tryah love Radiohead [00:38] * Tryah love Radiohead, Oasis, Coldplay, U2, Cranberries, The Coors and Dido [00:39] <01Tryah> and Legiao Urbana [00:39] <12d4rwin> hehehe [00:39] * d4rwin love metallica, iron maiden, angra, helloween, black sabath [00:40] <01Tryah> credu auhhauhauhauhua :P [00:40] <01Tryah> metallica fede =~] [00:40] <12d4rwin> ateh o black album nao [00:40] <01Tryah> ehuhuehue [00:41] <01Tryah> todos fedem [00:41] <01Tryah> a fita eh radiohead :P [00:41] <12d4rwin> ahh [00:41] <12d4rwin> eu nem curto muot [00:41] <12d4rwin> *muito [00:41] <12d4rwin> escutei poucos musicas tbm [00:41] <01Tryah> radiohead e dido [00:42] <01Tryah> se vc curte metallica nao tem nem como curtir radiohead e dido ahuhahau :P [00:42] <12d4rwin> hehehe [00:43] * Disconnected Session Close: Sun Jun 20 00:45:48 2004