Notas de Aula - MAC 211 - Laboratório de Programação
Aula anterior (aula 7)
Aula 8 - 22/3/2002
-
dicas para EP:
-
MUL altera o valor de DX e EDX (cuidado), use outro registrador (e.g. EDI)
como ponteiro para vetor
-
Elementos do vetor possuem apenas 2 bytes, precisa "convertê-los" antes
de fazer as contas.
-
Olhar regras de chamadas na seção 5.1.1 do Linux
Assembly HOWTO:
-
32bit arguments are pushed down stack in reverse syntactic order (hence
accessed/popped in the right order), above the 32bit near return address.
%ebp, %esi, %edi, %ebx are callee saved, other registers are caller saved;
%eax is to hold the result, or %edx:%eax for 64bit results.
-
Um uso peculiar de subrotinas: um programa eficiente para impressão de
valores hexadecimais
-
mais um exemplo de uso de funções observando a saída de gcc
-S.
-
Truque de linguagem de montagem:
-
uso de SHL (=SAL) e SHR (= SAR) para multiplicar e dividir por potências
de 2.
-
mesmo truque pode ser usado em C/C++ com operadores >> e <<.
Próxima aula (aula 9)
Página de MAC211
Página do Fabio
Página do DCC