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

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

Interface Hardware/Software

Apresentações semelhantes


Apresentação em tema: "Interface Hardware/Software"— Transcrição da apresentação:

1 Interface Hardware/Software
Centro de Informática - UFPE Paulo Maciel

2 Interrupções do BIOS INT 10h - Vídeo INT 13h – DISCO INT 16h - Teclado
Interrupção do BIOS que trata o vídeo. Os serviços são passados através do registrador AH. INT 13h – DISCO INT 16h - Teclado INT 17h – Impressora INT 1Ah – Ler relógio/data ou atualiza relógio/data.

3 INT 10h - Vídeo Ajusta o Modo de Vídeo Chama-se com: AH = 00h
AL = Modo Recebe-se em: nenhum Modo (em AL) Tipo Tamanho Cor Texto 40 x 25 Off 1 On 2 80 x 25 3 4 Gráficos 320 x 200 5 6 640 x 200 7

4 Ajusta formato do cursor
INT 10h - Vídeo Ajusta formato do cursor Chama-se com: AH = 01h CL = Linha Inicial CH = Linha Final Recebe-se em: nenhum Número de linhas = 7

5 INT 10h - Vídeo Posiciona o cursor Chama-se com: AH = 02h DL = Coluna
DH = Linha BH = Número da página A tela monocromática (modo 7) possui somente uma página de texto. Recebe-se em: nenhum

6 INT 10h - Vídeo Ler posição do cursor Chama-se com: AH = 03h
BH = Número da página Recebe-se em: DL = Linha Inicial DH = ColunaInicial CX = Tipo do Cursor

7 INT 10h - Vídeo Selecionar página Chama-se com: AH = 05h AL = Página
Recebe-se em: nenhum

8 INT 10h - Vídeo Rolar para cima a janela de vídeo Chama-se com:
AH = 06 AL = número de linhas a serem roladas (Zero (0) rola todas) CH = linha do canto superior esquerdo CL = coluna do canto superior esquerdo DH = linha do canto inferior direito DL = coluna do canto inferior direito BH = atributo a ser usado nas novas linhas Recebe-se em: nenhum

9 INT 10h - Vídeo Rolar para baixo a janela de vídeo Chama-se com:
AH = 07 AL = número de linhas a serem roladas (Zero (0) rola todas). CH = linha do canto superior esquerdo CL = coluna do canto superior esquerdo DH = linha do canto inferior direito DL = coluna do canto inferior direito BH = atributo a ser usado nas novas linhas Recebe-se em: nenhum

10 Ler o caracter e o atributo da posição do cursor
INT 10h - Vídeo Ler o caracter e o atributo da posição do cursor Chama-se com: AH = 08h BH = Número da Página Recebe-se em: Al = Caráter AH = Atributo do caracter

11 Escreve caracter e atributo
INT 10h - Vídeo Escreve caracter e atributo Chama-se com: AH = 09h BH = Número da Página Al = Caracter AH = Atributo do carácter CX = Número de repetições Recebe-se em: nenhum

12 INT 10h - Vídeo Escreve caracter Chama-se com: AH = 10
BH = número da página AL = caracter CX = número de repetições Recebe-se em: nenhum

13 Escreve um ponto (pixel)
INT 10h - Vídeo Escreve um ponto (pixel) Chama-se com: AH = 12 AL = cor do pixel. BH = página CX = coordenada X (coluna) DX = coordenada Y (linha) Recebe-se em: nenhum

14 INT 10h - Vídeo Ler um ponto (pixel) Chama-se com: AH = 13 BH = página
CX = coordenada X (coluna) DX = coordenada Y (linha) Recebe-se em: AL = cor do pixel.

15 INT 10h - Vídeo Obtém o modo do vídeo Chama-se com: AH = 15
Recebe-se em: AH = 00h AL = Modo BH = página

