sábado, 28 de julho de 2012

Linguagem NASM e Lista de syscall linux

Como escrever uma linha de código no NASM

Dando seguimento ao meu pequeno plano de adaptar os exercícios do livro "Linguagem assembly para IBM PC" de Peter Norton (publicado na década de 1980) para serem executados no Linux com o NASM, eu traduzi o capitulo 3 do manual do NASM...
Mas também inclui no texto uma breve descrição de como usar as syscall do linux e uma lista, obtida aqui para ajudar a desenvolver programas em assembly NASM para linux. Bons estudos


Obtenha o arquivo aqui. :]

Continue Lendo >

domingo, 22 de julho de 2012

Man - dica do dia

Uma pequena função não explicada nos manuais

Essa aconteceu comigo agora mesmo. Pesquisando sobre as syscalls do linux, descobri uma entrada no man chamada syscalls (assim mesmo, no plural), que lista as syscalls. Minha busca era pela sys_write, a quarta syscall do linux.

O man exibe um conjunto de paginas 'on-line' dos programas instalados no computador. Sempre que um programa é instalado no linux, uma man page é instalada também. Alguns instalam também entrada para o info, mas isso foge do escopo deste post.

Um detalhe pouco descrito nos tutoriais e manuais do linux que encontramos pela web, é o significado do numero entre os parenteses que toda entrada do man tem, por exemplo write(2). Que nada mais é do que uma indicação da Seção do manual que pertence a pagina em questão.

O man tem no minimo 8 seções, mas cada ditribuição pode personalisar as seções, inclusive adicionando seções:
1 -- User Commands
2 -- System Calls
3 -- C Library Functions
4 -- Devices and Special Files
5 -- File Formats and Conventions
6 -- Games et. Al.
7 -- Miscellanea
8 -- System Administration tools and Deamons

Se entrarmos o comando man write, abriremos a pagina referente ao programa 'write' que permite enviar uma mensagem para outro usuário logado no sistema. Mas se quisermos obter as informações sobre a chamada de sistema write como faremos?

Basta digitar o número da seção antes do nome da pagina, da seguinte forma: man 2 write . Pronto agora abrimos a pagina do write(2), da seção das chamadas do sistema, e não a pagina do write(1), da seção de comandos do usuário. Dica tola, verdade, mas não encontrei nada a respeito disso em nenhum guia da web, só pesquisando no manual do manual :).

Continue Lendo >

terça-feira, 20 de março de 2012

DSL 210 no Slackware 13

no pinguim, velho problema

Estou usando o sclakware agora, e precisei instalar o meu velho modem DSL210 da dlink nele. O problema é que ele é USB e isso sempre foi encrenca nas outras distros, então...

De cara, lendo por aí notei que os pacotes deb e rpm são os unicos que resolveriam o problema. Usando o mesmo tutorial do ubuntu eu tentei instalar e... Para minha surpresa o slackware 13 reconhece o modem USB sem problema. Sem problema mesmo, não precisei sequer do cxacru-fw.bin (o firmware do chip Conextant), e o pppoe já está instalado.


Está tudo bem então é só criar a interface nas0, mas vamos por partes, para um modem USB funcionar precisamos: 1 - do firmeware do modem (cxacru-fw.bin) do drive rp-pppoe (no caso todo o conjunto de aplicativos pppoe) e de uma interface que redirecione o fluxo da rede da eth0 para a porta USB (a nas0). É aí que complica, pois para isso temos que instalar o br2684ctl que depende do libatm, esses pacotes existem em deb ou rpm. Fui atrás do alien, um script perl que convert os pacotes de um formato para outro, e para minha surpresa, bastou instalar e rodar o pppoe-setup.

Aqui é que fica a pulga. Depois de rodar o pppoe-setup, meu modem conectou (tanto o ADSL quanto no servidor) mas não tinha travego algum... A um grande pequeno detalhe na configuração do pppoe-setup: quando ele peguntar o IP do DNS, escreva 'server' sem as aspas, isso fará o pppoe deixar que o seu servidor ISP indique um IP dinâmico. Parece bobagem mas eu quebrei a cabeça meia tarde para descobrir esse detalhe.


Se quiser, no link abaixo tem os arquivos usados para instalar. Basta seguir o tutorial do ubuntu e instalar os pacotes txz (installpkg nome.txz):

DSL210Tutorial.tar.gz

É isso, fica a dica...

Continue Lendo >

quinta-feira, 20 de outubro de 2011

Curiosidade de papel

Dois Tux de papel: bons porta-lápis

Ok, essa para quem não tem nada melhor para fazer, ou quer relembrar os tempos de criança. Nos links abaixo têm dois modelos de Tux de papel, basta imprimir e colar em algum papelão (tipo caixa de sabão em pó ou sucrilhos)...

Eu montei o quadradinho e ficou muito legal para fazer um porta-lápis, basta recortar a tampa da cabeça fora.

Do outro modelo estou levando uma surra dos braços do tux ( ehehehe) mas está ficando legal também.
Seguem os links (clique nas imagens para baixar) :




É isso, pegue cola, tesoura e divirta-se... =]

Continue Lendo >