Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-01-2008, 01:34   #1
Rank-1
Member
 
Iscritto dal: Jul 2005
Messaggi: 86
[assembly] __asm (non funziona con GCC)

Ciao a tutti.. siccome ho problemi con il compilatore GCC qualcuno per favore può convertirmi questo codice? ho visto che usa un'altra sintassi (AT&T?!) ma io non saprei proprio come cambiarlo xkè non conosco l'assembly.

__asm {
mov eax, addr
call addr
mov addr, eax
}

__asm {
mov eax, addr
push cbSize
push pInputs
push nInputs
call addr
mov addr, eax
}

grazie
Rank-1 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 07:58   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Sintassi AT&T? Vade retro!

Usa NASM, che ti permette di usare quella "tradizionale" (Intel / MASM / TASM et similia).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:17   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Usa NASM, che ti permette di usare quella "tradizionale" (Intel / MASM / TASM et similia).
Ma non nel codice inline...
Comunque dovrebbe essere così, se mi ricordo bene.

__asm {
movl addr, %eax
call addr
movl %eax, addr
}

__asm {
movl addr, %eax
pushl cbSize
pushl pInputs
pushl nInputs
call addr
movl %eax, addr
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:52   #4
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
qualcuno per favore può convertirmi questo codice?
Perché non lo chiedi direttamente al compilatore? Aggiungi l'opzione -masm=intel alla linea di comando di GCC:

gcc pippo.c -masm=intel

Codice:
// pippo.c
#include <stdio.h>
#include <string.h>

int main (void)
{

	__asm (
		"xor eax, eax\n"
		"mov ecx, 3\n"
	);
	return 0;
}
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:56   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Perché non lo chiedi direttamente al compilatore? Aggiungi l'opzione -masm=intel alla linea di comando di GCC:
Azz...non lo sapevo
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:58   #6
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Azz...non lo sapevo
Abbiamo sempre qualcosa di nuovo da imparare, ed il forum serve anche per questo...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 10:13   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Perché non lo chiedi direttamente al compilatore? Aggiungi l'opzione -masm=intel alla linea di comando di GCC:
Perché non è la fine della storia.
Da lì puoi accedere solo a variabili globali; le variabili locali devono essere passare come "input" secondo l'usuale sintassi asm/gcc.
Inoltre occorre specificare l'elenco dei registri "clobbered", se presenti.
__________________
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 21-01-2008, 10:15   #8
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
C'è anche questo modo, che non richiede -masm=intel:
Codice:
asm(
    "  .intel_syntax noprefix  \n"
    <blocco asm...>
    "  .att_syntax             \n"
    <blocco in/out e clobbered>
);
__________________
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


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Skydance unirà HBO Max, Paramount...
Deep Tech Revolution: dieci startup e un...
Il telescopio James Webb svela le stelle...
Prime Day, tutte le scope elettriche in ...
Perseverance trova tracce di almeno tre ...
Una tastiera su nastri trasportatori: la...
L’IA entra nella fase operativa: per SDG...
Apple accusa OpenAI: nuovi argomenti imp...
Blue Origin presenta Power Tower, la tor...
Speciale Smart TV sotto i 200€: TCL QLED...
Ricarica wireless senza cavi per gli aut...
Docking station Techly per SSD NVMe e SA...
E-bike Prime Day da 616€: HillMiles e HI...
Nano Banana 2.1 dimezza il prezzo dei to...
Intel resta al fianco di Elon Musk per T...
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: 10:23.


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