A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler.

Apresentações semelhantes


Apresentação em tema: "A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler."— Transcrição da apresentação:

1 A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler

2 R OTEIRO Projeto DOS DOSBox HelpCC TASM Exemplos

3 P ROJETO Todo em Assembly Pelos menos 5 segundos Tecla de saída Utilizar o TASM Proibido: Gerar código a partir de outra linguagem Assembly inline

4 DOS – D ISK O PERATING S YSTEM Interface de linha de comando Interpretador de comandos: command.com Versão mais conhecida MS-DOS

5 DOS - C OMANDOS dir/w : exibe lista de arquivos md : criar pasta cd : entrar numa pasta rd : excluir uma pasta cls : limpar tela date : data time : tempo echo : exibir conteúdo na tela help : relação de comandos

6 DOSB OX Emulador de x86 com DOS Suporte a várias plataformas: Linux, Windows, Mac Limitações de acesso nos computadores do GRAD

7 DOSB OX Após a instalação digite os comandos mount c c:\ c: dir/w

8 H ELP CC Auxiliar no desenvolvimento Instruções Interrupções

9 TASM – T URBO A SSSEMBLER Assembler Turbo Linker Responsável por combinar vários objetos gerados por um compilador em um executável (.exe) Uso: tasm.asm tlink.obj.exe sm_aula.rar sm_aula.rar

10 E XEMPLO 1.model small.stack.data HelloMessage DB 'Hello, World!',13,10,'$'.code start: mov mov ds, ax mov ah, 9 mov dx, OFFSET HelloMessage int 21h mov ah, 4ch int 21h end start

11 E XEMPLO 2.model small.stack.code start: mov al, 13h int 10h xor ax, ax loop1: mov ah, 01h int 16h cmp al, 71h je Saida jmp loop1 Saida: xor ax, ax mov al, 0 int 21h end start

12 E XEMPLO 3.model small.stack.data.code start: mov ax, 012h int 10h xor ax, ax xor bx, bx ponto: mov ax,0A000h mov es,ax mov dx,03C4h mov ax,0202h out dx,ax mov di,0 mov cx,38400 ;(640 * 480)/8 = mov ax,0FFh rep stosb xor ax, ax mov ah, 01h int 16h cmp al, 71h je Saida jmp ponto Saida: xor ax, ax mov al, 0 int 21h end start

13 E XEMPLO 4.model small.stack.data.code start: mov ax, 012h int 10h xor ax, ax xor bx, bx ponto: xor ax, ax xor bx, bx xor cx, cx xor dx, dx mov ax,0A000h mov es,ax mov dx,03C4h mov ax,0102h out dx,ax mov di,0 mov cx,38400 mov ax,0FFh rep stosb mov bx, 200 loopDelay: push dx ax mov dx, 03DAh loop1: in al, dx test al, 8 jnz loop1 loop2: in al, dx test al, 8 jz loop2 pop ax dx dec bx cmp bx, 0 jne loopDelay xor ax, ax xor bx, bx xor cx, cx xor dx, dx mov ax,0A000h mov es,ax mov dx,03C4h mov ax,0F02h out dx,ax mov di,0 mov cx,38400 mov ax,0FFh rep stosb mov bx, 200 loopDelay1: push dx ax mov dx, 03DAh loop11: in al, dx test al, 8 jnz loop11 loop21: in al, dx test al, 8 jz loop21 pop ax dx dec bx cmp bx, 0 jne loopDelay1 xor ax, ax mov ah, 01h int 16h cmp al, 71h je Saida jmp ponto Saida: xor ax, ax mov al, 0 int 21h end start

14 R EFERÊNCIAS de_assembly/ de_assembly/ la_teclado_video.pdf la_teclado_video.pdf


Carregar ppt "A ULA P RÁTICA - A SSEMBLY Ciro Luiz Araujo Ceissler."

Apresentações semelhantes


Anúncios Google