Laborator 5

Actionarea buzz-erului

PAGE 70,166

;------ CONSTANTE --------------------

MEM_POS = 0800H

DS_SEG = 0080H

IKEYBOARD = 08H

IPAR = 12H

IBUZZER = 10H

ITIMER = 0DH

IDIS = 09H

IDIS_STR = 0BH

;----- CODE SEGMENT

CODE SEGMENT

ASSUME CS:CODE, DS:CODE

ORG 0H

START: MOV AX,DS_SEG ;initializare

MOV DS,AX ; initializare

; init parallel interface

MOV AH, 0

MOV AL, 00000010b

INT IPAR

MOV SI, offset clr

INT IDIS_STR

loop_:

; read from keyboard

INT IKEYBOARD

MOV x, AL

MOV CL, 0

INT IDIS

; send to parallel interface

MOV AL, x

MOV AH, 1

INT IPAR

; read data from port B

MOV AH, 5

INT IPAR

; print number

MOV CL, 5

INT IDIS

; buzzer

MOV BX, 200

MOV CX, 30

INT IBUZZER

; wait 1 second

MOV AX, 1000

INT ITIMER

JMP loop_

x DB 0

clr DB ' ',00H

CODE ENDS

END START