CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG MAIN PROC MOV AX,DSEG MOV DS,AX MOV SI,0 MOV CX,5 OUTERLOOP: PUSH CX MOV CX,4 INNERLOOP: MOV AL,HOSTS[SI] AND AL,MASKS[SI] INC SI MOV AH,0 CALL NUMBER CMP CX,1 JE SKIPDOT CALL DOT SKIPDOT: LOOP INNERLOOP CALL CRLF POP CX LOOP OUTERLOOP MOV AX,4C00h INT 21h MAIN ENDP NUMBER PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,10 MOV CX,0 PUSHLOOP: MOV DX,0 DIV BX PUSH DX INC CX CMP AX,0 JNE PUSHLOOP MOV AH,2 POPLOOP: POP DX ADD DL,'0' INT 21h LOOP POPLOOP POP DX POP CX POP BX POP AX RET NUMBER ENDP DOT PROC PUSH AX PUSH DX MOV AH,2 MOV DL,'.' INT 21h POP DX POP AX RET DOT ENDP CRLF PROC PUSH AX PUSH DX MOV AH,2 MOV DL,13 INT 21h MOV DL,10 INT 21h POP DX POP AX RET CRLF ENDP CSEG ENDS DSEG SEGMENT HOSTS DB 1, 2, 3, 4 DB 129,125,121,117 DB 129,133,137,141 DB 193,186,179,172 DB 193,200,207,214 MASKS DB 255,255, 0, 0 DB 255,255,240, 0 DB 255,255,255, 0 DB 255,255,255,192 DB 255,255,255,252 DSEG ENDS SSEG SEGMENT STACK DW 256 DUP (?) SSEG ENDS END MAIN