		  .MODEL  tiny

		  .STACK  100h

		  .DATA
msg1      db "Тип вашего процессора: ", "$"
m_8086    db "8086","$"
m_80286   db "80286","$"
m_80386   db "80386","$"

		  .CODE
		  .STARTUP

		  mov     ah, 9h
		  mov     dx, OFFSET msg1
		  int     21h

; Записываем 0 в регистр флагов

		  xor     ax,ax
		  push    ax
		  popf

; Переписываем регистр флагов через
; стек в регистр AX

		  pushf
		  pop     ax

; Проверяем установку старших четырех битов

		  and     ax,0F000h
		  cmp     ax,0F000h

; Если эти биты установлены, программа
; работает на процессоре 8086

		  je      short CPU_8086

; Записываем 0F000h в регистр флагов

		  mov     ax,0F000h
		  push    ax
		  popf

; Переписываем регистр флагов через
; стек в регистр AX

		  pushf
		  pop     ax

; Проверяем установку старших четырех битов

		  and     ax,0F000h

; Если эти биты установлены, программа
; работает на процессоре 80286

		  jz      short CPU_80286

; Если биты не установлены, то программа
; работает на процессоре 80386

		  mov     dx, OFFSET m_80386
		  jmp end_program

CPU_80286:
		  mov     dx, OFFSET m_80286
		  jmp end_program

CPU_8086:
		  mov     dx, OFFSET m_8086
end_program:

		  mov     ah, 9h
		  int     21h

		  .EXIT   0

		  END
