Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-06-2004, 16:46   #1
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
[Assembly-DOS] Pulire lo schermo e scrivere una frase

Ciao,

Ho un problema con un programma in Assembly-DOS che ho scritto di prova .

In pratica quello che deve fare sto programma cazzutissimo si può riassumere in 3 parti :

1) Pulisce lo schermo completamente

2) Sposta il cursore di scrittura a metà schermo

3) Scrive un altrettanto cazzutissima frase

Il codice sorgente per NASM è qua :

Codice:
; Source Name: PROVA.ASM
; Executable Name: PROVA.COM

[BITS 16]  ; Set 16 bit code generation
[ORG 0100H] ; Set the start of the code at address 0100H [COM FILE]

[SECTION .text]  ; Opening SECTION .text

START:  ; START Label
  call Cleaning
  mov dl, 25 ; Positioning cursor on 39 = X Coordinate
  mov dh, 11 ; Positioning cursor on 11 = Y Coordinate
  call Positioning ; Calling "Positioning" procedure
  mov dx, message ; Loading in DX the address of "message"
  call Write ; Calling the "Write" procedure
  call Closing ; Calling the "Closing" procedure

Write:
  mov ah, 9 ; Loading DOS service code into AH [9 = Print on the screen]
  int 21H ; Software Interrupt [Calling DOS Dispatcher]
  ret ; Returning from Procedure

Cleaning:
  mov cl, 0 ; Upper-left corner X Coordinate
  mov ch, 0 ; Upper-left corner Y Coordinate
  mov dl, 79 ; Bottom-right corner X Coordinate
  mov dh, 24 ; Bottom-right corner Y Coordinate
  mov al, 0 ; Scrolling 0 lines [Clean the screen]
  mov ah, 6 ; Put BIOS call code 6 in AH
  int 10H ; Calling VIDEO BIOS Service
  ret ; Returning from Procedure
Positioning:
  mov ah, 2 ; Loading VIDEO BIOS Service code into AH [2 = Cursor Positioning]
  mov bh, 0 ; Stay in display page 0
  int 10H ; Calling VIDEO BIOS Service
  ret ; Returning from Procedure
Closing:
  mov ax, 04C00H ; Loading DOS Service code in AX Register [04C00 = exit from execution]
  int 21H ; Calling DOS Service
  ret ; Returning from Procedure
[SECTION .data]

message db "Frase sostituita :)" , 13, 10, "$"
Scusate per i commenti in inglese, ma li ho messi in inglese perchè fanno figo

Comunque il problema è questo :

In pratica lo schermo si pulisce dopo aver eseguito la procedura "Cleaning" che pulisce lo schermo usando la chiamata al Video BIOS "6" , lo schermo diventa completamente nero .

Successivamente fa l'azione di spostare il cursore a centro schermo e di scrivere la frase , solo che.... la frase non si vede!!
Lo schermo rimane totalmente nero e non da segni di vita , neanche il prompt del DOS dopo che ha finito di eseguire il programma .

