Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-02-2010, 18:46   #1
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
[Assembler] sostituire le occorrenze in una stringa

avevo questo esercizio da svolgere: stampare un vettore di stringhe, definito nei dati. sempre nei dati definire la variabile "ricercato", come una delle lettere che ci sono nella stringa. L'esercizio richiedeva poi di inserire un carattere da tastiera, e sostituire questo carattere in tutte le occorrenze di "ricercato"


ho provato a farlo varie volte, ma non riesco a scambiarlo, avrò sbagliato qualcosa nel ciclo sostituisci ma non riesco a capire cosa..questo è il codice:

Codice:
codice:data segment   
    vetst db 'p','o','s','t','o'
    ricercato db 'o'
    newc db ? 
    msg1 db "Inserisci carattere: $"
    ; add your data here!
    pkey db "press any key...$"
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    
    
    mov ax, 0
    mov cx, 5
    mov si, 0
   ciclo_stampa: mov dl, vetst[si]  
                 mov ah, 2 
                 int 21h  
                 inc si
                 loop ciclo_stampa
   
   mov dl,13
   mov ah, 2
   int 21h 
   mov dl,10
   mov ah, 2
   int 21h  
   
   lea dx, msg1
   mov ah, 9
   int 21h
   mov ah, 1
   int 21h
   
   mov newc, al
   mov dl, ricercato
   mov bl, newc           
             mov cx, 5
             mov ax, 0
             mov si, 0
             mov dx, 0 
             mov bx, 0
              
   ciclo_sost: cmp dl, vetst[si]
               je sost2
               inc si
               loop ciclo_sost
               sost2: mov vetst[si], bl
               
   
    mov ax, 0
    mov cx, 5
    mov si, 0  
    mov dx, 0
   ciclo_stampa2: mov dl, vetst[si]  
                 mov ah, 2 
                 int 21h  
                 inc si
                 loop ciclo_stampa2   


    ; add your code here
            
    lea dx, pkey
    mov ah, 9
    int 21h        ; output string at ds:dx
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends

end start ; set entry point and stop the assembler.
annam90 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2010, 19:05   #2
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
se qualcuno sa come aiutarmi, è urgente =(
annam90 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 12:12   #3
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
Così fai una sola sostituzione.

ciclo_sost: cmp dl, vetst[si]
je sost2
inc si
loop ciclo_sost
sost2: mov vetst[si], bl

La sostituzione deve avvenire all'interno del loop.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 13:57   #4
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
ho provato..ho messo sost2 sotto a je sost2 e non mi fa il ciclo stampa2
poi l'ho messo sotto ad inc si e mi stampa "p sto"..
annam90 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 14:06   #5
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
Certo, hai azzerato bl:

mov bl, newc
mov cx, 5
mov ax, 0
mov si, 0
mov dx, 0
mov bx, 0

Inoltre non basta spostare quella linea devi anche ragionare su quando devi fare la sostituzione e quando non devi.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 14:59   #6
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
io ho pensato che dovesse far ela sostituzione una volta verificato che i due elementi sono uguali..però poi dovrebbe esserci qualcosa che riporta al ciclo
annam90 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 15:01   #7
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
Quote:
Originariamente inviato da annam90 Guarda i messaggi
io ho pensato che dovesse far ela sostituzione una volta verificato che i due elementi sono uguali..però poi dovrebbe esserci qualcosa che riporta al ciclo
Oppure "non fare la sostituzione quando i due elementi non sono uguali"
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 15:03   #8
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
ho provato a sostituirew con questo..

ciclo_sost: cmp dl, vetst[si]
jne non_sost2
mov vetst[si], bl
non_sost2:
inc si
loop ciclo_sost


ma non và comunque..
annam90 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 15:07   #9
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
Mi fai vedere com'è ora il codice completo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2010, 15:24   #10
annam90
Junior Member
 
Iscritto dal: Feb 2010
Messaggi: 15
Ho risolto! Avevo inizializzato anche bx a 0, e quindi non metteva newc! grazie dell'aiuto ^^


Codice:
; multi-segment executable file template.

data segment   
    vetst db 'p','o','s','t','o'
    ricercato db 'o'
    newc db ? 
    msg1 db "Inserisci carattere: $"
    ; add your data here!
    pkey db "press any key...$"
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    
    
    mov ax, 0
    mov cx, 5
    mov si, 0
   ciclo_stampa: mov dl, vetst[si]  
                 mov ah, 2 
                 int 21h  
                 inc si
                 loop ciclo_stampa
   
   mov dl,13
   mov ah, 2
   int 21h 
   mov dl,10
   mov ah, 2
   int 21h  
   
   lea dx, msg1
   mov ah, 9
   int 21h
   mov ah, 1
   int 21h
   
            mov newc, al
            mov dl, ricercato
            mov bl, newc
              
             
             mov cx, 5
             mov si, 0
             mov ax, 0
             
ciclo_sost: cmp dl, vetst[si]
              jne non_sost2
              mov vetst[si], bl
              non_sost2:inc si
              loop ciclo_sost 
              
              
    mov dl,13
   mov ah, 2
   int 21h 
   mov dl,10
   mov ah, 2
   int 21h
   
    mov ax, 0
    mov cx, 5
    mov si, 0  
    mov dx, 0
   ciclo_stampa2: mov dl, vetst[si]  
                 mov ah, 2 
                 int 21h  
                 inc si
                 loop ciclo_stampa2           
     
     
                 
                 
       
    
    ; add your code here
            
    lea dx, pkey
    mov ah, 9
    int 21h        ; output string at ds:dx
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends

end start ; set entry point and stop the assembler.
annam90 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Il satellite spia russo Kosmos 2612 si t...
Blue Origin continua l'espansione: nuove...
Intel prepara un SoC da 700 TOPS: Razor ...
I nuovi Xreal 1 Pro+ arrivano in Europa ...
La GeForce RTX 5090 non è morta: ...
HONOR Win2 si mostra online: potenza da ...
Clamoroso dietrofront di Sony: cancellat...
GeForce NOW, tante novità con l'u...
Il mercato smartphone rallenta nel Q3 20...
Addio al Valve Index: fine della produzi...
Seggiolini auto i-Size da 0 a 12 anni in...
Amazon determina i prezzi di tutto il we...
Robot aspirapolvere ECOVACS in offerta s...
Bodywel F20PRO o DEEPOWER A5? Due fat bi...
Gli agenti AI non diventano pazzi, sono ...
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: 23:14.


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