1PXt L!L!; Assemble with FASM
	org	100h			; code starts at offset 100h
	use16				; use 16-bit code

	xor 	 ax, ax		; bring 0 to flags and back to AX
	push	 ax
	popf	
	pushf	
	pop	 ax
					; MOV b, AH   /* store AH result in b */
					; return (b & 0xf0) != 0xf0;    /* non-286: all of 0xf0 are 1 */
	and	 ah, 0F0h
	cmp	 ah, 0F0h
	je	 Not286
	mov	 ax, 4C00h
	int	 21h
Not286:
	mov	 ax, 4C01h		; AL is 0 for 286+, nonzero othewise
	int	 21h
