Retorna a diferença entre dois vetores em Assemly

Este algoritmo tem como objetivo comparar os elementos de dois vetores unidimensionais e retornar a diferença entre eles. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

Por: Marcos Augusto


Intercessão entre dois vetores em Assembly

Este algoritmo tem como objetivo comparar os elementos de dois vetores unidimensionais e salvar em outro vetor a intercessão deles. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

Por: Marcos Augusto


Escrita de um número em octal na tela em Assembly Puro para Linux 64 bits (GNU Assembler)

Este pequeno programa em Assembly tem uma antiga versão em formato de 32 bits: http://www.vivaolinux.com.br/script/Escrita-de-um-numero-em-octal-na-tela-em-Assembly-Puro-para-Linux-x86-(GNU-Assembler)/ Esta versão está no formato 64 bits, para criação de objeto e linkedição em formato ELF64. De modo semelhante à primeira versão, o código usa a pilha para a reordenação dos dígitos após a sequência de divisões. Também foi escrito para usar variáveis globais, que não são tão adequadas ou elegantes como variáveis locais ou a pilha, visando facilitar a compreensão e dar uma visão mais intuitiva ao programa. Conforme os restos sucessivos são obtidos, são empilhados, sendo ainda acrescidos do endereço inicial da string "digit", de modo que o valor empilhado aponta exatamente - é um endereço de memória, um ponteiro mesmo - para o dígito que será impresso. Conforme vão sendo desempilhados, os dígitos são impressos. O último item desempilhado é um ponteiro para o caractere "new line" armazenado ao final do código. Este caractere identifica o fim 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 são notadamente visíveis no uso das interrupções, modo de chamá-las 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


Retorna o maior e menor elemento de um vetor em Assembly

Este algoritmo tem como objetivo comparar os elementos de um vetor unidimensional e retornar o maior e o menor entre eles. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

Por: Marcos Augusto


Fatorial de N em Assembly

Este algoritmo calcula o termo fatorial de um número. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

Por: Marcos Augusto


Fibonnaci de N em Assembly

Este algoritmo retorna o enésimo termo da sequência de Fibonnaci. Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

Por: Marcos Augusto






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts