PDA

View Full Version : [Asmx86]Cpuid


Luc@s
06-09-2004, 21:59
[BITS 16]
[ORG 0100h] ; for .com

[SECTION .text]
start:
mov dx, Title
call print
mov eax, 0
cpuid
mov [VendorStr], ebx
mov [VendorStr+4], edx
mov [VendorStr+8], ecx
mov dx, VendorStr
call print

; Print a string
; Input: Dx => string offset
print:
; set int 21h service 09h
mov ah, 09h
int 21h
ret
; Print a string and go to new line
; Input: Dx => string offset
println:
; set int 21h service 09h
mov ah, 09h
int 21h
mov dx, NewLine
call print
ret
exit:
; set int 21h service 4Ch(exit)
mov ah, 4Ch
int 21h

[SECTION .data]
NewLine db 13, 10, '$'
Title db "Lucas CPUID program", 13, 10, '$'

[SECTION .bss]
VendorStr resb 12 ; Reserve 12 bytes for cpu's vendor string


Il risultato sul mio xp2600+ č quello in allegato!
A me interessano solo le prime 2 linee.......perche stampa tutta sta roba inutile??

P.S: qualcuno puo provarlo su intel e dirmi cosa dice?

Luc@s
06-09-2004, 22:45
mov [VendorStr], ebx
mov [VendorStr+4], edx
mov [VendorStr+8], ecx
mov byte [VendorStr+12], 13
mov byte [VendorStr+13], 10
mov byte [VendorStr+14], '$'
mov dx, VendorStr
mov ah, 09h
int 21h



Risolto ;)

Fenomeno85
07-09-2004, 07:50
scusa per l'OT ma te che documentazione stai usando per imparare l'assembly??Cosė mi ci metto anchio dato che i miei ricordi sono troppo scarsi :muro:

~§~ Sempre E Solo Lei ~§~

Luc@s
07-09-2004, 08:13
Originariamente inviato da Fenomeno85
scusa per l'OT ma te che documentazione stai usando per imparare l'assembly??Cosė mi ci metto anchio dato che i miei ricordi sono troppo scarsi :muro:

~§~ Sempre E Solo Lei ~§~


Sto usando quella del reference A-M per il CPUID....il resto lo faccio per intuizione e cercando in giro ( su alt.lang.asm, comp.lang.asm.x86 e con google) :D