52
Assembly Language for Intel- Assembly Language for Intel- Based Computers, 5 Based Computers, 5 th th Edition Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use, or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed. Slides prepared by the author Revision date: June 3, 2006 Kip Irvine

Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Embed Size (px)

Citation preview

Page 1: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Assembly Language for Intel-Based Assembly Language for Intel-Based Computers, 5Computers, 5thth Edition Edition

Capítulo 1: Conceitos básicos

(c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use, or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed.

Slides prepared by the author

Revision date: June 3, 2006

Kip Irvine

Page 2: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 2

Conteúdo Conteúdo

• Boas vindas à linguagem Assembly • Conceito de máquina virtual• Representação dos dados• Operações booleanas

Page 3: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 3

Boas vindas à linguagem Assembly Boas vindas à linguagem Assembly

• Algumas questões• Aplicações da linguagem Assembly

Page 4: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 4

Algumas QuestõesAlgumas Questões

• Por que estudar linguagem Assembly?• Que base seria necessária?• O que é um assembler?• Que hardware/software necessito?• Que tipo de programas eu posso criar?• O que vou aprender?

Page 5: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 5

Outras questões Outras questões (cont)(cont)

• Como uma linguagem assembly (AL) se relaciona a uma linguagem de máquina?

• Como C++ e Java se relaciona com AL?• AL é portável?• Por que aprender AL?

Page 6: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 6

Aplicações da linguagem Assembly Aplicações da linguagem Assembly

• Alguns tipos representativos de aplicações:• Aplicação comercial para uma plataforma única

• Driver de um dispositivo de Hardware

• Aplicações comerciais para plataformas múltiplas

• Sistemas embarcados & jogos por computador

(ver painel seguinte)

Page 7: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 7

Comparando ASM com linguagens de alto nívelComparando ASM com linguagens de alto nível

Page 8: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 8

Seção seguinteSeção seguinte

• Boas vindas à linguagem Assembly

• Conceito de máquina virtual• Representação dos dados• Operações booleanas

Page 9: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 9

Conceito de máquina virtualConceito de máquina virtual

• Máquinas virtuais• Níveis específicos de máquina

Page 10: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 10

Máquinas virtuaisMáquinas virtuais

• Tanenbaum: conceito de máquina virtual • Analogia com linguagem de programação:

• Cada computador tem uma linguagem de máquina nativa (linguagem L0) que roda diretamente no hardware

• Uma linguagem mais humanamente amigável é usualmente construida acima da linguagem de máquina, chamada linguagem L1

• Programas escritos em L1 podem ser executados em duas formas :• Interpretação – o programa L0 interpreta e executa

instruções em L1 um a um• Tradução – o programa L1 é completamente traduzido para

um programa na linguagem L0, que então é executado no hardware

Page 11: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 11

Traduzindo linguagensTraduzindo linguagens

English: mostra a soma de A vezes B mais C.

C++: cout << (A * B + C);

Linguagem Assembly :

mov eax,Amul Badd eax,Ccall WriteInt

Linguagem de máquina Intel :

A1 00000000

F7 25 00000004

03 05 00000008

E8 00500000

Page 12: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 12

Níveis específicos de máquina Níveis específicos de máquina

(descriptions of individual levels follow . . . )

Page 13: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 13

Linguagem de alto nívelLinguagem de alto nível

• Nível 5• Linguagens orientadas a aplicações

• C++, Java, Pascal, Visual Basic . . .• Os programas são compilados para a

linguagem assembly (nível 4)

Page 14: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 14

Linguagem AssemblyLinguagem Assembly

• nível 4• Mnemônicos de instruções em correspondência um-

a-um com as instruções em linguagem de máquina• Chama funções escritas no nível de sistema

operacional (nível 3)• Os programas são traduzidos para a linguagem de

máquina (nível 2)

Page 15: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 15

Sistema operacionalSistema operacional

• Nível 3• Fornece serviços para os programas de nível 4 • São traduzidos e executados no nível de

arquitetura do conjunto de instruções (instruction set architecture) (nível 2)

Page 16: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 16

Arquitetura do conjunto de instruções Arquitetura do conjunto de instruções (Instruction Set Architecture)(Instruction Set Architecture)

• Nível 2• Também conhecido como linguagem de

máquina convencional• Executado pelo programa no nível 1

(microarquitetura)

Page 17: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 17

MicroarquiteturaMicroarquitetura

• Nível 1• Interpreta instruções de máquina convencional (nível 2)• Executado pelo hardware digital (nível 0)

Page 18: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 18

Lógica DigitalLógica Digital

• Nível 0• CPU, construído de portas lógicas digitais• Barramento do sistema• Memória• Implementada usando transistores

next: Data Representation

Page 19: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 19

Próxima seçãoPróxima seção

• Boas vindas à linguagem Assembly

• Conceito de máquina virtual• Representação dos dados• Operações booleanas

Page 20: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 20

Representação dos dadosRepresentação dos dados

• Números binários• Tradução entre binário e decimal

• Adição binária• Tamanhos de armazenamento de inteiros• Inteiros Hexadecimais

• Tradução entre decimal e hexadecimal

• Subtração hexadecimal

• Inteiros com sinal• Subtração binária

• Armazenamento de caractere

Page 21: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 21

Números bináriosNúmeros binários

• Dígitos são 1 e 0• 1 = verdadeiro

• 0 = falso

• MSB – bit mais significativo• LSB – bit menos significativo

• Numeração de Bits:015

1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0

MSB LSB

Page 22: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 22

Números bináriosNúmeros binários

• Cada dígito (bit) é 1 ou 0• cada bit representa uma potência de 2:

Cada número binário é uma soma de potências de 2

Page 23: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 23

Traduzindo binário para decimalTraduzindo binário para decimal

A notação posicional mostra como calcular o valor decimal de número binário:

dec = (Dn-1 2n-1) (Dn-2 2n-2) ... (D1 21) (D0 20)

D = dígito binário

binário 00001001 = decimal 9:

(1 23) + (1 20) = 9

Page 24: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 24

Tradução de decimal sem sinal para binárioTradução de decimal sem sinal para binário

• Dividir repetidamente o inteiro decimal por 2. Cada resto é um dígito binário no valor traduzido:

37 = 100101

Page 25: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 25

Adição bináriaAdição binária

• Começando com o LSB, somar cada par de dígitos, incluindo o vai-um (carry) se tiver.

Page 26: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 26

Tamanhos de armazenamento de inteirosTamanhos de armazenamento de inteiros

Qual é o maior inteiro sem sinal que pode ser armazenado em 20 bits?

Tamanhos padrões:

Page 27: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 27

Inteiros hexadecimaisInteiros hexadecimaisValores binários são representados em hexadecimal.

Page 28: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 28

Traduzindo binário para hexadecimalTraduzindo binário para hexadecimal

• Cada dígito hexadecimal corresponde a 4 bits.

• Exemplo: Traduzir o inteiro binário 000101101010011110010100 para hexadecimal:

Page 29: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 29

Convertendo hexadecimal para decimalConvertendo hexadecimal para decimal

• Multiplicar cada dígito pela sua potência de 16 correspondente:

dec = (D3 163) + (D2 162) + (D1 161) + (D0 160)

• Hex 1234 é igual a (1 163) + (2 162) + (3 161) + (4 160), ou decimal 4,660.

• Hex 3BA4 é igual a (3 163) + (11 * 162) + (10 161) + (4 160), ou decimal 15,268.

Page 30: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 30

Potência de 16Potência de 16

Usado para calcular valores hexadecimais até 8 dígitos:

Page 31: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 31

Convertendo decimal para hexadecimalConvertendo decimal para hexadecimal

decimal 422 = 1A6 hexadecimal

Page 32: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 32

Adição hexadecimalAdição hexadecimal

• Divide a soma de dois dígitos pela base (16). O quociente se torna o valor de vai-um (carry) e o resto é o dígito da soma.

36 28 28 6A42 45 58 4B78 6D 80 B5

11

21 / 16 = 1, rem 5

Habilidade importante: os programadores freqüentemente somam e subtraem os endereços de variáveis e instruções.

Page 33: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 33

Subtração hexadecimal Subtração hexadecimal

• Quando um empréstimo é requerido do dígito à esquerda, adicionar 16 (decimal) ao valor do dígito corrente:

C6 75A2 4724 2E

1

16 + 5 = 21

Prática: O endereço de var1 é 00400020. O endereço da variável seguinte após var1 é 0040006A. Quantos bytes são usados por var1?

Page 34: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 34

Inteiros com sinalInteiros com sinal

O bit mais à esquerda indica o sinal. 1 = negativo, 0 = positivo

Se o dígito mais à esquerda de um inteiro hexadecimal é > 7, o valor é negativo. Exemplos: 8A, C5, A2, 9D

Page 35: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 35

Formando os complementos de 2Formando os complementos de 2

• Números negativos são armazenados em notação complemento de 2

Note que 00000001 + 11111111 = 00000000

Page 36: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 36

Subtração BináriaSubtração Binária

• Quando se subtrai A – B, converte B ao seu complemento de 2

• Add A a (–B)

0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0

– 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1

0 0 0 0 1 0 0 1

Prática: Subtrair 0101 de 1001.

Page 37: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 37

Como realizar:Como realizar:

• O complemento de 2 de um inteiro hexadecimal • Conversão de binário com sinal para decimal• Conversão de decimal com sinal para binário• Conversão de decimal com sinal para hexadecimal• Conversão de hexadecimal com sinal para decimal

Page 38: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 38

Intervalos de inteiros com sinalIntervalos de inteiros com sinalO bit mais à esquerda é reservado para o sinal. Isso limita o intervalo:

Prática: Qual é o maior valor positivo que pode ser armazenado em 20 bits?

Page 39: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 39

Armazenamento de caracteresArmazenamento de caracteres

• Conjunto de caracteres• Standard ASCII (0 – 127)

• Extended ASCII (0 – 255)

• ANSI (0 – 255)

• Unicode (0 – 65,535)

• Cadeia terminada por zero• Arranjo de caracteres seguido por um byte nulo

Page 40: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 40

Representação de dados numéricosRepresentação de dados numéricos

• Binário puro• Pode ser calculado diretamente

• Binário em ASCII • Cadeia de dígitos: "01010101"

• Decimal em ASCII• Cadeia de dígitos: "65"

• Hexadecimal em ASCII• Cadeia de dígitos: "9C"

next: Boolean Operations

Page 41: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 41

Seção seguinteSeção seguinte

• Boas vindas à linguagem Assembly

• Conceito de máquina virtual• Representação dos dados• Operações booleanas

Page 42: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 42

Operações BooleanasOperações Booleanas

• NOT• AND• OR• Precedência de operadores• Tabela verdade

Page 43: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 43

Álgebra BooleanaÁlgebra Booleana

• Baseada na lógica simbólica, projetada por George Boole• Expressões booleanas criadas de:

• NOT, AND, OR

Page 44: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 44

NOTNOT

• Inverte (reverte) um valor booleano• Tabela verdade para o operador booleano NOT :

NOT

Digital gate diagram for NOT:

Page 45: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 45

ANDAND

• Tabela verdade para o operador booleano AND:

AND

Digital gate diagram for AND:

Page 46: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 46

OROR

• Tabela verdade para o operador booleano OR:

OR

Digital gate diagram for OR:

Page 47: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 47

Precedência de operadoresPrecedência de operadores

• Exemplos mostrando a ordem das operações:

Page 48: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 48

Tabela verdade Tabela verdade (1 de 3)(1 de 3)

• Uma função booleana tem uma ou mais entradas booleanas e retorna uma única saída booleana.

• Uma tabela verdade mostra todas as entradas e saídas de uma função booleana

Exemplo: X Y

Page 49: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 49

Tabela verdade Tabela verdade (2 de 3)(2 de 3)

• Exemplo: X Y

Page 50: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 50

Tabela verdade Tabela verdade (3 de 3)(3 de 3)

• Exemplo: (Y S) (X S)

Two-input multiplexer

Page 51: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 51

Resumo Resumo

• Linguagem Assembly ajuda a entender como o software é construído nos níveis mais baixos

• Linguagem Assembly language tem relação um-a-um com a linguagem de máquina

• Cada camada na arquitetura de computadores é uma abstração de uma máquina• Camada pode ser hardware ou software

• Expressões booleanas são essenciais para o projeto do hardware e software de computadores

Page 52: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 1: Conceitos básicos (c) Pearson Education, 2006-2007. All rights reserved. You may

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 52

54 68 65 20 45 6E 6454 68 65 20 45 6E 64

O que esses números representam?