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 13-12-2012, 13:54   #1
blu1988
Member
 
Iscritto dal: May 2010
Messaggi: 42
[C+ASM]

Ciao a tutti,

devo realizzare un programma in C che richiama una procedura assembler.

Per iniziare ho scritto un semlice programma in C che passa due int alla procedura e dovrebbe ritornare la somma.

Ma ho diversi dubbi:

-con cosa compilo e linko? e come??(sono sotto windows e uso gcc per C e MASM per assembler)
-è corretto come definisco la procedura?


Procedura in asm
Codice:
	PUBLIC _sum
	.model SMALL
	.stack
	.data
	.code
	.startup
	.exit
_sum				PROC neAR
		push bp
		MOV BP,SP
		MOV AX,[BP+4]
		MOV BX,[BP+6]
		ADD AX,BX
		pop bp
		RET
_sum	ENDP

		END
Programma in c
Codice:
#include <stdio.h>

extern  int sum (int ,int);

void main()
{
	int n1,n2;
	
	printf("Inserisci due numeri\n");
	printf("Primo numero:");
	scanf("%d",&n1);
	printf("/nSecondo numero:");
	scanf("%d",&n2);
	printf("\n");
	printf("La somma dei due numeri e':%d",sum(n1,n2));
	
	return;

}
blu1988 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2013, 15:49   #2
MaxN
Member
 
Iscritto dal: Oct 2005
Città: Cusano Milanino
Messaggi: 147
Sotto Win32 e successivo usa il modello flat. Il modello small si utilizzava a 16 bit.

Modifica di conseguenza il codice utilizzando eax, ecc. e di conseguenza gli offset da ebp, visto che cambiano le dimensioni degli int, ecc. Ricordati che deve combaciare con la modalità di compilazione del compilatore C, cioè se compili a 32 bit, gli int sono di 4 byte e così via.

Per linkare usa il linker del C. Credo che tu possa comunque specificare entrambi i sorgenti sulla riga di comando del compilatore e quest'ultimo provvede ad invocare lo strumento adatto e poi a linkare.
MaxN è 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...
Apple riduce la produzione di iPhone 17:...
Lancio del razzo spaziale cinese Lunga M...
SpaceX Starship: Super Heavy Booster 20 ...
Questa RTX 3070 è tornata in vita...
Un ricercatore scopre uno script bash na...
Robot umanoidi teleoperati eseguono le p...
QuadRF, il gadget da 499 dollari che leg...
ChatGPT, Claude e Gemini nel mirino: cos...
Pneumatici dalla Cina, l'UE introduce da...
SpaceX vuole 100.000 satelliti in orbita...
Disney+ gratis, ma con pubblicità: l'ult...
Microsoft ammette: emissioni di CO2 su d...
Apple denuncia OpenAI e due ex dirigenti...
Asha Sharma licenzia migliaia di dipende...
25 articolazioni, pelle tattile e forza ...
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: 21:27.


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