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

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

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

Apresentações semelhantes


Apresentação em tema: "Interface Hardware/Software Centro de Informática - UFPE Paulo Maciel"— 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 –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. 2

3 INT 10h - Vídeo Ajusta o Modo de Vídeo –Chama-se com: AH = 00h AL = Modo –Recebe-se em: nenhum 3 Modo (em AL)TipoTamanhoCor 0Texto40 x 25Off 1Texto40 x 25On 2Texto80 x 25Off 3Texto80 x 25On 4Gráficos320 x 200On 5Gráficos320 x 200Off 6Gráficos640 x 200Off 7Texto80 x 25Off

4 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 4

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 5

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 6

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

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 8

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 9

10 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 10

11 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 11

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 12

13 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 13

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. 14

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 15

16 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 16 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 INT 13h - DISCO Obtém status –Chama-se com: AH = 01 –Recebe-se em: AH = Código do erro 17

18 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 18 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 –Recebe-se em: AH = código ASCII estendido AL = 00h 19

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 20

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 21

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

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 23

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

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

26 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. 26

27 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. 27

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

29 Interrupção - INT 1Ah Ler a data. –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. 29

30 Interrupção - INT 1Ah Atualizar a data. –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. 30

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

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 32

33 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 33

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 34

35 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 35

36 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 36

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 37

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 38

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 0 Máximo número de carateres a serem lidos. 1 Número de caracteres que de fato foram lidos. 2+ Cadeia de caracteres lida. –Ex.: buff db 81 db0 db81 dup(0) mov ah,0ah mov dx,seg buff mov ds,dx lea dx,buff int 21h 39

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 40

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). 41

42 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. 42

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

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. 44

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

46 Interrupção - INT 21h Cria um arquivo. –Chama-se com: AH = 3Ch CX = atributo. BitSignificado 0 somente leitura 1invisível 2sistema … 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.: fnamedb ´C:\MYDIR\MYFILE.DAT´,0 fhandledw? 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 46

47 Interrupção - INT 21h Abrir arquivo –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.: fnamedb ´C:\MYDIR\MYFILE.DAT´,0 fhandledw? 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 47

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

49 Interrupção - INT 21h Ler arquivo –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.: fhandledw? buffdb1024 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 49

50 Interrupção - INT 21h Escrever em arquivo –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.: fhandledw? buff db1024 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 50

51 Interrupção - INT 21h Apaga arquivo –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.: fnamedb ´C:\MYDIR\MYFILE.DAT´,0 mov ah,41h mov dx,seg fname mov ds,dx lea dx,fname int 21h jc erro 51

52 Interrupção - INT 21h 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 0 - (absoluto) Começo do arquivo. 1 - Relativo a posição atual. 2 - (absoluto) Fim do arquivo. EX.: fhandledw? mov ah,42h mov al,2h mov bx,fhandle mov cx,0 Mov dx,1024 int 21h jc erro 52


Carregar ppt "Interface Hardware/Software Centro de Informática - UFPE Paulo Maciel"

Apresentações semelhantes


Anúncios Google