Posso scrivere quello che voglio , ma lo schermo rimane nero (però in sistema è attivo , infatti se ad esempio do il comando "DIR" non si vede nulla a schermo ma l'HD lavora ) e l'unico modo per recuperarlo è usare il comando "CLS" .

Perchè fa sta cosa???

Come faccio a pulire lo schermo senza che me lo blocchi??

Grazie a tutti

Ciao
__________________
GPU Compiler Engineer

Ultima modifica di AnonimoVeneziano : 25-06-2004 alle 16:50.
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2004, 17:13   #2
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Codice:
Cleaning:
  mov cl, 0 ; Upper-left corner X Coordinate
  mov ch, 0 ; Upper-left corner Y Coordinate
  mov dl, 79 ; Bottom-right corner X Coordinate
  mov dh, 24 ; Bottom-right corner Y Coordinate
  mov bh, 7 ; Attribute
  mov al, 0 ; Scrolling 0 lines [Clean the screen]
  mov ah, 6 ; Put BIOS call code 6 in AH
  int 10H ; Calling VIDEO BIOS Service
  ret ; Returning from Procedure
__________________
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 25-06-2004, 17:31   #3
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da mmx[ngg]
Codice:
Cleaning:
  mov cl, 0 ; Upper-left corner X Coordinate
  mov ch, 0 ; Upper-left corner Y Coordinate
  mov dl, 79 ; Bottom-right corner X Coordinate
  mov dh, 24 ; Bottom-right corner Y Coordinate
  mov bh, 7 ; Attribute
  mov al, 0 ; Scrolling 0 lines [Clean the screen]
  mov ah, 6 ; Put BIOS call code 6 in AH
  int 10H ; Calling VIDEO BIOS Service
  ret ; Returning from Procedure

Attribute??

Non l'avevo trovato da nessuna parte , cosa fa?? (Mo provo)

Grazie

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2004, 17:36   #4
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Funziona

Sei un mito , grazie
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2004, 17:39   #5
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Semplicemente imposta il colore del testo e dello sfondo...prima scrivevi nero su nero....ecco xke non vedevi niente.

Se non ricordo male i 4 bits + significativi sono il colore del testo, dal 5° al 7° bit lo sfondo e il bit finale dovrebbe essere il blink...ma non ne sono sicuro xke è una vita ke non vedo + ste cose...al max prova
__________________
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 25-06-2004, 17:53   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
LoL , detto così sembra facile

Sai mica se c'è una tabella con tutti sti attributi? Mi piacerebbe provare a fare lo schermo di un colore diverso

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2004, 19:46   #7
repne scasb
Bannato
 
Iscritto dal: Feb 2003
Messaggi: 947
Allegati
File Type: zip attr.zip (152 Bytes, 5 visite)

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, 16:24   #8
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
have a look
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 16:26   #9
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da repne scasb
Il seguente codice ASM ti generera' la tabella che cerchi:

Codice:
	View_All_Attribute	proc	near

	mov	ax,3h
	int	10h
	push	0B800h
	pop	es
	mov	di,2C0h
	xor	ax,ax
loop_attribute:
	stosw
	add	ax,101h
	test	al,0Fh	
	jne	loop_attribute
	add	di,80h
	test	al,0F0h
	jne	loop_attribute	
	mov	ah,10h
	int	16h
	mov	ah,4Ch
	int	21h

	View_All_Attribute	endp
Se non dovessi riuscire a compilare il codice ti allego l'eseguibile per visualizzare tale tabella.

Togo , grazie

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2004, 16:27   #10
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Luc@s
have a look

Grazie anche a te

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 18:30   #11
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
giusto per sapere.........come hai poi risolto?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 19:43   #12
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Ho risolto impostando la serie di attributi giusti per lo schermo ^^

Prima mettevo "00" che era come "Nero su Nero" , adesso metto diversi colori a seconda di quelli che voglio , come indicato anche nella tabella nel link che mi hai postato

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 19:48   #13
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Quote:
Originariamente inviato da AnonimoVeneziano
Ho risolto impostando la serie di attributi giusti per lo schermo ^^

Prima mettevo "00" che era come "Nero su Nero" , adesso metto diversi colori a seconda di quelli che voglio , come indicato anche nella tabella nel link che mi hai postato

Ciao
hai evoluto il code?
Ma sul libro che mi hai "passato" c'è sta roba??
E il link che ti ho dato era utile?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 19:59   #14
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Evoluto il code ... diciamo che l'ho modificato , c'è poco da evolvere

Si, sta roba c'è sul libro

Si era utile, grazie

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 20:05   #15
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
Quote:
Originariamente inviato da AnonimoVeneziano
Evoluto il code ... diciamo che l'ho modificato , c'è poco da evolvere
Ma in teoria un soft non è l'evoluzione di poche istruzioni?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 20:14   #16
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Luc@s
Ma in teoria un soft non è l'evoluzione di poche istruzioni?

Ehm


Ma quando sono troppo poche.....


Si, comunque l'ho ottimizzato e adesso usa metà delle istruzioni per fare la stessa cosa

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 20:21   #17
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
I want see the program!
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2004, 21:23   #18
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Ce l'ho sul 286 , quando ho tempo lo posto :P

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Il TAR annulla Bologna Città 30. ...
Laptop con chip NVIDIA da marzo? Emergon...
Costruito in casa, più veloce di ...
Il nuovo Galaxy Book 6 Pro costa il 25% ...
C'è un boom del mercato dei data ...
OVHcloud annuncia la disponiiblità...
Il Wi-Fi 7 ha un nuovo re: da ASUS arriv...
In arrivo l'auto "Frankenstein"...
Chip NVIDIA H200 in Cina? 'Come vendere ...
iPhone 16 torna super conveniente: ora c...
Offerte Amazon pazzesche: tech, smartpho...
Ubisoft annuncia l'arrivo dei 60 fps per...
Infratel Italia: ecco la nuova mappa del...
Hoover HMC5 in offerta: il battimaterass...
Un'idea 'rivoluzionaria' dal Politecnico...
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:58.


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