|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Programmare in C nel 2002
Conviene, ora che siamo nel 2002, programmare in C o è meglio passare a C++??????
A me le funzioni piacciono .....potro usarle ancora per un po?
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Oct 2002
Messaggi: 49
|
Risposta
Ciao,bella domanda la tua??
Anke io sono un programmatore c++,linguaggio ke considero potentissimo. Penso ke il sistema operativo con questo linguaggio è stato creato. Per nn rimanere indietro nell'informatica anke io sto cerkando di conoscere la programmazione web è ti dico ke è molto piu semplice e ti da piu possibilita per un futuro o immediato lavoro. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
nn hai risposto alla mia domanda cmq
![]()
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
perchè dovrebbero rimuoverle?
il C++ perderebbe flessibilità, pensiero peronale ![]() io molte volte rinuncio alle comodità del C++, sono nato sul buon vecchio "C" ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
penso proprio di no!
tutto il vecchio codice che c'è in giro è ancora molto utile ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
Ora ho Borland C++ Builder Enterprise 6 e pensavo si usare C/C++ e ASM con la lora funz Codice:
asm { // codice }
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
per ora non ho mai usato codice assembler nei miei programmi
![]() asm { mov ax, 0x0e07 xor bx, bx int 0x10 } però mi hai incuriosito ![]() |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
a che serve sto cod?????
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
a far produrre un BEEP al tuo PC; prova a compilarlo, non sei curioso
![]() |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il C non morirà mai visto che è ancora più veloce di qualsiasi linguaggio OO...
Il fatto è che se vuoi fare qualcosa il più possibile a basso livello il C è ancora la scelta migliore... Pensa che in tutti i kernel Unix e Linux non c'è una riga di C++, ma è tutto C con assembler inline o con modulo... |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
[ot] Posso darti na domanda sull'assembler?
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
[OT]Ok...spero di saper rispondere
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Questo cod, che sippongo essere asm x86.........
Codice:
;(Hello Word) - by b0nuS 1997 .MODEL small ; indica al compilatore il modello di memoria da usare .STACK 100h ; dimensiona lo Stack .DATA ; inizio del segmento dati Messaggio DB "Salve Mondo",13,10,'$' ;dichiarazione del messaggio .CODE ; inizio del segmento di codice inizio: ;etichetta che segna l'inizio del programma (entry point) mov ax,SEG Messaggio mov ds,ax mov dx,OFFSET Messaggio mov ah,09h int 21h mov ah,4Ch int 21h END inizio come funge???????
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice:
;(Hello Word) - by b0nuS 1997 .MODEL small ; indica al compilatore il modello di memoria da usare .STACK 100h ; dimensiona lo Stack .DATA ; inizio del segmento dati Messaggio DB "Salve Mondo",13,10,'$' ;dichiarazione del messaggio .CODE ; inizio del segmento di codice inizio: ;etichetta che segna l'inizio del programma (entry point) mov ax,SEG Messaggio ;sposta nel registro AX il valore del segmento del messaggio mov ds,ax ;inizializza DS (Data Segment) per usare il contenuto di AX come segmento dati di default mov dx,OFFSET Messaggio ;mette in DX l'offset del messaggio mov ah,09h ;mette in AX 0x09 int 21h ;chiama la routine di interruzione 0x21 (output del emssaggio sullo schermo) mov ah,4Ch ;mette in AH 0x4C int 21h ;chiama l'interruzione 0x21...serve per terminare il programma e tornare all'interprete dei programmi END inizio Questo è codice x86 a 16 bit... Comunque non puoi partire da un codice per imparare l'assembler...devi prima impararti l'architettura dei microprocessori x86... |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
allora mi imparo il c.....che è meglio ![]()
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Jul 2001
Città: Palermo
Messaggi: 1977
|
Quote:
nel nostro caso specifico l'int 21 con la funzione 09 ha il compito di visualizzare sullo standard output una stringa (che deve terminare col $. per chiamare: AH = 09H DS : DX= segment : offset della stringa da leggere. ovviamente non lo ricordavo a memoria, ma ho preso il libro di sistemi dei superiori (dove c'è un bell'elenco dei vari interrupt). ti consiglio cmq di approfondire un pò di asm, io mi "divertivo" tantissimo ad aggingero blocchi asm nel codice pascal o c, anche xè ti permette un'ottima gestione dei dispositivi. byez ps: prova l'interruzione 19h, resetta il computer ![]() |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
L'elenco dei registri a 32 bit è presto fatto EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI...poi ci sono quelli non accessibili direttamente dall'assembler EIP, EFLAG...
Ci sono anche altri registri a 16 bit, i così detti registri segmento che sono divenuti obsoleti nelal programmazione a 32 bit : CS, DS, ES, SS... Comuqnue la lista non ti serve a niente...ti serve l'architettura nei processori x86 per capire come e quando devono essere usati quei registri !!! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:55.