Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2004, 08:34   #1
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
Semplice programma assembly

Ciao, mi sono appena registrato.

In internet ho trovato questo codice, e l'ho modificato appena (parte in grassetto)

Codice:
.model small
.stack 
.data 

Message db "Hello World!$" 	; message to be display
num1 dw 10
num2 dw 5
res dw ?

.code 

mov dx,OFFSET Message 	 
mov ax,SEG Message 	
mov ds,ax 		

mov ah,9 		
int 21h 		
mov ax,4c00h 	
int 21h 

mov bx,num1
mov cx,num2
add bx,cx
mov res,bx
int 21h
mov res,4c00h
int 21h


END
A parte che non conosco bene gli interrupt, io avevo calcolato la stampa a video del numero 15. Invece non stampa nulla (pero' compila correttamente).

Come mai??


Altra domanda: cosa cambia tra asm e macro asm (masm) ?
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 10:00   #2
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 16:57.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 11:49   #3
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
MMMH la stringa non l'ho modificata (Hello World lo stampa lo stesso)
Comunque 15 lo volevo stampare come risultato dell'addizione dei 2 numeri dove se ne dovrebbe occupare
Codice:
mov bx,num1
mov cx,num2
add bx,cx ; somma di 5 + 10
mov res,bx ; res diventa 15
...
... Si puo' fare???

Ciao e grazie cmq
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."

Ultima modifica di kniv7s : 26-06-2004 alle 11:53.
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 12:10   #4
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
Sì, ma devi stampare una cifra alla volta...
Codice:
.model small
.stack 
.data 

Message db "Hello World!$" 	; message to be display
num1 dw 10
num2 dw 5
res dw ?

.code 

mov dx,OFFSET Message 	 
mov ax,SEG Message 	
mov ds,ax 		

mov ah,9 		
int 21h 		

mov bx,num1
mov cx,num2
add bx,cx

mov ax, bx
xor dx, dx
mov cx, 10
div cx

mov dh, dl

mov dl, al	; move al (ascii code) into dl
mov ah,02h 	; function 02h of interrupt 21h
int 21h 	; call interrupt 21h

mov dl, dh	; move al (ascii code) into dl
mov ah,02h 	; function 02h of interrupt 21h
int 21h 	; call interrupt 21h

mov ax,4c00h 	
int 21h 

END
Prova così, dovrebbe andare (gli interrupt non li puoi tirare a caso ) Ovviamente va fino a 99... Oltre ti devi studiare una algoritmo adatto
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 13:05   #5
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
Ok grazie 1000

Ciao!
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 13:17   #6
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
Funziona ? Non l'ho provato...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 15:01   #7
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 16:56.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 15:35   #8
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
Sisi lo sapevo...me lo sono scordato
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 15:52   #9
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Re: Semplice programma assembly

Quote:
Originariamente inviato da kniv7s
Ciao, mi sono appena registrato.
Alle 06:34.....stica
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 18:45   #10
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56


Grazie x le risposte e x la disponibilita'
non appena avro' tempo di testare il programma vi faro' sapere

intanto, avrei una domanda:
c'è incompabilità fra compilatori e compilatori (assembler) ?
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 18:40   #11
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
Assemblatori

Certo che ci sono incompatibilità... Si dividono principalmente in due grandi famiglier... Sintassi Microsoft e sintassi AT&T...

La sintassi AT&T ad esempio inverte sorgente e destinazione delle istruzioni con due operandi rispetto al codice che hai scritto (sintassi Microsoft)... Nella sintassi AT&T ci sono caratteri che identificano i registri (%) e valori... Inoltre mi sembra che sia obbligatorio specifcare la dimensione degli operandi (long word byte etc etc)...

movw %ax, %bx

Al interno delle varie famiglie poi c'è un'ulteriore differenza per cui ogni compilatore, fissata una sintassi delle istruzioni, introduce anche differenti direttive ai compilatori...vedi Borland TASM e Microsoft MASM...

Ultima modifica di cionci : 27-06-2004 alle 18:59.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 18:49   #12
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Sintassi Intel , ti prego , il nome Sintassi MICROSOFT mi fa venir meno
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 18:58   #13
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
Sì...hai ragione La ciamavo sintassi M$ perchè è quella del MASM...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 20:32   #14
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
MMMH, ho controllato e il codice che mi avete dato funziona.

Comunque io uso TASM.

Ora vorrei porvi un ultimo quesito nato dalla lettura oggi, di un libro su microprocessori intel della famiglia 8088 : come mai questi 2 assembly sono diversi?

1: quello dato da voi
Codice:
.model small
	.stack 
	.data 

num1	dw 10
num2	dw 5

	.code 

Start:
	mov	ax,@data
	mov	ds,ax

	mov	bx,num1
	mov	cx,num2
	add	bx,cx

	mov	ax,bx
	xor	dx,dx
	mov	cx,10
	div	cx

	push	dx

	add	al,'0'
	mov	dl,al
	mov	ah,2h
	int	21h

	pop	dx

	add	dl,'0'
	mov	ah,2h
	int	21h

	mov	ax,4C00h 	
	int	21h 

END Start

e questo

Codice:
STACK SEGMENT PARA STACK 'STACK'
STACK ENDS
;
DATA SEGMENT PARA PUBLIC 'DATA'

num1	dw 10
num2	dw 5

DATA ENDS
;
CODE SEGMENT PARA PUBLIC 'CODE'

        assume cs:code
        assume es:data      ; mov ax,@data
	mov	ds,ax

	mov	bx,num1
	mov	cx,num2
	add	bx,cx

	mov	ax,bx
	xor	dx,dx
	mov	cx,10
	div	cx

	push	dx

	add	al,'0'
	mov	dl,al
	mov	ah,2h
	int	21h

	pop	dx

	add	dl,'0'
	mov	ah,2h
	int	21h

	mov	ax,4C00h 	
	int	21h 

CODE ENDS
Come mai sono diversi??

ps.: nel secondo mi dà 1 warning e 1 fatal error ( unexpected end of file encountered).


Ciao
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 23:11   #15
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
Il code assembly è lo stesso... Sono le direttive all'assemblatore che sono diverse... Quello appunto è per Microsoft MASM
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 23:51   #16
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947

Ultima modifica di repne scasb : 03-02-2005 alle 16:56.
repne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 23:59   #17
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
Io dicevo che il modo di scrivere le istruzioni è lo stesso... Il codice non l'ho nemmeno guardato...sono 3-4 anni che non prendo in mano il MASM
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 16:56   #18
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
Ritornando sull'assembly, non mi è chiara la funzione di questo tratto di codice:

Codice:
                mov	ax,bx            
	xor	dx,dx            
	mov	cx,10            
	div	cx               

	push	dx               

	add	al,'0'           
	mov	dl,al            
	mov	ah,2h            
	int	21h              

	pop	dx               

 	add	dl,'0'           
	mov	ah,2h            
	int	21h              

	mov	ax,4C00h 	 
	int	21h
Possibile che per stampare a video la somma di una addizione sia così lungo e complicato (per me) ?
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 17:12   #19
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
Tutto in pratica
Codice:
                ;metto il risultato dell'addizione in ax
                mov	ax,bx
                ;azzero dx
	xor	dx,dx            
                ;metto 10 in cx
	mov	cx,10
                ;divido il contenuto di ax per cx, risultato in ax e resto in dx            
	div	cx               
                ;metto nello stack il contenuto di dx (che devo sporcare)
	push	dx               
                ;aggiungo il caratter '0' perchè i numero sono rappresentati in ASCII da '0' in poi
	add	al,'0'
                ;metto in dl il carattere da stampare           
	mov	dl,al            
                ;seleziono la funzione 2h dell'int 21h
	mov	ah,2h            
                ;richiamo l'interrupt 21h
	int	21h              
                ;riprendo il resto della divisione che avevo salvato
	pop	dx               
                ;aggiungo '0' per lo stesso motivo precedente
 	add	dl,'0'           
	mov	ah,2h            
	int	21h              
                ;esco al DOS
	mov	ax,4C00h 	 
	int	21h
Quote:
Possibile che per stampare a video la somma di una addizione sia così lungo e complicato (per me) ?
Altrimenti non era assembly E non hai ancora visto niente !!!
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 19:17   #20
kniv7s
Member
 
L'Avatar di kniv7s
 
Iscritto dal: Jun 2004
Città: Cesena
Messaggi: 56
Ok, perfetto! Grazie!

Ho trovato alcuni sorgenti su internet, ma davvero pochi.
Conoscete voi un sito che ne offra parecchi?

Ciao
__________________
Roberto Casadei
http://www.robyonrails.eu
"Tant'è amara che poco è più morte, ma per trattar del ben ch'i' vi trovai, dirò de l'altre cose ch'i' v'ho scorte."
kniv7s è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Un gruppo di ladri ha usato Google Maps ...
Apple non si fida di Samsung per la real...
Windows 11: un nuovo driver nativo mette...
Vi hanno regalato buoni Amazon? Intanto ...
Via acari, polvere e sporco da materassi...
Cuffie Beats in super offerta su Amazon,...
Xbox Cloud Gaming arriva su Amazon Fire ...
Un blackout a San Francisco manda in til...
Windows 11 è diventato più...
Apple cambia strategia a causa della cri...
007 First Light: uscita rimandata di due...
Samsung Galaxy A37 e A57: il comparto fo...
DAZN lancia la sua offerta di Natale: My...
Gigabyte fa marcia indietro? Sparito il ...
Alcuni rivenditori giapponesi bloccano l...
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: 22:26.


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