You are on page 1of 1

Sistemas de Microprocessadores e Arquitectura de Comptutadores

AULAS PRTICAS
Avaliao:
5 valores: 3 trabs e 2 avaliao directa (aulas TPC) Mdulos: C: gcc, gdb, fases de compilao, ponteiros, segmentation faults, alocao esttica, dinmica e variveis locais, hardware i/o com inportb outportb. MIPS: spim, assembly, stack, c/asm, MIPS em FGPA (fornecido) para programar e testar Arq: pipeliing e stalls em MIPS, cache e hierarquia de memria (x86), optimizao de cdigo C.
1
DEEC, FCT, UC Sistemas de Microprocessadores e Arquitectura de Comptutadores

DEPARTAMENTO DE ENGENHARIA ELECTROTCNICA E DE COMPUTADORES FACULDADE DE UC CINCIAS E TECNOLOGIA DEEC, FCT, UNIVERSIDADE DE COIMBRA Sistemas de Microprocessadores e Arquitectura de Comptutadores

2008

Ponteiros
WOC
Trabalhos praticos Avisos e informaes diversas Slides das aulas etc

Estapas para ter cdigo executvel


Nota: Esta listagem em assembly no segue a sintaxe do NASM
.file .text .globl main .type main: pushl movl subl andl movl addl addl shrl sall subl movl movl movl addl movl leave ret .size .section .ident (Red Hat 3.4.4-2)" main, @function %ebp %esp, %ebp $24, %esp $-16, %esp $0, %eax $15, %eax $15, %eax $4, %eax $4, %eax %eax, %esp $1, -4(%ebp) $2, -8(%ebp) -8(%ebp), %eax -4(%ebp), %eax %eax, -12(%ebp) "main.c"

http://www.deec.uc.pt/~jlobo/SMP_AC/
Software Links etc

void main(){ int a=1,b=2,c; c=a+b; }

Compilao
gcc -S main.c -o main.asm

main, .-main .note.GNU-stack,"",@progbits "GCC: (GNU) 3.4.4 20050721

main.c
As linguagens de alto nvel so independentes da arquitectura e do SO
DEEC, FCT, UC Sistemas de Microprocessadores e Arquitectura de Comptutadores DEEC, FCT, UC Sistemas de Microprocessadores e Arquitectura de Comptutadores

main.asm
A linguagem assembly depende da arquitectura do computador

Estapas para ter cdigo executvel


segment .bss segment .text global asm_main asm_main: enter 0,0 pusha mov eax, 2 mov ebx, 1 add eax, ebx popa mov eax, 0 leave ret

Assemblagem
nasm ex.asm -l ver.txt

Ligao
Linkagem

ex.asm
Cdigo em linguagem mnemnica

ex.o
Cdigo objecto/mquina (instrues codificadas em opcodes, little endian) Alguns endereos por resolver,pois s depois de tudo ligado que sabemos onde fica
5

O executvel depende da arquitectura e do sistema operativo


DEEC, FCT, UC Sistemas de Microprocessadores e Arquitectura de Comptutadores

DEEC, FCT, UC Sistemas de Microprocessadores e Arquitectura de Comptutadores

EXECUTVEL

%include "asm_io.inc" segment/home/jpbar/Courses/S MP/LinuxExamples/skel.asm .data

55 00000000 C8000000 56 00000004 60 57 58 59 60 61 62 00000005 66B8020000000 63 0000000B 66BB01000000 64 00000011 6601D8 65 66 67 00000014 61 68 00000015 66B800000000 69 0000001B C9 70 0000001C C3

You might also like