Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Le novità MSI del 2026 per i videogiocatori
Le novità MSI del 2026 per i videogiocatori
Con le nuove soluzioni della serie MEG, acronimo di MSI Enthusiast Gaming, l'azienda taiwanese vuole proporre per il 2026 una gamma di proposte desktop che si rivolgono direttamente all'utente più appassionato con schede madri, chassis e sistemi di raffreddamento. Non da ultimi troviamo anche gli alimentatori, che abbinano potenza a ricerca della massima sicurezza di funzionamento.
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


Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Fibra di carbonio, lega di magnesio e 8....
Inaugurato il Padiglione Italia al CES 2...
AGON PRO AG276QSG2: NVIDIA G-Sync Pulsar...
MSI mostra la scheda madre consumer con ...
MSI rinnova l'intera offerta notebook al...
Laifen Wave Pro: debutta al CES lo spazz...
XGIMI Titan Noir Max: al CES il videopro...
Atlas di Boston Dynamics: il robot umano...
TV da 130 pollici ed elettrodomestici, p...
I giochi classici cambiano volto con RTX...
OpenAI testa la pubblicità in Cha...
Plaud riscrive il modo di prendere appun...
Narwal presenta a Las Vegas la nuova gam...
1000W solo per la scheda video: la GeFor...
NVIDIA espande GeForce NOW: nuove app Li...
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: 02:58.


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