
PROGRAMMING CONCEPTS–IV 5-5
MOV CX, 20 ;count of the number of ports
MOV BX, 0 ;BX = 0
MOV DX, 0EC00H ;address of first i/p port in DX
TAKE_IN: IN AL, DX ;get data from input port to AL
MOV TMPS[BX], AL ;transfer data to memory
INC DX ;increment port address
INC BX ;increment memory address pointer
LOOP TAKE_IN ;repeat until CX = 0
MOV AH, MAX ;copy maximum temperature to AH.
MOV DX, 0200H ;get address of first o/p port
MOV AL, 01 ;get data for alarm, in AL
MOV CX, 20 ;CX = count
MOV BX, 0 ;BX = 0
AGAIN: CMP TMPS[BX], AH ;compare data in memory with MAX
JA ALARM ;if data>MAX, go to ALARM
OTHER: INC DX ;increment ...