Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-06-2009, 00:08   #1
radoen
Member
 
L'Avatar di radoen
 
Iscritto dal: Mar 2005
Città: Lecce
Messaggi: 195
ASM : caricare un vettore

salve a tutti allora, sto preparando un progetto per l'uni e devo ad un certo punto caricare dei valori presi da un file di testo in un vettore. Allora io ho :
1) scritto la routine per l'apertura, la scanzione Char per char e la conversione dei char in interi senza segno a 16 bit (valori positivi da 0 a 32mila e rotti)
2)tale procedura riorna di volta i volta il valore convertito in una varibile allocata dichiarata in BSS

ora io dovrei riempire il vettore per poterci poi fare 2 operazioni di cui ho già scritto il codice solo che al momeno non riesco a venirne a capo. Qualcuno mi da qualche dritta ? vi pasto il codice che apre il file legge carattere carattere e (al momento) stampa a video i caratteri convertiti al posto di metterli nel vettore "fotogramma".
L'assemblatore usato è as88 di tanenbaum ma a me non serve che scriviate il codice apposta per il mio asm bastano le linee guida generali che non riesco a cogliere.

Grazie a tutti in anticipo
PS è asm 8088

APRE E LEGGE
Codice:
#include "syscalnr.h"	
#include "converter.s" 
bufsiz	= 1		!   blocchi di 1 byte (16 bit)
.SECT .TEXT			


infbufst:!(puntatore a vector)
	mov SI,0
	push bp	
	mov bp,sp
1:	PUSH 0			! lettura
	PUSH filnam		! nomefile
	PUSH _OPEN		! funzione
	SYS			! chiamata sistema
	ADD  SP,8		! pulisco lo stack
		
	CMP  AX,0		! ci sono errori nell'apertura?
	JL   9f			! errore nell'apertura
	MOV  (fildes),AX	! metto in fildes il descrittore del file
	MOV  BX,0
	
1:	CALL vulbuf		!carica il contenuto del file in memoria
	
	CMP  CX,0		!se cx 0 non ho letto 
	JLE  3f			!termino esecuzione per fine file
2:	MOVB AL,' '		!metto lo spazio in al
	REPNE  SCASB		!cerco lo spazio nel buffer attuale
	JNE  impila		!se non spazio lo metto sullo stack
	push dx    		!numero di caratteri impilati sullo stack
	call charInt	  	!conversione ascii to intero
	mov dx,0		!azzero il contacaratteri
	add sp,4		!pulisco lo stack
	sub (buf), 100		!pulisco il buffer
	push (conv)		!metto il numero convertito sullo stack
	push fts		!formattazione stringa
	push _PRINTF		!stampo a video
	sys			!chiama sistema
	add sp,6		!pulisco lo stack
	INC  (count)		!incremento contatore
	MOV  AX,BX		!scansione quanto letto e posizionato in memoria
	SUB  AX,CX		!caratteri rimanenti
	CMP  CX,0		!se zero ho finito il buffer
	JNE  2b			!continuo a cercare nel buffer
	JMP  1b			!ricarico il buffer con nuovi caratteri

9:      mov AX, 1      		!errore nel caricamento
        pop bp	        	!rirpistino il pb
	ret			!esco dalla procedura

	

3:	
	push 0			!codice di uscita
        push _EXIT		!termina programma
	sys			!chiamata di sistema
	
impila :
	push (buf)		!salvo sullo stack il carattere letto
	inc DX			!incremento il contatore di carattei
	jmp 1b			!torno a leggere

vulbuf:				
	PUSH bufsiz		! quanti bite leggo
	PUSH buf		! contiene il carattere letto
	PUSH (fildes)		! dove leggo 
	PUSH _READ		! leggo 
	SYS			! chiamata di sistema
	ADD  SP,8		! pulisco lo stack
	MOV  CX,AX		! in ax numero di byte letti
	ADD  BX,CX		! li aggiungo a quelli letti in prcedenza
	MOV  DI,buf		! prossima posizione da leggere	
	RET			! 93



.SECT .DATA			
filnam : .ASCIZ "Input.txt"      !nomefile
fts:	.ASCIZ "Valore : %d\n" 	 !stringa di formattazione

.SECT .BSS			!
fildes: .SPACE 2		!descrittore del file
buf:	.SPACE 1		!dove memorizzo i caratteri
count:  .SPACE 2		!contatore
conv: .SPACE 4			!contiene i caratteri convertiti in numeri
fotogramma: .SPACE 9600
CONVERTER
Codice:
#include "syscalnr.h"
.SECT .TEXT
!Convertitore char to dec per il progetto di Architetture giugno 09
!developed under debian GNU/LINUX 
charInt: !( val1....valn, dim) ->  conv
	push ax
	push dx	
	push cx	
	push bx	
	push SI	
	push DI
	push bp
	mov bp,sp
	mov SI, 16
	mov cx , (BP)(SI) !indice ciclo
	!dec cx
	mov dx, cx !controllo dei pesi
	add SI ,2
	mov ax ,0
cilo:   push dx	   
	mov bx, (BP)(SI)
	sub bx, 48
	sub dx, cx
	push ax
	cmp dx, 0
	je zero		
	cmp dx, 1
	je uno	
	cmp dx, 2
	je due
	cmp dx, 3
	je tre
	cmp dx, 4
	je quattro
molt:	mul bx
	mov bx,ax
	pop ax
	pop dx	
	add ax, bx
	add si ,2
	loop cilo
	mov (conv),ax	
	pop bp
	pop di
	pop SI
	pop bx
	pop cx
	pop dx
	pop ax
	ret

zero : mov ax , 1
	jmp molt
uno : mov ax , 10
	jmp molt
due: mov ax, 100
	jmp molt
tre: mov ax, 1000
	jmp molt
quattro: mov ax, 10000
	jmp molt
.sect .data
.sect .bs
__________________
Albert Einstein disse " Solo due cose sono infinite: l'universo e la stupidità umana. Ma non sono sicuro della prima " e aveva ragione
Ho Contrattato con gli utenti "carbv" "(zar)sheva" "rasbeetle"
radoen è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
X ha disattivato l'account pubblicitario...
Colpo di scena a Hollywood: Paramount pr...
Malesia, giro di vite sul mining illegal...
Meta rivede la roadmap: visore ultralegg...
Addio ricariche continue con le elettric...
Maxi sconto sul robot del futuro: roboro...
I 3 super TV OLED e QLED crollati su Ama...
Tre notebook fuori di testa in sconto: M...
Sconti iPhone su Amazon: oggi ci sono i ...
Google rende disponibile Gemini 3 Deep T...
I 3 super robot Dreame Aqua10 Roller tor...
Tornano in sconto le scope elettriche Ti...
IA nei videogiochi: anche SEGA la utiliz...
Apple in piena tempesta: anche il boss d...
Due GeForce GTX 580 in SLI: l'insospetta...
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: 20:40.


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