Retorna o maior elemento de um vetor
Este algoritmo tem como objetivo comparar os elementos de um vetor unidimensional e retornar o maior deles. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars
Por: Marcos Augusto
Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (GNU Assembler)
Método semelhante à da escrita em binário do outro código. A diferença é a de trocar a string dos caracteres de escrita binária "01" pela string dos caracteres de escrita em decimal "0123456789". E trocar o valor do divisor, que é 2, por 10.
Por: Perfil removido
Soma dois números lidos da memória
Este script soma dois números lidos da memória. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars
Por: Marcos Augusto
Escrita de número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
A primeira versão deste código foi criada no formato de 32 bits: http://www.vivaolinux.com.br/script/Escrita-de-um-numero-em-binario-na-tela-em-Assembly-Puro-para-Linux-x86-%28Nasm-Netwide-Assembler%29 Esta versão foi criada no formato de 64 bits, para criação de objeto e linkedição em formato ELF64. Semelhante ao outro, este código utiliza-se da pilha para a reordenação dos dígitos após as divisões sucessivas. Também escrito para usar variáveis globais, não tão adequadas ou elegantes como variáveis locais ou a pilha, visando facilitar a compreensão uma visão intuitiva do programa. Conforme os restos das divisões são obtidos, serão empilhados, sendo acrescidos do endereço inicial da string "digit", de modo que o valor empilhado aponta exatamente - é um endereço de memória, vulgo ponteiro - para o dígito que deve ser impresso. Conforme são desempilhados os valores, os dígitos vão sendo impressos. O último item a ser desempilhado é um ponteiro para o "new line" armazenado ao final do código. Este caractere identifica o final da escrita dos dígitos, feita através de um cmp (comparação). As diferenças entre a versão de 32 bits e a de 64 bits ficam visíveis no uso das interrupções, chamadas de interrupções e registradores. interrupção de escrita 32 bits = 4 interrupção de escrita 64 bits = 1 interrupção de encerramento 32 bits = 1 interrupção de encerramento 64 bits = 60 chamada de interrupção 32 bits = "int 0x80" chamada de interrupção 32 bits = "syscall" registradores usados no código com interrupções de 32 bits = eax. ebx, ecx, edx registradores usados no código com interrupções de 64 bits = rax. rdi, rsi, rdx No caso dos registradores, percebe-se que em 64 bits houve uma pequena mudança na analogia usual.
Por: Perfil removido
Escrita de um número em binário na tela em Assembly Puro para Linux x86 (GNU Assembly)
Este programa utiliza-se da pilha por causa da reordenação dos dígitos após a divisões. Do modo como foi escrito, trabalha com variáveis locais. Não são tão adequadas ou elegantes como algum tipo de variável local ou pilha, mas facilita a compreensão para se ter uma visão intuitiva do programa. Conforme os restos são obtidos, são empilhados e ao término são desempilhados conforme vai sendo feita a impressão de cada dígito. O último item a ser desempilhado é o endereço de um "new line", ponteiro para '\n' definido antecipadamente no código. A interrupção de escrita trabalha com endereços de memória do que se deseja que seja enviado para uma saída, no caso a tela. Este caractere identifica o final da escrita dos dígitos.
Por: Perfil removido
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
Algoritmo de obtenção de raiz quadrada inteira em assembly puro para Linux. Sem uso de alguma instrução para a operação ou algoritmo iterativo que necessite de valores de ponto flutuante.
Por: Perfil removido
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta