Escolar Documentos
Profissional Documentos
Cultura Documentos
Assembly 1 PDF
Assembly 1 PDF
e Linguagem Assembly de
Processadores IA-32
Sistemas da Computao
Prof. Rossano Pablo Pinto, Msc.
rossano at gmail com
2 semestre 2007
Ano
1978
1979
1982
1985
1989
Pentium
1993
60233
3.1M
4GB
PentiumPro 1995
150200
5.5M
4GB
PentiumII
233400
7.5M
4GB
1997
MHz
510
58
812
1633
25100
Transistors Mem
29.000
1MB
29.000 16MB
134.000 16MB
275.000
4GB
1.2M
4GB
PentiumIII
Pentium4
Core2Duo
Copyleft Rossano Pablo Pinto
Registradores de
propsito
+/- geral
Registradores de
propsito
+/- geral
Stack Pointer
Registradores de
segmento
(propsito
especfico)
Program Counter
Copyleft Rossano Pablo Pinto
PSW
Principal reg.
aritmtico
Ponteiro de
memria
Usado em loops
Necessrio em
*e/
32 bits
16 bits
Segmento de cdigo
Segmento da pilha do programa
Segmento de dados
Ponteiro extra de segmento
Ponteiro extra de segmento
Ponteiro extra de segmento
Registradores de segmento
32 bits
Intelx86FLAGSRegister
Bit#
Abbreviation
Description
Intelx86FLAGSRegister
Category*
Bit#
Abbreviation
FLAGS
0
CF
1
2
3
4
Carryflag
Parityflag
0 Reserved
AF
Auxiliaryflag
0 Reserved
ZF
Zeroflag
SF
Signflag
TP
Trapflag(singlestep)
IF
Interruptenableflag
10
DF
Directionflag
11
OF
Overflowflag
IOPL
I/Oprivilegelevel(286+only)
NT
Nestedtaskflag(286+only)
12,13
14
15
Category*
FLAGS
1 Reserved
PF
Description
0 Reserved
21
22
23
24
25
26
27
28
29
30
31
ID
3263
Resumeflag(386+only)
17
VM
Virtual8086modeflag(386+only)
18
AC
Alignmentcheck(486SX+only)
19
VIF
Virtualinterruptflag(Pentium+)
20
VIP
Virtualinterruptpending(Pentium+) X
0 Reserved
*Categorias
EFLAGS
RF
RFLAGS
16
Identification(Pentium+)
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
0 Reserved
S: Status flag
C: Control flag
X: System flag
http://en.wikipedia.org/wiki/FLAGS_register_(computing)
10
11
12
13
14
15
Portabilidade
Fcil manuteno
Tipos
Compiladas
Interpretadas
Hbridas
Copyleft Rossano Pablo Pinto
16
Compiladas
link edio
17
Compiladas
Compilador
arquivo
fonte
outros arquivos
cdigo objeto
arquivo
cdigo objeto
Linker
bibliotecas de
cdigo objeto
Copyleft Rossano Pablo Pinto
arquivo
executvel
18
Compiladas
Compilador
Ex.:
- IA-32 com Linux
- IA-32 com MacOS X
Cdigo fonte o mesmo, mas cdigo
executvel diferente
19
Interpretadas
20
Hbridas
Ex.: Java
21
22
Exemplos:
23
Exemplos: Programa em C
intmain()
{
inti=1;
exit(0);
}
24
55
89E5
83EC08
C745FC01000000
83EC0C
6400
E8D1FEFFFF
Copyleft Rossano Pablo Pinto
25
push%ebp
mov%esp,%ebp
sub$0x8,%esp
movl$0x1,4(%ebp)
sub$0xc,%esp
push$0x0
call8048348
Copyleft Rossano Pablo Pinto
26