code segment
assume cs:code,ds:code,es:code,ss:code

PPIC_C EQU 1FH
PPIC EQU 1DH
PPIB EQU 1BH
PPIA EQU 19H

	ORG 1000H
	MOV AL,10000000B
	out PPIC_C,AL
	
	MOV AL,11111111B
	OUT PPIA,AL
	MOV AL,11110000B
	OUT PPIB,AL
	
L2:	MOV SI,0
L1:	MOV AL,ARRAY[SI]
	OUT PPIC,AL
    MOV AH,0
	CALL TIMER
	INC SI
	CMP SI,256
	JNE L1
	JMP L2
	INT 3
	
TIMER:		MOV CX,1
TIMER2:		PUSH CX
			MOV CX,0FFH
TIMER1:		NOP
			NOP
			NOP
			NOP
			LOOP TIMER1
			POP CX
			LOOP TIMER2
			RET
ARRAY 	DB	128
		DB	131
		DB	134
		DB	137
		DB	140
		DB	143
		DB	146
		DB	149
		DB	152
		DB	156
		DB	159
		DB	162
		DB	165
		DB	168
		DB	171
		DB	174
		DB	176
		DB	179
		DB	182
		DB	185
		DB	188
		DB	191
		DB	193
		DB	196
		DB	199
		DB	201
		DB	204
		DB	206
		DB	209
		DB	211
		DB	213
		DB	216
		DB	218
		DB	220
		DB	222
		DB	224
		DB	226
		DB	228
		DB	230
		DB	232
		DB	234
		DB	236
		DB	237
		DB	239
		DB	240
		DB	242
		DB	243
		DB	244
		DB	246
		DB	247
		DB	248
		DB	249
		DB	250
		DB	251
		DB	252
		DB	252
		DB	253
		DB	254
		DB	254
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	255
		DB	254
		DB	254
		DB	253
		DB	252
		DB	252
		DB	251
		DB	250
		DB	249
		DB	248
		DB	247
		DB	246
		DB	245
		DB	243
		DB	242
		DB	240
		DB	239
		DB	237
		DB	236
		DB	234
		DB	232
		DB	230
		DB	228
		DB	227
		DB	225
		DB	222
		DB	220
		DB	218
		DB	216
		DB	214
		DB	211
		DB	209
		DB	206
		DB	204
		DB	201
		DB	199
		DB	196
		DB	193
		DB	191
		DB	188
		DB	185
		DB	182
		DB	180
		DB	177
		DB	174
		DB	171
		DB	168
		DB	165
		DB	162
		DB	159
		DB	156
		DB	153
		DB	150
		DB	146
		DB	143
		DB	140
		DB	137
		DB	134
		DB	131
		DB	128
		DB	125
		DB	121
		DB	118
		DB	115
		DB	112
		DB	109
		DB	106
		DB	103
		DB	100
		DB	97
		DB	94
		DB	91
		DB	88
		DB	85
		DB	82
		DB	79
		DB	76
		DB	73
		DB	70
		DB	67
		DB	65
		DB	62
		DB	59
		DB	57
		DB	54
		DB	51
		DB	49
		DB	46
		DB	44
		DB	42
		DB	39
		DB	37
		DB	35
		DB	33
		DB	31
		DB	29
		DB	27
		DB	25
		DB	23
		DB	21
		DB	20
		DB	18
		DB	16
		DB	15
		DB	13
		DB	12
		DB	11
		DB	9
		DB	8
		DB	7
		DB	6
		DB	5
		DB	4
		DB	3
		DB	3
		DB	2
		DB	1
		DB	1
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	0
		DB	1
		DB	1
		DB	2
		DB	3
		DB	3
		DB	4
		DB	5
		DB	6
		DB	7
		DB	8
		DB	9
		DB	10
		DB	12
		DB	13
		DB	14
		DB	16
		DB	18
		DB	19
		DB	21
		DB	23
		DB	24
		DB	26
		DB	28
		DB	30
		DB	32
		DB	35
		DB	37
		DB	39
		DB	41
		DB	44
		DB	46
		DB	48
		DB	51
		DB	53
		DB	56
		DB	59
		DB	61
		DB	64
		DB	67
		DB	70
		DB	72
		DB	75
		DB	78
		DB	81
		DB	84
		DB	87
		DB	90
		DB	93
		DB	96
		DB	99
		DB	102
		DB	105
		DB	108
		DB	111
		DB	115
		DB	118
		DB	121
		DB	124
	

			
CODE ENDS
END
