Você terminou todos os laboratórios anteriores? Se não, termine agora.
Escreva em assembly uma função para imprimir cada caracter
de uma string recebida como parâmetro.
A função recebe um único parâmetro char*
(ponteiro para string a ser impressa).
Use a função putchar
para imprimir cada caracter:
int putchar(int c);e termine mandando imprimir o caracter '\n'.
putchar
deve obedecer a convenção de
chamada de procedimentos, ou seja, o parâmetro deve ser colocado na pilha!
Escreva em C uma função main
para testar sua função em assembly.
Considere o código abaixo:
struct X { int c; struct X *next; }; int add (struct X *x) { int a = 0; for (; x != NULL; x = x->next) a += x->c; return a; }Traduza a função
add
para assembly e escreva em C uma função
main
para testá-la. Sua função main
deve alocar
e inicializar as estruturas!
Assumindo a definição anterior para a estrutura X
,
traduza a função abaixo para assembly:
int add2 (struct X *x) { if (x == NULL) return 0; else return x->c + add2(x->next); }
Refaça os exercícios anteriores assumindo que a estrutura X
tem a definição abaixo:
struct X { char c; struct X *next; };
Dicas: