flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
bitdog2u 11 Jun 2025, 13:18
Hello, I wrote CPUID.asm cuz I couldn't find any DOS CPUID program that gave me much info on my CPU.
It needs some testing, and improvements, probably. TOTALLY FREEware, except, I ask that you keep a history of it's development in the source code. If you add anything worth having, add your name, date, & short description. You can mark your added code with a unique search string comment. To understand its output, you will probably need to download an INFO file We should do some BETA testing, & fixing before someone uploads it to a .FTP where it probably should be, once it becomes worthy. Any input is good input, so constructive criticism is welcome. If it doesn't work or report correctly on your CPU, please report that. Thanks in advance, Bitdog PS, it is coded to do 8088 to a p4 ? But I don't know what it does without your input. FASM source code included. If you FIX/alter it, please post the worthy updates for us all.
|
|||||||||||
![]() |
|
bitdog2u 11 Jun 2025, 17:16
#1.My code uses old fashion CPU checks, to find out if the computer can dump out a CPUID, then it does if it can.
So if you had an 8088, the checks would stop at 80186 and the report would be, YOU HAVE AN 8088 and my sympathy. When all the CPU checks prove that the CPU has CPUID, then and only then can CPUID dump out data. Then my CPUID.COM dumps out more data than you really want, it will dump out all the LEAFs your BOX has to give. Then download the info for those LEAFS and you will know what you have. There is some info in my code, but its been years since I used it so I will have to review my own code to give any real answers here. #2. my code should tell you what is in your box weather its is pre CPUID 1993 or after. Most others code can only do after 1993 CPUID and they give the user no info. If that didn't answer your question, ask again, Please. So did you try it ? Did it work ? What did you try it on ? What CPU ? What OS ? Did the code assemble? Did I include everything needed to create an identical copy of the CPUID.COM enclosed. FEED ME SEEMORE. (Little Shop of Horrors quote) PS,the intent of CPUID is for programmers to be ABLE TO WRITE CODE THAT DETERMINES THE ABILITIES OF THE COMPUTER YOUR CODE IS RUNNING ON, and capitalize on that. The multi leafs hold bits to test for MMX and EVERYTHING. Most people think CPUID is designed to tell you what computer you have. For that info, I just look at the receipt. SO with that in mind, you now have the code showing how all that info is gathered, and you can use it to write better programs. I can't. I'm still stuck in 286 mode. |
|||
![]() |
|
Core i7 11 Jun 2025, 18:10
If you display a binary mask, then also need help for each bit, otherwise the user will not see the desired result (i.e. we will get software that needs a large specification on top). Better short, but informative, for example 386+:
Code: use16 org 100h jmp start mess0 db 13,10, ' CPU IDENTIFICATION' db 13,10, ' ******************' db 13,10, ' CPUID...: $' mess1 db 13,10, ' Max LEAF: $' mess2 db 13,10,10,' Vendor..: $' mess3 db 13,10, ' Product.: $' mess4 db 13,10, ' Ext.code: $' mess5 db 13,10,10,' Features:',10,' $' mess10 db 'OK!$' mess20 db 'ERROR!$' FeaturesTable dw @00,@01,@02,@03,@04,@05,@06,@07,@08,@09 ; 10 & 20 reserved dw @10,@11,@12,@13,@14,@15,@16,@17,@18,@19 dw @20,@21,@22,@23,@24,@25,@26,@27,@28,@29 @00 db 'FPU,$' @01 db 'VME,$' @02 db 'DE,$' @03 db 'PSE,$' @04 db 'TSC,$' @05 db 'MSR,$' @06 db 'PAE,$' @07 db 'MCE,$' @08 db 'CMPXCH8,$' @09 db 'APIC,$' @10 db '$' @11 db 'SYSENTER,$' @12 db 'MTRR,$' @13 db 'PGE,$' @14 db 'MCA,$' @15 db 'CMOV,$' @16 db 'PAT,$' @17 db 'PSE-36,$' @18 db 'PSN,$' @19 db 'FLUSH,$' @20 db '$' @21 db 'DBG,$' @22 db 'ACPI,$' @23 db 'MMX,$' @24 db 'FXSR,$' @25 db 'SSE,$' @26 db 'SSE2,$' @27 db 'SS,$' @28 db 'HTT,$' @29 db 'TM,$' buff dd 4 dup(0) ;//--------------------- start: mov dx,mess0 call message call testCPUID ; exit if 0 mov dx,mess1 call message mov eax,0 ; max fn support cpuid mov ebx,10 ; print DEC call convert ;//----- mov dx,mess2 call message mov eax,0 ; vendor cpuid mov dword[buff+0],ebx mov dword[buff+4],edx mov dword[buff+8],ecx mov esi,buff mov cx,12 ; 12 char @cpuLoop: lodsb int 29h loop @cpuLoop ;//----- mov dx,mess3 call message mov eax,80000002h ; CPU name push eax call fnCPU mov ecx,16 @print: lodsb cmp al,' ' jne @next dec ecx jmp @print @next: int 29h loop @print pop eax inc eax @sLoop: push eax call fnCPU mov ecx,16 @print1: lodsb int 29h loop @print1 pop eax inc eax cmp eax,80000004h jbe @sLoop ;//----- mov dx,mess4 call message mov eax,1 ; CPU code cpuid mov ebx,16 ; print HEX call convert ;//----- mov dx,mess5 call message mov eax,1 ; Features cpuid mov si,FeaturesTable mov bx,30 ; bits 0-29 xor ax,ax @printFeat: cmp al,10 ; bit 10 & 20 reserved je @miss cmp al,20 je @miss bt cx,ax ; BitTest jnc @miss push si ax bx ; found! shl ax,1 add si,ax mov dx,[si] call message pop bx ax si @miss: inc al dec bx jnz @printFeat ;//----- @ends: xor ax,ax ; game over! int 16h int 20h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; message: mov ah,9 int 21h ret testCPUID: pushfd pop eax mov ecx,eax xor eax,40000h push eax popfd pushfd pop eax xor eax,ecx jne no_cpuid mov dx,mess20 call message jmp @ends no_cpuid: mov dx,mess10 call message ret convert: ;<---------- Print EAX xor ecx,ecx @fnDiv: xor edx,edx div ebx ; arg = 16(hex), 10(dec) or 8(oct) push edx inc ecx or eax,eax jnz @fnDiv @fnOut: pop eax cmp al,09 jle @noHex add al,7 @noHex: add al,30h int 29h loop @fnOut ret fnCPU: cpuid mov dword[buff+0],eax mov dword[buff+4],ebx mov dword[buff+8],ecx mov dword[buff+12],edx mov esi,buff ret
Last edited by Core i7 on 11 Jun 2025, 18:45; edited 1 time in total |
||||||||||
![]() |
|
Core i7 11 Jun 2025, 18:21
Yes, I tested your code on my WinXP in VirtualBox, and I got this error (the window doesn't close).
Code: CPUID says your CPU is a: GenuineIntel ђPentium(R) Dual-Core CPU E5200 @ 2.50GHz 0 = Extended Family (E1AX bits 27-20) 1 = Extended Model # (E1AX bits 19-16) 0 = Original OEM processor. (E1AX bits 15-12) = TYPE 13-12 6 = Family (E1AX bits 11-8) 7 = Model # (E1AX bits 7-4) 10 = Stepping ID (E1AX bits 3-0) 13 = max LEAF # (E0AX bits 7-0) 8 = Extended LEAF max # (EAX= 80000000h input) 0 = Brand Index # (E1BX bits 7-0) 8 = CFLUSH Line Size (E1BX bits 15-8) 1 = Initial APIC ID (E1BX bits 31-24) E1CX=Extended, FeatureFlags=E1DX, E2?X= Cache+TLBInfo, E1AX= Signiture 01067Ah LEAF# 10987654321098765432109876543210 10987654321098765432109876543210 BitBar E1AX= 00000000000000010000011001111010b 00000001000000100000100000000000b =E1BX E1CX= 00000100000000001110001110011101b 10111111111010111111101111111111b =E1DX E2AX= 00000101101100001011000100000001b 00000000010101100101011111110000b =E2BX E2CX= 00000000000000000000000000000000b 00101100101101000011000001111101b =E2DX E3AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E3BX E3CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E3DX E4AX= 00000100000000000000000100100001b 00000001110000000000000000111111b =E4BX E4CX= 00000000000000000000000000111111b 00000000000000000000000000000001b =E4DX E5AX= 00000000000000000000000001000000b 00000000000000000000000001000000b =E5BX E5CX= 00000000000000000000000000000011b 00000000000000100010001000100000b =E5DX E6AX= 00000000000000000000000000000001b 00000000000000000000000000000010b =E6BX E6CX= 00000000000000000000000000000011b 00000000000000000000000000000000b =E6DX E7AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E7BX E7CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E7DX E8AX= 00000000000000000000010000000000b 00000000000000000000000000000000b =E8BX E8CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E8DX E9AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E9BX E9CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E9DX EaAX= 00000111001010000000001000000010b 00000000000000000000000000000000b =EaBX EaCX= 00000000000000000000000000000000b 00000000000000000000010100000011b =EaDX EbAX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EbBX EbCX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EbDX EcAX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EcBX EcCX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EcDX EdAX= 00000000000000000000000000000011b 00000000000000000000001001000000b =EdBX EdCX= 00000000000000000000001001000000b 00000000000000000000000000000000b =EdDX Bits= fedcba9876543210fedcba9876543210 fedcba9876543210fedcba9876543210 LEAF# No CPUID is available. Your CPU is: LEAF# 10987654321098765432109876543210 10987654321098765432109876543210 BitBar E1AX= 00000000000000010000011001111010b 00000001000000100000100000000000b =E1BX E1CX= 00000100000000001110001110011101b 10111111111010111111101111111111b =E1DX E2AX= 00000101101100001011000100000001b 00000000010101100101011111110000b =E2BX E2CX= 00000000000000000000000000000000b 00101100101101000011000001111101b =E2DX E3AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E3BX E3CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E3DX E4AX= 00000100000000000000000100100001b 00000001110000000000000000111111b =E4BX E4CX= 00000000000000000000000000111111b 00000000000000000000000000000001b =E4DX E5AX= 00000000000000000000000001000000b 00000000000000000000000001000000b =E5BX E5CX= 00000000000000000000000000000011b 00000000000000100010001000100000b =E5DX E6AX= 00000000000000000000000000000001b 00000000000000000000000000000010b =E6BX E6CX= 00000000000000000000000000000011b 00000000000000000000000000000000b =E6DX E7AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E7BX E7CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E7DX E8AX= 00000000000000000000010000000000b 00000000000000000000000000000000b =E8BX E8CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E8DX E9AX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E9BX E9CX= 00000000000000000000000000000000b 00000000000000000000000000000000b =E9DX EaAX= 00000111001010000000001000000010b 00000000000000000000000000000000b =EaBX EaCX= 00000000000000000000000000000000b 00000000000000000000010100000011b =EaDX EbAX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EbBX EbCX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EbDX EcAX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EcBX EcCX= 00000000000000000000000000000000b 00000000000000000000000000000000b =EcDX EdAX= 00000000000000000000000000000011b 00000000000000000000001001000000b =EdBX EdCX= 00000000000000000000001001000000b 00000000000000000000000000000000b =EdDX Bits= fedcba9876543210fedcba9876543210 fedcba9876543210fedcba9876543210 LEAF# There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. No CPUID is available. Your CPU is: There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. There is an FPU running. But below a 286 there is no MSW (Machine Status Word) to check for FPU emulation. |
|||
![]() |
|
bitdog2u 11 Jun 2025, 22:00
ok Core i7
It is going to take me a bit to digest all this. Can you assemble the code to get an exact CPUID.COM ? Did I forget to include any files ? And is the code acceptable and understandable for you to work with ? It's freeware, so you can alter it. CAN YOU FIX IT FOR XP? And thanks for the input. IO redirect the output CPUID > AFILE.TXT will capture all the output to a file if the screen starts scrolling crap You have a lot more LEAF ACTIVITY than I do, My p4 has leaf2 Since LEAF 0 is practically NO INFO it doesn't count, so I didn't show it. I wanted a program that dumped out all the info. I have never had as much output as you have. I'm really not that great of a programmer. I gots lots of tough talk though. PS, the hard part of my CPUID.com was getting the checks for 8088 to 486 The first CPUID came out on the last 486's, and they were working on it when Pentium came out. I got all the CPU checks I could find and went over about 15 of the most popular checks, I used the best proven ones in a coordination effort and put them all together when no one else did. That is how my code gets to the p4 where CPUID would work. I found the early CPU check code interesting and difficult to work with since there is no wiggle room to OOPs in. So your XP machine survived those 8088 checks. Thanks, I needed that. PS2, I don't know anything about FPU codeing, so my FPU check code area could be an area that really needs someone else to fix. I'll check back later. Last edited by bitdog2u on 12 Jun 2025, 00:22; edited 1 time in total |
|||
![]() |
|
bitdog2u 11 Jun 2025, 23:09
Core i7 says If you display a binary mask, then also need help for each bit, otherwise the user will not see the desired result (i.e. we will get software that needs a large specification on top). Better short, but informative, for example 386+:
I haven't understood that yet, but it looks good, and the output is what most people want. What I wanted was all the LEAFS EXPOSED in a file and I can figure it all out from there. So if there are 15 types of CMPXCHG, the LEAFs will show it, where NICE output struggles with that. I tried coding NICE like that and ended up cutting corners, which is probably why most CPUID programs don't give out much info. My CPUID is kinda only for programmers, where yours is great for humans, so we aren't competing, we are complimenting each other. AND since I'm asking for help, the only thing I have to offer in return is my FREEWARE, if you want to use my 80888 to 486 check code you can have it, copy/paste. IT might make a nice little.com that checks for 8088-486 and has output like yours does. Then yours can take it from there ? IT'S TOTAL FREEWARE Take my name out, and put yours in if you want. But a better way is to keep a history of fixes in the .ASM A short: who, what, where, when info. So here is a WHAT IF for you. WHAT IF, I texted you and said, your program does not run on my computer. You said: What kind of computer do you have exactly? Wait a sec, I will use Bitdogs CPUID.com and send you the > OUTfile.txt .ZIPed. Ok, then I will know EXACTLY WHAT YOU HAVE, without any lies. That was kinda my original goal. Look how many LEAFS your CPU dumps out 13 max LEAFS, that is alot of INFO. you have 10 in STEPPING ID, and I didn't know you were in a FAMILY 6 and your E1DX has bit 31 set, so it's NOT active, like my P4. CPUID H Will show the info that most CPUID programs forget to mention. Because it's too much to mention. WHAT IF #2 if my CPUID.com dumped out LEAF data in byte form and your CPUID accepted the file as input, then output the INTERPRETED versions that humans understand on the screen, we would have something worth having. Of course, you could get yours to output the LEAF data also. Then my CPUID would need to use that raw data file as input to dump out the LEAF data as if we were all on the same team. i hope that helps. |
|||
![]() |
|
Core i7 12 Jun 2025, 03:21
bitdog2u wrote: So here is a WHAT IF for you. Are there any i8088 computers left with an 8-bit bus and a frequency of 5 MHz (maybe only in a museum)? But if you need it for self-education and practical classes, then the documents "CPUID for Intel" have examples in assembler that test CPUs from 8086 to Pentium 4 by flags. See this *.pdf on page 59, although yours seems to have been implemented similarly: https://www.scss.tcd.ie/jeremy.jones/CS4021/processor-identification-cpuid-instruction-note.pdf |
|||
![]() |
|
bitdog2u 12 Jun 2025, 13:36
ok Core i7
You are basically right about everything, but I am still stuck. I have an unfinished program, that needs testing and fixing, then comes my mental problems. The thought that there actually needs to be a CPUID program that can do all COMPUTERS from the first 8088, to ALL the CPUs of the FUTURE returning a COMPLETE INFORMATION OUTPUT, is stuck in my head and it's not going to go away any time soon, and your program doesn't do that output, but mine does. So say something that makes me think I should throw my program in the garbage and use yours, and I will. I like your code that checks for CPUID available, so I will check that out a little more, but I'm doing my MINEZ.com game now, while the code is still fresh in my head. I only released the CPUID.com program because I thought I took it as far as I could and now I NEED HELP, NOT HARM. So thank you for the read out reply. It looks like CPUID.com made it through reporting all your LEAFs, it errored on the EXIT PROGRAM part, or failed on any EXTENDED LEAFs, the 80000000h part? Cuz it LOOPed back and did LEAFs again, then got locked in an endless loop?. I'm going to look into it in a week or so. AND the idea of a small info dump OUTfile.ext that can be a SHARE-able LOAD-able INfile.ext would be a great CPUID.com upgrade. I'm going to look into the recommended .pdf so Thanks for that, but I think I already did and found that they used some of the Seattle Computer DOS Logic CPU checks of the time, but not all and they didn't quite get it right. So I had to shove all the checks done in my head and melt them down to THE REAL CODE and I used that SIMPLIFIED, where INTEL BLOATware failed my needs. And it turns out MY code ran through your 1067A ok as it did my 000F29 so I'm moving forward, & thanks for that also. If I had a huge data base of all Ext.code SIGNATURES I could know your LEAFs by knowing your# 1067A but that is not possible for me to do. There might be internet info available for 1067A but a quickie Google search didn't find anything, YET. So the share a data file idea, is still valid. I do have an XP machine, but I haven't used it in 5 years. So checking CPUID.com on XP DOS box is another project I'm not going to do soon. Any way, THANKS for what you did for me, Nobody else even bothered to say anything. And they are probably spreading my unfinished code around the internet like IDIOTS would do. Then you can expect that they will have to talk bad about me, to make them look good. If they had ethics, they would know better. PS. I thought the i8088 had a 16 bit bus and they came out with the 8086 that had an 8 bit device bus, because most all the devices made at the time were 8 bit, and the 8088 had few usable devices available to it. (tape recorders & 8" floppys ?) I will have to look into it, but it looks like the answer to your question is NO. Are there any i8088 computers left with an 8-bit bus? PS2, because of your help, I'm going to try to be helpful to you in the future, cuz it is easier to help, than to quibble over nothing forever. PS3, Correct me if I'm wrong here but: HELP is when you give a person EXACTLY WHAT THEY ASKED FOR in a timely manner, without any undue burdens. That is HELP because, nothing else helps. A person is MENTALLY STUCK and they need help to get from point A to B, to get UNSTUCK. They know what A & B is, and no one else does. Help is a selfless act, and in return you get NOTHING. Well, you get harmed occasionally. No good deed goes unpunished. BUT there is an up side, if you help others, you feel like you can ask for help, and you do ask, and you do get some help, and I was asking. |
|||
![]() |
|
Core i7 12 Jun 2025, 14:41
@bitdog2u, each person should do what he wants and not listen to anyone. You have planned a program with such an algorithm, and i'am not against it at all. I just want to advise you to spend your energy on something useful, because 8086/88 are no longer used anywhere, and it will be difficult for you to do tests. Or do you have a machine with such a processor?
Secondly, yes, your code has a lot of information, but unfortunately it is understandable only to you - an ordinary user (for whom you write the program) will drown among such a number of bits. Software should provide information to the user, but now he, on the contrary, demands it in the form of documentation on the cpuid. This does not mean that you should abandon your project - I would just reconsider its purpose a little (who you are writing for, and what exactly you want to tell him). PS: do not take this criticism to heart, and perceive programming as a game or a hobby, and not a mandatory job. |
|||
![]() |
|
revolution 12 Jun 2025, 14:51
I personally like it when programs present me with lots of information. I don't like it when programs treat me as dumb or lazy and reduce the amount of information given in an attempt to pander to "normal" people.
People are clever and don't need to be talked down to, IMO. I think it is a great programming experience to make something that is universal, regardless of how "useless" it might appear to be. The exercise alone is worth the effort, IMO. Expand your brain. give everything maximum effort. ![]() |
|||
![]() |
|
bitdog2u 12 Jun 2025, 17:26
Thank you Revolution
Wise words from one with a good reputation and 20656 posts, has meaning. Old 8088 check code in a CPUID program wastes 30 bytes, so there is nothing to even talk about there. While I have you here, would you consider trying my FCV.com ? I use it a lot. You can take the IDEA or the CODE and port it to Windoze or something where others can use it, it you like it. It helps me figure out where I left off on my last .ASM write by the CMP of the last backup file.asm and if there are any changes to a file, it will find and show them. It would be nice to have some feed back too. Last edited by bitdog2u on 12 Jun 2025, 18:00; edited 1 time in total |
|||
![]() |
|
bitdog2u 12 Jun 2025, 17:49
Core i7 you have some real knowledge of CPUID, maybe when i get to the fix it part I can tap that know how.
The 8088 to 486 code check is not required since it has already been done, and I just copied their code. But if someone finds a mistake, the source code is there for them and they can also report it. The wasted 100 bytes is not worth getting worried about. My thinking is backward of yours maybe. I start with looking over the LEAF info one can down load, then ask, does my computer have that stuff, then look at the LEAF output of CPUID.com, and it will tell me EXACTLY WHAT I HAVE. If someone has a problem with one of my programs, I can get CPUID.com to give me ALL THE INFO on their computer's CPU so I can solve the issue maybe. I can't see what is wrong with full disclosure at all. So it's a worthy project, I JUST NEED HELP, is all. |
|||
![]() |
|
Core i7 12 Jun 2025, 19:25
bitdog2u wrote: I can't see what is wrong with full disclosure at all. ..of course there is nothing bad, only the value of information is measured not in quantity, but in quality. The fact that the entire monitor screen will be filled with zeros and ones does not make the program better, otherwise in addition to the cpuid functions you can also print all the MSR registers. On the other hand, you are the developer, so my opinion is not very important. It's just that you asked for criticism - I gave it to you, you asked for tests - I provided them. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.