16 Reseta sistema de disco
INT 13h - DISCO Reseta sistema de disco Chama-se com: AH = 00 DL = Número do Driver Recebe-se em: CF = 0 Sem erro 1 Erro AH = Código do erro Código do Erro 00h - sem erro 01h - comando inválido 02h - “address mark” não encontrado 03h - disco protegido 04h - setor não encontrado 05h - falha de reset 06h - disco removido 08h - erro de DMA 09h - erro de limite de DMA 10h - setor com erro 20h - falha do controlador 40h - trilha não encontrada 80h - time-out

17 Obtém status INT 13h - DISCO Chama-se com: AH = 01 Recebe-se em:
AH = Código do erro

18 Ler/Escrever/Verificar/Formatar
INT 13h - DISCO Ler/Escrever/Verificar/Formatar Chama-se com: AH=02h/03h/04h/05h AL= número de setores CH= número do cilindro CL= número do setor (1, se AH=5) DH= número da cabeça DL= número da unidade ES:BX= buffer Recebe-se em: CF = 0 Sem erro 1 Erro AH = Código do erro

19 INT 16h - Teclado Aguarda a digitação de um caracter e o lê
Chama-se com: AH = 0h Se um caractere ASCII foi digitado Recebe-se em: AH = código de varredura AL = código ASCII Se um caractere especial foi digitado AH = código ASCII estendido AL = 00h

20 INT 16h - Teclado Verifica se um caracter está pronto Chama-se com:
AH = 01h Se um caractere ASCII foi digitado Recebe-se em: ZF=0 AH = Código de varredura AL =Código ASCII Caso contrário, ZF=1

21 INT 16h - Teclado Obtêm status do teclado Chama-se com: AH = 02h
Recebe-se em: AL = status 01h - shift direito ativo 02h - shift esquerdo ativo 04h - crtl ativo 08h - alt ativo 10h - num lock ativo 20h - scroll lock ativo 40h - caps lock ativo 80h - inserção ativa

22 Inicializa impressora
INT 17h - Impressora Inicializa impressora Chama-se com: AH = 01h DX = Número da impressora (Porta paralela: 0..2) Recebe-se em: Nenhum

23 INT 17h - Impressora Obtêm status da impressora Chama-se com: AH = 02h
DX = Número da impressora Recebe-se em: AH = status 01h - time-out 08h - erro de I/O 10h - impressora selecionada 20h - sem papel 40h - reconhecimento 80h - impressora desocupada

24 Imprime caractere INT 17h - Impressora Chama-se com: AH = 00h
AL = caractere DX = número da impressora Recebe-se em: AH = status

25 INT 1Ah Interrupção Ler o Relógio; Atualizar o Relógio; Ler a Data;
Atualizar a Data.

26 Ler o contador do relógio.
Interrupção - INT 1Ah Ler o contador do relógio. Chama-se com: AH = 00h Recebe-se em: AL = 0, se não se passaram 24h da última leitura. CX = Parte de alta-ordem do contador. DX = Parte de baixa-ordem do contador.

27 Atualizar o contador do relógio.
Interrupção - INT 1Ah Atualizar o contador do relógio. Chama-se com: AH = 01h. CX = Parte de alta-ordem do contador. DX = Parte de baixa-ordem do contador.

28 Ler o relógio. Interrupção - INT 1Ah Chama-se com: AH = 02h
Recebe-se em: CH = Horas em BCD. CL = Minutos em BCD. DH = Segundos em BCD. DL = Milesegundos em BCD.

29 Ler a data. Interrupção - INT 1Ah Chama-se com: AH = 04h Recebe-se em:
CH = Século (19, 20,21) em BCD. CL = Ano em BCD. DH = Mês em BCD. DL = Dia em BCD.

30 Atualizar a data. Interrupção - INT 1Ah Chama-se com: AH = 05h.
CH = Século (19,20,21) em BCD. CL = Ano em BCD. DH = Mês em BCD. DL = Dia em BCD.

31 Interrupção INT 21h Chamar uma diversidade de funções do DOS.

32 Interrupção - INT 21h Leitura do teclado com eco. Chama-se com:
AH = 01h Se um caractere ASCII foi digitado. Recebe-se em: AL = código ASCII. Se um caracter não foi digitado, aguarda. Exemplo.: char db ? ..... mov ah,1 int 21h mov char,al

