EP1: o programa dump
Entrega: 08 de abril
Escreva, na linguagem de montagem do x86, o programa dump, que lê um arquivo da entrada padrão e joga na saída padrão uma ``listagem hexadecimal'' do conteúdo do arquivo. Exemplo:$ dump <texto.txt 0: 49 73 74 6f 20 65 27 20 75 6d 20 61 72 71 75 69 Isto e' um arqui 10: 76 6f 20 41 53 43 49 49 20 63 6f 6e 74 65 6e 64 vo ASCII contend 20: 6f 20 74 72 65 73 20 28 30 33 29 20 6c 69 6e 68 o tres (03) linh 30: 61 73 20 64 65 20 74 65 78 74 6f 2e 0a 43 61 64 as de texto..Cad 40: 61 20 6c 69 6e 68 61 20 74 65 72 6d 69 6e 61 20 a linha termina 50: 63 6f 6d 20 4c 46 20 28 30 78 30 61 29 2c 20 63 com LF (0x0a), c 60: 6f 6e 66 6f 72 6d 65 20 61 20 63 6f 6e 76 65 6e onforme a conven 70: 63 61 6f 20 75 73 61 64 61 20 65 6d 20 73 69 73 cao usada em sis 80: 74 65 6d 61 73 20 55 6e 69 78 2e 0a 4e 75 6d 20 temas Unix..Num 90: 73 69 73 74 65 6d 61 20 4d 69 63 72 6f 73 6f 66 sistema Microsof a0: 74 20 61 73 20 6c 69 6e 68 61 73 20 74 65 72 6d t as linhas term b0: 69 6e 61 72 69 61 6d 20 63 6f 6d 20 43 52 20 28 inariam com CR ( c0: 30 78 30 64 29 20 73 65 67 75 69 64 6f 20 64 65 0x0d) seguido de d0: 20 4c 46 2e 0a LF..
A saída do dump tem o seguinte formato:
O programa será montado com o NASM e rodará sob o Linux, sem usar a libc. A entrada e a saída serão feitas através de chamadas diretas ao Linux (int 0x80).