自分のPCだけで検証したので自信はありませんが、多分これで大丈夫だと思います。
#include "advapi32.as"
#define HKEY_LOCAL_MACHINE $80000002
#define KEY_QUERY_VALUE $00000001
size=1024
sdim cpuname,size
RegOpenKeyEx HKEY_LOCAL_MACHINE,("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"),0,KEY_QUERY_VALUE,varptr(hkey)
RegQueryValueEx hKey,"ProcessorNameString",0,0,varptr(cpuname),varptr(size)
RegCloseKey hKey
mes cpuname
if instr(cpuname,0,"Ryzen")!-1 {
mes"ごめん。ryzenは知らない。"
stop
}
//空白で分けて数字のやつだけにする
split cpuname," ",cpudivinfo
mes cpudivinfo(2)
split cpudivinfo(2),"-",cpugen
//末尾のアルファベットを消す
mes cpugen(1)
cpukeywords="X","K","F","C","S","T","P","R","B","G","H","HK","HQ","MK","MQ","MX","M","U","Y","QM"
repeat length(cpukeywords)
strrep cpugen(1),cpukeywords(cnt),""
loop
//先頭の数値だけ代入
dim cpusedai
if strlen(cpugen(1))==5 { //10世代以降
cpusedai=int(strmid(cpugen(1),0,2))
} else {
cpusedai=int(strmid(cpugen(1),0,1))
}
mes"あなたのCPUは"+cpusedai+"世代です"