Visualizzazione post con etichetta Sistemi. Mostra tutti i post
Visualizzazione post con etichetta Sistemi. Mostra tutti i post

martedì 15 gennaio 2013

Assembler, Debug Su Win 7 Pro 64bit

Allora, amici miei, facciamo un post riguardante la materia di Sistemi. La prima vera difficoltà che ho trovato, con questa materia, è quella di avere, mio malgrado, un Sistema Operativo molto bello, e molto avanti  ma "stupidamente stupido"! 
Com'è possibile che Windows 7 non riesca a far girare alcosa che è più vecchio di lui???
Ma iniziamo con ordine, perchè se no ci complichiamo le idee inutilmente!

Il problema: usare il debug nella shell di windows ( o prompt dei comandi, come dir si voglia ), in un sistema operativo Windows 7 o successivi, che siano a 64bit.

Cominciamo, analizzando la difficoltà:
Normalmente con un pc con WinXp (come quelli che usiamo a scuola), andremmo su Start->Esegui e digiteremmo cmd.com, per aprire il prompt dei comandi (d'ora in poi shell per brevità).
Una volta aperta la shell, avremmo la possibilità di utilizzare il comando debug, per far partire il nostro strumento di programmazione assembler.
Se facciamo la stessa cosa con Windows 7 a 64bit, dovremmo semplicemente andare su Start->Cerca e digitare cmd, una volta apparsa l'icona della shell cliccarci sopra ed aprirla. Ma attenzione, ora che scriviamo debug, troveremo questo errore: 


Il problema si pone perchè essendo un programma che funziona a 16 bit, con sistemi a 16 e 32 bit funzionava ed era supportato, a 64 bit no. Grazie Microsoft per il tuo splendido prodotto! =_='

Ma allora come facciamo? Io non voglio comprare anche una copia di Windows Xp, e nemmeno avere 2 sistemi operativi con un dual boot! Un'altra soluzione, un pò più macchinosa e brutta ( e soprattutto non verificata)  sarebbe installare Ubuntu (o un'altra distro Linux ) e tramite Wine (Wine Is Not an Emulator!) provare i nostri programmi previa installazione!!!

Ma Windows ci viene incontro, se e solo se, abbiamo pagato qualcosina di più per avere Windows 7 Profesional, Enterprise o Ultimate, quando abbiamo comprato il pc. Grazie a uno di questi sistemi operativi abbiamo la possibiltà di fare gratuitamente e senza bisogno di altri cd di installazione, una macchina virtuale che farà girare un sistema ospitato sul nostro Win 7 Pro (quindi niente riavvio, ne dual boot) un bel windows xp a 32bit, che magicamente avrà il nostro "amato" debug con assembler funzionante!! Incrediiiibileee!!!! Ma vero, e funziona!
Potete trovare il link per scaricarlo da qui: MICROSOFT WINDOWS VIRTUAL PC.

Ma non finisce qui ragazzi...
Per chi di voi non ha la "fortuna" di avere questi sistemi operativi c'è un'altra soluzione, meno elegante, un tantino più laboriosa (ma poco eh!) ma sicuramente efficace allo stesso modo.

Mi riferisco alla possibilità di installare Virtual Box e Windows XP
Prima che continuate a leggere questo punto, vi metto subito davanti al primo problema: avere una ISO di Windows XP (qualsiasi versione, purchè non a 64bit).  Se avete solo il cd, potete andare avanti a leggere lo stesso, perchè potremo usare Virtual Box sia con una Iso, sia con un CD. 

Quello che conta è che abbiate una copia (originale!!!) di Windows Xp che potrete usare in un modo o nell'altro per l'installazione della macchina virtuale.
Per creare una Iso di Windows Xp (o qualsiasi altro cd/dvd di cui volete copiare TUTTI i dati al suo interno in un unico file .ISO), potete scaricare questo piccolo programma che si chiama ImgBurn, molto semplice ed efficace. Il link rimanda al download diretto, dovete semplicemente scegliere da quale mirror (un computer "server" che contiene il file da scaricare) eseguire il download.

Già, Microsoft, come dicevamo prima, ci da la possibilità di mettere Virtual Pc se e solo se abbiamo quei tre sistemi operativi elencati prima, ma con Virtual Box potrete installare la vostra nuova macchina virtuale su un qualsiasi pc che abbia Windows, Linux, ecc... quindi iniziamo dall'installazione di questo programma indispensabile: HOME PAGE VIRTUAL BOX.

I passaggi sono semplici e in rete si trovano davvero molti video e tutorial utili per l'installazione. Fate questa operazione se non volete fare un upgrade del vostro sistema operativo.
Bene, spero di esservi/ci stato d'aiuto.
In questo modo abbiamo diverse soluzioni per chi come me ha la fortuna/sfortuna di avere un sistema a 64bit e di andare in una scuola dove si lavora ancora a 16bit!! Mannaggia a Microsoft! ;-)

sabato 27 ottobre 2012

MIPS && Operatori Logici

Ciao! Oggi comincio col darvi un link che riporta a wikipedia. L'argomento è MIPS ovvero un'unità che misura la velocità di esecuzione delle istruzioni Assembly di un microprocessore.

Apri il link di wikipedia per saperne di più!

Ma non è tutto. Ieri abbiamo parlato di Operatori di confronto... bene ecco una breve descrizione-sintetitca di ciò che è stato detto:

 

Operatori di confronto

Gli operatori di confronto permettono di verificare determinate condizioni, come ad esempio l’uguaglianza, la disuguaglianza, o semplicemente se un elemento è maggiore di un’altro; la seguente tabella mostra nel dettaglio gli operatori di confronto e la loro funzione:


SimboloSignificatoUtilizzo
==uguale aa == b
!=diverso daa != b
<minorea < b
>maggiorea > b
<=minore o ugualea <= b
>=maggiore o ugualea >= b



Questi operatori servono quando incontreremo le istruzioni condizionali e quelle iterative, perché se la condizione è verificata restituiscono vero, altrimenti restituiscono falso. Gli operatori di confronto sono operatori a due argomenti ed hanno sempre posizione infissa (cioè tra i due argomenti).

 

Operatori logici

Anche gli operatori logici vengono utilizzati con le istruzioni condizionali ed iterative, e permettono di fare l’AND e l’OR tra due operandi; nella tabella mostriamo i simboli usati e il loro utilizzo:


SimboloSignificatoUtilizzo
&&AND logicoa && b
||OR logicoa || b

Queste operazioni restituiscono necessariamente 1 quando sono vere e 0 quando sono false, quindi l’espressione a || b assume valore uno se e solo se a o b valgono uno, mentre vale zero se entrambi gli operandi valgono zero; analogamente a && b assume valore zero se a o b valgono zero, uno nel caso entrambi valgano uno.

Stampa