به نام حق
سلام ... میخواستم بپرسم تو اسمبلی آیا امکان این هست که سریال مادربرد یا سریال هارد دیسک یا CPUID رو که جزو مشخصات ثابت هر سیستم و متفاوت با سیستم دیگه ای هست رو بدست آورد ؟
Printable View
به نام حق
سلام ... میخواستم بپرسم تو اسمبلی آیا امکان این هست که سریال مادربرد یا سریال هارد دیسک یا CPUID رو که جزو مشخصات ثابت هر سیستم و متفاوت با سیستم دیگه ای هست رو بدست آورد ؟
page 55, 132
; FUNCTION: cpu_check
;
; Attempt to discover the type of CPU. Use MASM 5.1 or greater.
; Returns 86 for 8088/8086, 286 for 80286, 386 for 80386/80486.
;
; Requires MASM 5.1 or later or equivalent
;
; Assemble with: MASM /Mx /z ...
; TASM /jMASM /mx /z ...
;
% .MODEL LARGE,C ;Add model support via
;command line macros, e.g.
;MASM /Dmemodel=LARGE
.CODE
;
; int cpu_check(void) - returns 86, 186, 286, 386
;
PUBLIC cpu_check
cpu_check PROC USES BX
pushf
xor ax,ax ; zero ax
push ax
popf ; try to put 0 into flags
pushf
pop ax ; see what went in flags
and ax,0f000h ; mask off high flag bits
cmp ax,0f000h ; was high nibble ones
je _86 ; is 8086 or 8088
push sp ; see if sp is updated
pop bx ; before or after it is
cmp bx,sp ; pushed
jne _186
mov ax,0f000h ; try to set high bits
push ax
popf ; in the flags
pushf
pop ax ; look at actual flags
and ax,0f000h ; any high bits set?
je _286 ; is 80286
_386:
.386 ; enable 386 instructions
pushfd ; save extended flags
mov eax,040000h
push eax ; push 40000h onto stack
popfd ; pop extended flags
pushfd ; push extended flags
pop eax ; put in eax
and eax,040000h ; is bit 18 set?
jne _486 ; yes, it's a 486
mov ax,386 ; no, it's a 386
jmp _386x
_486:
mov ax,486
_386x:
popfd ; clean the stack
jmp ccexit
_286:
mov ax,286 ; is an 80286
jmp ccexit
_186:
mov ax,186 ; is an 80188/80186
jmp ccexit
_86:
mov ax,86 ; is an 8088/8086
ccexit:
popf ; restore original flags
ret ; return
cpu_check ENDP
end
ببخشید که کمی قدیمی هست ولی دیگه کاری بیشتر اتز این از من بر نمیاد اصلا هم وقت ندارم تا روش کار کنم :oops:
دو تا کتاب بهت پیشنهاد می کنم:
نام:برنامه نویسی و زبان اسمبلی
نویسنده:پیتر ایبل
انتشارات:نشر نما
---------------------------------------------------
نام:ریز پردازنده پنتیوم
نویسنده:جیمز آنتونیکوس
انتشارات:انتشارات نما