SlideShare uma empresa Scribd logo
1 de 13
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
ASSEMBLY – AULA PRÁTICA
1. Entrar no programa CMD.EXE
2. Digitar CD.. e apertar enter
3. Digitar novamente CD.. e apertar enter
4. Digitar DEBUG e apertar enter
Obs.: para sair do programa DEBUG, basta digitar a tecla Q e apertar enter
ARITMÉTICA EM MODO HEXADECIMAL
Não é possível trabalhar com números decimais
Exemplo1: Adição e Subtração
Informar os dois operandos em formato hexadecimal: H 0005 0001
Resultado: 0006 0004
Pois: (0005 + 0001 = 0006) e (0005 – 0001 = 0004)
Na matemática real: (5 + 1 = 6) e (5 – 1 = 4)
Exemplo 2: Adição e Subtração
Informar dois operandos em formato hexadecimal: H 0009 0001
Resultado: 000A 0008
Pois: (0009 + 0001) = 000A e (0009 – 0001 = 0008)
Na matemática real: (9 + 1 = 10) e (9 – 1 = 8)
Todos os números hexadecimais são representados com 4 posições pois a capacidade de cálculo do
DEBUG usa o tipo de dados WORD para armazenamento e processamento.
Exemplo3: “ Adição e Subtração com Estouro de capacidade”
Informar dois operandos em formato hexadecimal: H B000 A000
Resultado: 5000 1000
Pois: (B000 + A000 = 15000) e (B000 – A000 = 1000)
Na matemática real: (45.056 + 40.960 = 86.016) e (45.056 – 40.960 = 4096)
Exemplo 4: Representação de Valores Negativos
Informar dois operandos em formato hexadecimal: H 0005 0006
Resultado: 000B FFFF
Pois: (0005 + 0006 = 000B) e (0005 – 0006 = FFFF), em que FFFF é o número decimal -1
Na matemática real: (5 + 6 = 11) e (5 – 6 = –1)
Exemplo 5: “Prova do Exemplo 4”
Informar dois operandos em formato hexadecimal: H 0005 FFFF
Resultado: 0004 0006
Pois: (0005 + FFFF = 0004) e (0005 – FFFF = 0006)
Na matemática real: (5 + (–1) = 4 ) e (5 – (–1) = 6)
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
CÁLCULO EM CÓDIGO DE MÁQUINA
Exemplo 1: Adição de valores hexadecimais (01D8 = AX  AX + BX)
É necessário informar dois códigos para cada operação aritmética!
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0001
Digitar R
Digitar E 0100
Digitar 01
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
COMANDOS:
R  mostra o estado de todos os registradores e atribui valores aos registradores
E  permite a entrada de valores em um determinado endereço de memória.
E 0100
0D0B:0100 70.01
E 0101
0DAB:0101 61.D8
• 0D0B é o valor do segmento eleito pelo programa DEBUG
• 0100 e 0101 são os valores de deslocamento que nós informamos
• 01 e D8 são os códigos que representam a operação de adição (OPCODES),
portanto, 01D8 é o código correto (ADD em Assembly = ADD AX, BX)
• 70 e 61 são valores que existem na memória naquele momento, naquela
posição
Exemplo 2: Adição de valores hexadecimais (00D8 = AL  AL + BL)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0001
Digitar R
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar E 0100
Digitar 00
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 3: Adição de valores hexadecimais (02D8 = BL  BL + AL)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0001
Digitar R
Digitar E 0100
Digitar 02
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 4: Adição de valores hexadecimais (03D8 = BX  BX + AX)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0001
Digitar R
Digitar E 0100
Digitar 03
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 5: Subtração de Valores Hexadecimais (29D8 = AX  AX – BX)
Digitar R
Digitar R AX
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar 000A
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar 29
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 6: Subtração de Valores Hexadecimais (29D8 = AX  AX – BX)
Digitar R
Digitar R AX
Digitar 0008
Digitar R
Digitar R BX
Digitar 000A
Digitar R
Digitar E 0100
Digitar 29
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Obs.: FFFE = -2
Exemplo 7: Subtração de Valores Hexadecimais (28D8 = AL  AL – BL)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar 28
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar T
Digitar R
Digitar Q
Exemplo 8: Subtração de Valores Hexadecimais (2AD8 = BL  BL – AL)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar 2A
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 9: Subtração de Valores Hexadecimais (2BD8 = BX  BX – AX)
Digitar R
Digitar R AX
Digitar 000A
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar 2B
Digitar R
Digitar E 0101
Digitar D8
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 10: Multiplicação de Valores Hexadecimais (F7E3 = DX:AX  AX * BX)
Digitar R
Digitar R AX
Digitar 0005
Digitar R
Digitar R BX
Digitar 0003
Digitar R
Digitar E 0100
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar F7 E3
Digitar R
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 11: Multiplicação de Valores Hexadecimais (F7E3 = DX:AX  AX * BX)
Digitar R
Digitar R AX
Digitar 7D3C
Digitar R
Digitar R BX
Digitar 0100
Digitar R
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
A multiplicação de dois valores numéricos de 16 bits (word) pode resultar em um valor de
32 bits (double word). 7D3C = 32.060 em decimal, e 0100 = 256 em decimal. O resultado de 7D3C
* 0100 é maior que 16 bits. Portanto, uma parte do resultado é armazenado em AX e outra parte em
DX. Portanto, DX:AX  AX * BX, em que DX são os bits mais significativos e AX os menos
significativos: 007D3C00 (8.207.360).
Exemplo 12: Multiplicação de Valores Hexadecimais (F6E3 = AX  AL * BX)
Digitar R
Digitar R AX
Digitar 0005
Digitar R
Digitar R BX
Digitar 0003
Digitar R
Digitar E 0100
Digitar F6 E3
Digitar R
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Exemplo 13: Divisão de Valores Hexadecimais (F7F3 = DX:AX  AX /BX em que AX é o
quociente e DX é o resto)
Digitar R
Digitar R AX
Digitar 0009
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar F7 F3
Digitar R
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 14: Divisão de Valores Hexadecimais (F6F3 = AX  AL /BL em que AL é o
quociente e AH é o resto)
Digitar R
Digitar R AX
Digitar 0009
Digitar R
Digitar R BX
Digitar 0002
Digitar R
Digitar E 0100
Digitar F6 F3
Digitar R
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
Exemplo 15: Apresentação de Caracteres
Digitar R
Digitar R AX
Digitar 0200
Digitar R
Digitar R DX
Digitar 0040
Digitar R
Digitar E 0100 CD 21
Digitar R
Digitar G 0102
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar R
Digitar E 0102 CD 20
Digitar R
Digitar R IP
Digitar 0100
Digitar G
Digitar U
Digitar U 0100 0103
Digitar Q
AX e DX são os registradores responsáveis pela apresentação de um único caracter. AX 
AH = 02 e AL = 00. Esses códigos tem a finalidade de escrever o caractere no monitor. Em
DX você deve informar o código do caractere que quer que seja impresso. DX  DH = 00
e DL = 40
CD21: é o OPCODE de INTERRUPÇÃO que deve ser informado para que o monitor de
vídeo seja ativado
G: comando usado para executar a instrução de forma direta (e não passo a passo como o
comando T). Deve ser informado o ponto de deslocamento que ele deve ir (endereço de
parada da execução)
CD20: interrupção que finaliza o programa e retorna o comando para o S.O.
U: comando que lisa o código do programa criado
Exemplo 16: Apresentação de Caracteres
Digitar R
Digitar R AX
Digitar 0200
Digitar R
Digitar R DX
Digitar 0046
Digitar R
Digitar A 0100
Digitar INT 21
Digitar INT 20
Digitar ENTER
Digitar G
Digitar U
Digitar Q
A: comando utilizado para usar códigos em ASSEMBLY e não em código de máquina.
Forneça sempre um ponto inicial de armazenamento de código (um valor de deslocamento).
Exemplo 17: Movimentação de Dados
Digitar R
Digitar R AX
Digitar 1122 (AX = 1122 | AH = 11 | AL = 22)
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar R
Digitar R DX
Digitar AABB (DX = 1122 | DH = AA | DL = BB)
Digitar R
Digitar A 0100
Digitar MOV AH,DL (move o valor de DL para AH)
Digitar ENTER
Digitar T
Digitar G
Digitar R IP
Digitar 0100
Digitar A 0100
Digitar MOV AX,DX (move o valor de DX para AX)
Digitar T
Digitar G
Digitar A 0100
Digitar MOV AH,02 (move o valor 02 para AH  serviço de apresentação em vídeo)
Digitar MOV DL,41 (move o valor 41 para DL  representação do caractere A)
Digitar INT 21 (aciona a comunicação com o monitor de vídeo)
Digitar INT 20 (sinaliza a interrupção de programa pelo S.O.)
Digitar ENTER
Digitar R IP
Digitar 0100
Digitar G
Digitar Q
Exemplo 18: Apresentação de Sequência de Caracteres
Digitar E 0200 41 6C 6F 20 6D 75 6E 64 6F 21 24
Digitar A 0100
Digitar MOV AH,09
Digitar MOV DX, 0200
Digitar INT 21
Digitar INT 20
Digitar ENTER
Digitar G
Digitar U
Digitar D
Digitar D 0200
Digitar Q
0200: endereço onde se encontra a sequencia de caracteres
09: código usado para que uma string seja impressa
D: (dump) comando com o endereço do deslocamento desejado
$: símbolo que indica o fim da string – código 24
Exemplo 19: Apresentação de Valores Binários (mudança nos flags devido ao estouro)
Digitar R
Digitar R AX
Digitar FFFF
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar R BX
Digitar 0001
Digitar E 0100 01 D8
Digitar R
Digitar T
Digitar R
Digitar R AX
Digitar 0001
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Mudança nos registradores de FLAG: passa de NC para CY, em que NC significa NO
CARRY e CY significa CARRY, isto é, NC quando não há estouro, CY quando há.
Exemplo 20: Apresentação de Valores Binários (varredura bit a bit)
Digitar R
Digitar R BX
Digitar 00AA
Digitar R
Digitar A 0100
Digitar RCL BL, 1 (RCL: comando usado para escrever um número em formato binário)
Digitar R (Primeiro bit da direita para a esquerda. Retorna 1)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Segundo bit da direita para a esquerda. Retorna 0)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Terceiro bit da direita para a esquerda. Retorna 1)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Quarto bit da direita para a esquerda. Retorna 0)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Quinto bit da direita para a esquerda. Retorna 1)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar R (Sexto bit da direita para a esquerda. Retorna 0)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Sétimo bit da direita para a esquerda. Retorna 1)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R (Oitavo bit da direita para a esquerda. Retorna 0)
Digitar R IP
Digitar 0100
Digitar R
Digitar T
Digitar R
Digitar Q
RCL: move para a esquerda o ponteiro de bit dentro do registrador de estado CF,
percorrendo todos os bits existentes, a partir da primeira posição (zero) até a última. RCL
BL, 1 soma o valor 1 à parte mais baixa do registrador BX.
00AA = 10101010
RCL BL, 1  01010101 + 1
Exemplo 21: Apresentação de Valores Binários (varredura bit a bit) melhorado
Digitar R
Digitar R BX
Digitar 00AA
Digitar A 0100
Digitar MOV CX, 0008 (quantidade de vezes que o LOOP deverá ser executado)
Digitar RCL BL, 1
Digitar LOOP 0103 (usa o CX para armazenar o valor do contador. 0103 pois precisa voltar
nesse ponto)
Digitar INT 20
Digitar ENTER
Digitar T (várias vezes até que CX = 0000 – CX é decrementado!)
Digitar Q
Digitar DEBUG
Digitar R
Digitar R BX
Digitar 00AA
Digitar A 0100
Digitar MOV AH,02 (informa ao S.O. que deve imprimir um único caractere armazenado
em DL)
Digitar MOV CX,0008 (valor do contador do laço. CX é sempre um laço decrescente)
Digitar MOV DL,00 (limpa o registrador toda vez que essa linha for executada)
Digitar RCL BL,1 (movimentação bit a bit do byte)
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098
Digitar ADC DL, 30 (faz a adição de 30 ao valor existente no DL mudando o Carry Flag. 30
é o caractere 0.)
Digitar INT 21 (interrupção para apresentação no monitor)
Digitar LOOP 0105 (inicio do loop)
Digitar INT 20 (retorna o controle para o S.O.)
Digitar ENTER
Digitar G (executa)
Centro de Ciências Exatas e Sociais Aplicadas – CCESA.
Curso de Bacharelado em Ciência da Computação.
Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP
17011-160 - PABX (14) 2107-7000 – Ramal: 7098

