Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-07-2005, 16:33   #1
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
[Gas]Problemi

Codice:
#include <iostream>
#include <string>

std::string name;

char eax, ebx, ecx, edx, res;

void CpuInfo()
{
     // BASIC INFO
     __asm ("xor %0, %0 ; cpuid" : "=r"(res) : "a" (eax), "b" (ebx), "c" (ecx), "d" (edx));
     name = eax;
     name += ebx;
     name += ecx;
     name += edx;
     std::cout << name.c_str() << "\n";
     
}

int main()
{
    CpuInfo();
    std::cin.get();
    return 0;
}
// :~
Non mi stampa nulla....
Eppure la sintassi del comando asm inline mi sembra giusta(il cod asm lo sarebbe normalmente in fasm/nasm)

Tnks
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2005, 16:45   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Scritto in fretta; mi perdonerai la scarsa fantasia nei nomi.
Codice:
#include <iostream>
#include <string>

unsigned eax, ebx, ecx, edx;
std::string name;

std::string RegToStr(unsigned _r)
{
  union {
    unsigned r;
    char s[5];
  } __r;
  __r.r = _r;
  __r.s[4] = '\0';
  return std::string(__r.s);
}

void CpuInfo()
{
     __asm ("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : );
     name =RegToStr(ebx);
     name += RegToStr(edx);
     name += RegToStr(ecx);
     std::cout << name.c_str() << "\n";
     
}

int main()
{
    CpuInfo();
    std::cin.get();
    return 0;
}
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12

Ultima modifica di ilsensine : 07-07-2005 alle 16:47.
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2005, 17:09   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625

Ovviamente la riga asm deve essere questa...
Codice:
__asm ("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a"(0) );
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2005, 08:05   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Infatti, Luc@s, ilsensine ha ragione: io per il cpuid utilizzo questa istruzione:
Codice:
	uint32_t regs[4];

	__asm__ __volatile__
		(
			"movl		%%ebx, %%esi			\n"
			"cpuid										\n"
			"xchgl	%%esi, %%ebx			\n"
			: "=a" (regs[0]), "=S" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
			: "0" (0)
		);
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2005, 08:09   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Perché vuoi preservare ebx?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2005, 08:32   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da ilsensine
Perché vuoi preservare ebx?
Sai, ad essere sincero non ricordo più perché ho scelto di preservare %ebx. Quella istruzione devo averla scritta mesi fa, se ce l'ho messa un motivo deve pur esserci, ma al momento non ricordo.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2005, 08:33   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Non c'è alcun motivo, puoi utilizzarlo come tutti gli altri
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
DOOM sul Casio Loopy, la console giappon...
Il chip che non ha bisogno della litogra...
Xbox a un bivio: per l'ex capo di PlaySt...
Meta AI non userà più le f...
Stop ai giochi fisici su PlayStation: pe...
NVIDIA ha creato CUDA, ma una startup vu...
Il tallone d'Achille dei QD-LED è...
Apple pronta a produrre alcuni chip con ...
Anthropic proroga ancora Fable 5 gratis ...
SBS annuncia la nuova gamma Laptop con t...
Gli italiani sono interessati alla sicur...
Galaxy Watch 9, chip più veloce f...
Steam ha appena chiuso un semestre molto...
I nuovi iPhone 18 Pro potrebbero essere ...
Huawei realizzerà chip di nuova g...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v