33 Mostra um caracter em tela.
Interrupção - INT 21h Mostra um caracter em tela. Chama-se com: AH = 02h DL = código ASCII do caracter. Exemplo.: mov ah,02 mov dl,´*´ int 21h

34 Interrupção - INT 21h Leitura de uma entrada auxiliar (serial 1).
Chama-se com: AH = 03h. Recebe-se em: AL = código ASCII. Se um caracter não foi digitado, aguarda. Exemplo.: char db ? .... mov ah,3 int 21h mov char,al

35 Transmite caracter via saída auxiliar.
Interrupção - INT 21h Transmite caracter via saída auxiliar. Chama-se com: AH = 04h DL = código ASCII do caracter. Exemplo.: mov ah,04 mov dl,´*´ int 21h

36 Envia caracter para a impressora.
Interrupção - INT 21h Envia caracter para a impressora. Chama-se com: AH = 05h DL = código ASCII do caracter. Exemplo.: mov ah,05 mov dl,´*´ int 21h

37 Interrupção - INT 21h Leitura do teclado sem eco (sem filtro).
Chama-se com: AH = 07h. Se um caractere ASCII foi digitado . Recebe-se em: AL = código ASCII. Se um caracter não foi digitado, aguarda. Não é sensível a control-c e control-break Exemplo.: char db ? ..... mov ah,7 int 21h mov char,al

38 Interrupção - INT 21h Leitura do teclado sem eco. Chama-se com:
AH = 08h. Se um caractere ASCII foi digitado . Recebe-se em: AL = código ASCII. Se um caracter não foi digitado, aguarda. Sensível a control-c e control-break Exemplo.: char db ? .... mov ah,8 int 21h mov char,al

39 Interrupção - INT 21h Leitura do teclado com armazenamento no buffer.
Chama-se com: AH = 0Ah DS:DX = apontam para o endereço do início do buffer. Formato do buffer: Byte Conteúdo Máximo número de carateres a serem lidos. Número de caracteres que de fato foram lidos. Cadeia de caracteres lida. Ex.: buff db 81 db 0 db 81 dup(0) mov ah,0ah mov dx,seg buff mov ds,dx lea dx,buff int 21h

40 Interrupção - INT 21h Mostra cadeia de caracter na tela. Chama-se com:
AH = 09h. DS:DX = apontam para o endereço do início da cadeia de caracter. A cadeia dever ser finalizada com ´$´. Exemplo.: mens db ´Bom Dia´,´$´ .... lea dx, mens mov ah,9 int 21h

41 Interrupção - INT 21h Lê a data do sistema. Chama-se com: AH = 2Ah.
Recebe-se em: CX = Ano. DH = Mês (1-12). DL = Dia ( 1-31). AL = Dia da semana (0= dom, …7=sab).

42 Atualiza a data do sistema.
Interrupção - INT 21h Atualiza a data do sistema. Chama-se com: AH = 2Bh. CX = ano. DH = Mês (1-12). DL = Dia ( 1-31). Recebe-se em: AL = 0, se definido com sucesso. AL = FFh, caso contrário.

43 Lê o tempo do sistema. Interrupção - INT 21h Chama-se com: AH = 2Ch.
Recebe-se em: CH = Hora (0 – 23). CL = Minutos (0-59). DH = Segundos ( 0-59). DL = Milisegundos (0 – 99).

44 Interrupção - INT 21h Atualiza o tempo do sistema. Chama-se com:
AH = 2Dh. CH = Hora (0 – 23). CL = Minutos (0-59). DH = Segundos ( 0-59). DL = Milisegundos (0 – 99). Recebe-se em: AL = 0, se definido com sucesso AL = FFh, caso contrário.

45 Finalização do programa.
Interrupção - INT 21h Finalização do programa. Chama-se com: AH = 4Ch. Exemplo.: mov ax,4c00h int 21h ; Finalização do programa.