Mais conteúdo relacionado

Semelhante a ASSEMBLY - AULA PRÁTICA

Semelhante a ASSEMBLY - AULA PRÁTICA (9)

Aula 05 sistemas de numeração
Aula 05   sistemas de numeraçãoAula 05   sistemas de numeração
Aula 05 sistemas de numeração
 
Linguagem C (Parte 1)
Linguagem C (Parte 1)Linguagem C (Parte 1)
Linguagem C (Parte 1)
 
Pro2 03p
Pro2 03pPro2 03p
Pro2 03p
 
Pro2 03p
Pro2 03pPro2 03p
Pro2 03p
 
Pro2 03p
Pro2 03pPro2 03p
Pro2 03p
 
eletronica digital
eletronica digitaleletronica digital
eletronica digital
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Aula24
Aula24Aula24
Aula24
 
Aulas+teorico+praticas+ +exercicios+até+boole
Aulas+teorico+praticas+ +exercicios+até+booleAulas+teorico+praticas+ +exercicios+até+boole
Aulas+teorico+praticas+ +exercicios+até+boole
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Elaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...
 

Último

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 

Último (20)

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 

ASSEMBLY - AULA PRÁTICA

  • 1. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 ASSEMBLY – AULA PRÁTICA 1. Entrar no programa CMD.EXE 2. Digitar CD.. e apertar enter 3. Digitar novamente CD.. e apertar enter 4. Digitar DEBUG e apertar enter Obs.: para sair do programa DEBUG, basta digitar a tecla Q e apertar enter ARITMÉTICA EM MODO HEXADECIMAL Não é possível trabalhar com números decimais Exemplo1: Adição e Subtração Informar os dois operandos em formato hexadecimal: H 0005 0001 Resultado: 0006 0004 Pois: (0005 + 0001 = 0006) e (0005 – 0001 = 0004) Na matemática real: (5 + 1 = 6) e (5 – 1 = 4) Exemplo 2: Adição e Subtração Informar dois operandos em formato hexadecimal: H 0009 0001 Resultado: 000A 0008 Pois: (0009 + 0001) = 000A e (0009 – 0001 = 0008) Na matemática real: (9 + 1 = 10) e (9 – 1 = 8) Todos os números hexadecimais são representados com 4 posições pois a capacidade de cálculo do DEBUG usa o tipo de dados WORD para armazenamento e processamento. Exemplo3: “ Adição e Subtração com Estouro de capacidade” Informar dois operandos em formato hexadecimal: H B000 A000 Resultado: 5000 1000 Pois: (B000 + A000 = 15000) e (B000 – A000 = 1000) Na matemática real: (45.056 + 40.960 = 86.016) e (45.056 – 40.960 = 4096) Exemplo 4: Representação de Valores Negativos Informar dois operandos em formato hexadecimal: H 0005 0006 Resultado: 000B FFFF Pois: (0005 + 0006 = 000B) e (0005 – 0006 = FFFF), em que FFFF é o número decimal -1 Na matemática real: (5 + 6 = 11) e (5 – 6 = –1) Exemplo 5: “Prova do Exemplo 4” Informar dois operandos em formato hexadecimal: H 0005 FFFF Resultado: 0004 0006 Pois: (0005 + FFFF = 0004) e (0005 – FFFF = 0006) Na matemática real: (5 + (–1) = 4 ) e (5 – (–1) = 6)
  • 2. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 CÁLCULO EM CÓDIGO DE MÁQUINA Exemplo 1: Adição de valores hexadecimais (01D8 = AX  AX + BX) É necessário informar dois códigos para cada operação aritmética! Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0001 Digitar R Digitar E 0100 Digitar 01 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q COMANDOS: R  mostra o estado de todos os registradores e atribui valores aos registradores E  permite a entrada de valores em um determinado endereço de memória. E 0100 0D0B:0100 70.01 E 0101 0DAB:0101 61.D8 • 0D0B é o valor do segmento eleito pelo programa DEBUG • 0100 e 0101 são os valores de deslocamento que nós informamos • 01 e D8 são os códigos que representam a operação de adição (OPCODES), portanto, 01D8 é o código correto (ADD em Assembly = ADD AX, BX) • 70 e 61 são valores que existem na memória naquele momento, naquela posição Exemplo 2: Adição de valores hexadecimais (00D8 = AL  AL + BL) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0001 Digitar R
  • 3. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar E 0100 Digitar 00 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 3: Adição de valores hexadecimais (02D8 = BL  BL + AL) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0001 Digitar R Digitar E 0100 Digitar 02 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 4: Adição de valores hexadecimais (03D8 = BX  BX + AX) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0001 Digitar R Digitar E 0100 Digitar 03 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 5: Subtração de Valores Hexadecimais (29D8 = AX  AX – BX) Digitar R Digitar R AX
  • 4. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar 000A Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar 29 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 6: Subtração de Valores Hexadecimais (29D8 = AX  AX – BX) Digitar R Digitar R AX Digitar 0008 Digitar R Digitar R BX Digitar 000A Digitar R Digitar E 0100 Digitar 29 Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Obs.: FFFE = -2 Exemplo 7: Subtração de Valores Hexadecimais (28D8 = AL  AL – BL) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar 28 Digitar R Digitar E 0101 Digitar D8 Digitar R
  • 5. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar T Digitar R Digitar Q Exemplo 8: Subtração de Valores Hexadecimais (2AD8 = BL  BL – AL) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar 2A Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 9: Subtração de Valores Hexadecimais (2BD8 = BX  BX – AX) Digitar R Digitar R AX Digitar 000A Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar 2B Digitar R Digitar E 0101 Digitar D8 Digitar R Digitar T Digitar R Digitar Q Exemplo 10: Multiplicação de Valores Hexadecimais (F7E3 = DX:AX  AX * BX) Digitar R Digitar R AX Digitar 0005 Digitar R Digitar R BX Digitar 0003 Digitar R Digitar E 0100
  • 6. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar F7 E3 Digitar R Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q Exemplo 11: Multiplicação de Valores Hexadecimais (F7E3 = DX:AX  AX * BX) Digitar R Digitar R AX Digitar 7D3C Digitar R Digitar R BX Digitar 0100 Digitar R Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q A multiplicação de dois valores numéricos de 16 bits (word) pode resultar em um valor de 32 bits (double word). 7D3C = 32.060 em decimal, e 0100 = 256 em decimal. O resultado de 7D3C * 0100 é maior que 16 bits. Portanto, uma parte do resultado é armazenado em AX e outra parte em DX. Portanto, DX:AX  AX * BX, em que DX são os bits mais significativos e AX os menos significativos: 007D3C00 (8.207.360). Exemplo 12: Multiplicação de Valores Hexadecimais (F6E3 = AX  AL * BX) Digitar R Digitar R AX Digitar 0005 Digitar R Digitar R BX Digitar 0003 Digitar R Digitar E 0100 Digitar F6 E3 Digitar R Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q
  • 7. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Exemplo 13: Divisão de Valores Hexadecimais (F7F3 = DX:AX  AX /BX em que AX é o quociente e DX é o resto) Digitar R Digitar R AX Digitar 0009 Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar F7 F3 Digitar R Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q Exemplo 14: Divisão de Valores Hexadecimais (F6F3 = AX  AL /BL em que AL é o quociente e AH é o resto) Digitar R Digitar R AX Digitar 0009 Digitar R Digitar R BX Digitar 0002 Digitar R Digitar E 0100 Digitar F6 F3 Digitar R Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q Exemplo 15: Apresentação de Caracteres Digitar R Digitar R AX Digitar 0200 Digitar R Digitar R DX Digitar 0040 Digitar R Digitar E 0100 CD 21 Digitar R Digitar G 0102
  • 8. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar R Digitar E 0102 CD 20 Digitar R Digitar R IP Digitar 0100 Digitar G Digitar U Digitar U 0100 0103 Digitar Q AX e DX são os registradores responsáveis pela apresentação de um único caracter. AX  AH = 02 e AL = 00. Esses códigos tem a finalidade de escrever o caractere no monitor. Em DX você deve informar o código do caractere que quer que seja impresso. DX  DH = 00 e DL = 40 CD21: é o OPCODE de INTERRUPÇÃO que deve ser informado para que o monitor de vídeo seja ativado G: comando usado para executar a instrução de forma direta (e não passo a passo como o comando T). Deve ser informado o ponto de deslocamento que ele deve ir (endereço de parada da execução) CD20: interrupção que finaliza o programa e retorna o comando para o S.O. U: comando que lisa o código do programa criado Exemplo 16: Apresentação de Caracteres Digitar R Digitar R AX Digitar 0200 Digitar R Digitar R DX Digitar 0046 Digitar R Digitar A 0100 Digitar INT 21 Digitar INT 20 Digitar ENTER Digitar G Digitar U Digitar Q A: comando utilizado para usar códigos em ASSEMBLY e não em código de máquina. Forneça sempre um ponto inicial de armazenamento de código (um valor de deslocamento). Exemplo 17: Movimentação de Dados Digitar R Digitar R AX Digitar 1122 (AX = 1122 | AH = 11 | AL = 22)
  • 9. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar R Digitar R DX Digitar AABB (DX = 1122 | DH = AA | DL = BB) Digitar R Digitar A 0100 Digitar MOV AH,DL (move o valor de DL para AH) Digitar ENTER Digitar T Digitar G Digitar R IP Digitar 0100 Digitar A 0100 Digitar MOV AX,DX (move o valor de DX para AX) Digitar T Digitar G Digitar A 0100 Digitar MOV AH,02 (move o valor 02 para AH  serviço de apresentação em vídeo) Digitar MOV DL,41 (move o valor 41 para DL  representação do caractere A) Digitar INT 21 (aciona a comunicação com o monitor de vídeo) Digitar INT 20 (sinaliza a interrupção de programa pelo S.O.) Digitar ENTER Digitar R IP Digitar 0100 Digitar G Digitar Q Exemplo 18: Apresentação de Sequência de Caracteres Digitar E 0200 41 6C 6F 20 6D 75 6E 64 6F 21 24 Digitar A 0100 Digitar MOV AH,09 Digitar MOV DX, 0200 Digitar INT 21 Digitar INT 20 Digitar ENTER Digitar G Digitar U Digitar D Digitar D 0200 Digitar Q 0200: endereço onde se encontra a sequencia de caracteres 09: código usado para que uma string seja impressa D: (dump) comando com o endereço do deslocamento desejado $: símbolo que indica o fim da string – código 24 Exemplo 19: Apresentação de Valores Binários (mudança nos flags devido ao estouro) Digitar R Digitar R AX Digitar FFFF
  • 10. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar R BX Digitar 0001 Digitar E 0100 01 D8 Digitar R Digitar T Digitar R Digitar R AX Digitar 0001 Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Mudança nos registradores de FLAG: passa de NC para CY, em que NC significa NO CARRY e CY significa CARRY, isto é, NC quando não há estouro, CY quando há. Exemplo 20: Apresentação de Valores Binários (varredura bit a bit) Digitar R Digitar R BX Digitar 00AA Digitar R Digitar A 0100 Digitar RCL BL, 1 (RCL: comando usado para escrever um número em formato binário) Digitar R (Primeiro bit da direita para a esquerda. Retorna 1) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Segundo bit da direita para a esquerda. Retorna 0) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Terceiro bit da direita para a esquerda. Retorna 1) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Quarto bit da direita para a esquerda. Retorna 0) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Quinto bit da direita para a esquerda. Retorna 1) Digitar R IP Digitar 0100 Digitar R Digitar T
  • 11. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar R (Sexto bit da direita para a esquerda. Retorna 0) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Sétimo bit da direita para a esquerda. Retorna 1) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R (Oitavo bit da direita para a esquerda. Retorna 0) Digitar R IP Digitar 0100 Digitar R Digitar T Digitar R Digitar Q RCL: move para a esquerda o ponteiro de bit dentro do registrador de estado CF, percorrendo todos os bits existentes, a partir da primeira posição (zero) até a última. RCL BL, 1 soma o valor 1 à parte mais baixa do registrador BX. 00AA = 10101010 RCL BL, 1  01010101 + 1 Exemplo 21: Apresentação de Valores Binários (varredura bit a bit) melhorado Digitar R Digitar R BX Digitar 00AA Digitar A 0100 Digitar MOV CX, 0008 (quantidade de vezes que o LOOP deverá ser executado) Digitar RCL BL, 1 Digitar LOOP 0103 (usa o CX para armazenar o valor do contador. 0103 pois precisa voltar nesse ponto) Digitar INT 20 Digitar ENTER Digitar T (várias vezes até que CX = 0000 – CX é decrementado!) Digitar Q Digitar DEBUG Digitar R Digitar R BX Digitar 00AA Digitar A 0100 Digitar MOV AH,02 (informa ao S.O. que deve imprimir um único caractere armazenado em DL) Digitar MOV CX,0008 (valor do contador do laço. CX é sempre um laço decrescente) Digitar MOV DL,00 (limpa o registrador toda vez que essa linha for executada) Digitar RCL BL,1 (movimentação bit a bit do byte)
  • 12. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098 Digitar ADC DL, 30 (faz a adição de 30 ao valor existente no DL mudando o Carry Flag. 30 é o caractere 0.) Digitar INT 21 (interrupção para apresentação no monitor) Digitar LOOP 0105 (inicio do loop) Digitar INT 20 (retorna o controle para o S.O.) Digitar ENTER Digitar G (executa)
  • 13. Centro de Ciências Exatas e Sociais Aplicadas – CCESA. Curso de Bacharelado em Ciência da Computação. Rua Irmã Arminda, 10-50. Jardim Brasil, Bauru/SP. CEP 17011-160 - PABX (14) 2107-7000 – Ramal: 7098