46 Interrupção - INT 21h Cria um arquivo. EX.:
Chama-se com: AH = 3Ch CX = atributo. Bit Significado 0 somente leitura 1 invisível 2 sistema DS:DX apontam para o endereço que contem o caminho (string terminada por 0) e o nome do arquivo a ser criado. Retorno: CF = 0 e AX = Manipulador, se sucesso. CF = 1 e AX = Código de erro, caso contrário. EX.: fname db ´C:\MYDIR\MYFILE.DAT´,0 fhandle dw ? mov ah,3ch xor cx,cx; atributo normal mov dx,seg fname mov ds,dx lea dx,fname int 21h jc erro mov fhandle,ax

47 Interrupção - INT 21h Abrir arquivo EX.:
Chama-se com: AH = 3Dh AL = modo de acesso 0 – leitura 1 – escrita 2 – leitura e escrita DS:DX apontam para o endereço que contem o caminho (string terminada por 0) e o nome do arquivo a ser criado. Retorno: CF = 0 e AX = manipulador, se sucesso. CF = 1 e AX = código de erro, caso contrário. EX.: fname db ´C:\MYDIR\MYFILE.DAT´,0 fhandle dw ? mov ah,3dh mov al,2; leitura e escrita mov dx,seg fname mov ds,dx lea dx,fname int 21h jc erro mov fhandle,ax

48 Interrupção - INT 21h Fechar arquivo EX.: fhandle dw ? mov ah,3Eh
Chama-se com: AH = 3Eh. BX = manipulador. Retorno CF = 0, se sucesso. CF = 1, caso contrário. EX.: fhandle dw ? mov ah,3Eh mov bx,fhandle int 21h jc erro

49 Interrupção - INT 21h Ler arquivo jl done Exemplo.: fhandle dw ?
Chama-se com: AH = 3Fh. BX = manipulador. CX = número de bytes a ser lido. DS:DX = endereço inicial do buffer. Retorno: CF = 0, se sucesso. AX = bytes lidos. CF = 1, caso contrário. AX = código de erro. Exemplo.: fhandle dw ? buff db 1024 dup(?) mov ah,3Fh mov dx, seg buff mov ds,dx lea dx,buff mov bx,fhandle mov cx,1024 int 21h jc erro cmp ax,cx jl done

50 Interrupção - INT 21h Escrever em arquivo EX.: fhandle dw ?
Chama-se com: AH = 40h. BX = manipulador. CX = número de bytes a ser escrito. DS:DX = endereço inicial do buffer. Retorno: CF = 0, se sucesso. AX = bytes escritos. CF = 1, caso contrário. AX = código de erro. EX.: fhandle dw ? buff db 1024 dup(1) mov ah,40h mov dx, seg buff mov ds,dx lea dx,buff mov bx,fhandle mov cx,1024 int 21h jc erro cmp ax,cx jl done

51 Interrupção - INT 21h Apaga arquivo EX.:
Chama-se com: AH = 41h DS:DX apontam para o endereço que contem o caminho (string terminada por 0) e o nome do arquivo a ser apagado. Retorno: CF = 0 , se sucesso. CF = 1 e AX = código de erro, caso contrário. EX.: fname db ´C:\MYDIR\MYFILE.DAT´,0 mov ah,41h mov dx,seg fname mov ds,dx lea dx,fname int 21h jc erro

52 Interrupção - INT 21h EX.: fhandle dw ? mov ah,42h mov al,2h
Posicionar Ponteiro de Arquivo Chama-se com: AH = 42h BX = manipulador. AL = método de posicionamento. CX:DX = deslocamento. Retorno: CF = 0, se sucesso. DX:AX = nova posição. CF = 1, caso contrário. AX = código de erro. Método (absoluto) Começo do arquivo. Relativo a posição atual. (absoluto) Fim do arquivo. EX.: fhandle dw ? mov ah,42h mov al,2h mov bx,fhandle mov cx,0 Mov dx,1024 int 21h jc erro


Carregar ppt "Interface Hardware/Software"

Apresentações semelhantes


Anúncios Google