Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-08-2014, 22:18   #1
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
[ASSEMBLY per intel 80x86 AT&T] CREAZIONE DI UN MENù

Salve a tutti,
ho un problema che non riesco a risolvere, perdonatemi, ma proprio non so da dove partire, devo scrivere un programma in assembly (at&t) su linux, che quando viene lanciato da linea di comando, visualizzi un menù del tipo:

1. riga 1
2. riga 2
3. .....

lanciando l'eseguibile si deve visualizzare una riga alla volta, per spostarsi da una riga all'altra si devono premere i tasti (freccia giù + invio).

una delle righe deve visualizzare l'ora/data, (le specifiche non puntualizzano se devono essere o meno quelle del sistema, ma non riesco a trovare a come fare per prendere la data/ora dal sistema)

so che chiedo molto, e sto cercando in tutti i modi di capirci qualcosa ma mi blocco in continuazione, grazie per l'attenzione e l'aiuto
buonaserata

Ultima modifica di rich94 : 04-08-2014 alle 23:48.
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2014, 22:33   #2
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
vuoi sapere come dedurre la data in asm o come creare un menu con una applicazione eseguita da terminale ? Non si capisce cosa tu voglia chiedere con questa domanda.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2014, 07:52   #3
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
aggiornamento domanda su menú in assembly

Buongiorno, allora scusi se la domanda era poco chiara, comunque per quanto riguarda l'ora io vorrei sapere come fare (con quali istruzioni particolari)scrivere un programma in assembly (per intel 80x86, set istruzioni at&t) che mi stampi su una delle righe del menú l'ora e la data del sistema.
Esempio
Menu:

1. Data: 03/08/14
2. Ora: 7:50
3. .....

Ecco e poi non capisco come fare per spostarsi da un riga all'altra (freccia giú + invio)
visualizzando peró una sola riga alla volta.

Grazie dell'attenzione
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2014, 08:14   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Intanto posta il codice che hai già realizzato. POI si può parlare dei problemi che hai avuto.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2014, 11:43   #5
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
ecco i codici

buongiorno, innanzitutto scusate il ritardo ma ho avuto molto da fare, comunque quello che sono riuscito a ottenere dopo aver lanciato il programma da terminale è questo:

Menù cruscotto
1. Setting automobile:
2. Data: 15/06/2014
3. Ora: 15:32
4. Blocco automatico porte: ON
5. Back-home: ON
6. Check olio
7. Frecce direzione
8. Reset pressione gomme


invece quello che si deve vedere è questo:

Menù cruscotto
1. Setting automobile:

//poi premendo freccia giù + invio deve spostarsi di rigas in riga

Menù cruscotto
2. Data: 15/06/2014 visualizzandone però sempre una alla volta,

ecco io ho sviluppato il programma in 1 main e 8 funzioni (sottoprogrammi) per facilitarmi nel caso avessi riscontrato dei problemi

ecco il main

.section .data
menu:
.ascii " Menù cruscotto\n"

menu_len:
.long . -menu # lunghezza della stringa in byte

.section .text

.global _start

_start:

movl $4, %eax # 4 corrisponde alla system call "write"
movl $1, %ebx # stampa nello standard output (schermo)
leal menu, %ecx # puntatore char a ciò che si vuole stampare

movl menu_len, %edx # copia del contenuto della variabile. carica la lunghezza della variabile

int $0x80 # system call (int sarebbe "interaction"); con 0x80 si lancia una interaction generale
# dichiarata (in base ai valori caricati precedentemente nei registri)


call setting
jmp exit
call data
jmp exit
call ora
jmp exit
call porte
jmp exit
call home
jmp exit
call olio
jmp exit
call frecce
jmp exit
call reset
exit:
xorl %eax, %eax
inc %eax
xorl %ebx, %ebx
int $0x80


---------------------------------------

//sottoprogramma per le righe, ne posto solo uno perchè gli altri sono uguali a parte le etichette e sull'ultimo quello per la riga reset alla fine ho messo l'istruzione ret per uscire dal programma
.section .data

set:
.ascii "1. Setting automobile:\n"

set_len:
.long . -set # lunghezza della stringa in byte

.section .text

.global setting
.type setting, @function

setting:
movl $4, %eax # 4 corrisponde alla system call "write"
movl $1, %ebx # stampa nello standard output (schermo)
leal set, %ecx # puntatore char a ciò che si vuole stampare

movl set_len, %edx # copia del contenuto della variabile. carica la lunghezza della variabile

int $0x80 # system call (int sarebbe "interaction"); con 0x80 si lancia una interaction generale
# dichiarata (in base ai valori caricati precedentemente nei registri)


il problema dell'aggiornamento dell'ora e della data è facoltativo era solo una mia curiosità
vi chiedo scusa ancora per il tempo dedicatomi e spero si legga. Buona giornata
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2014, 08:17   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Allora, intanto "int" non sarebbe "interaction", ma interruzione.
Poi ti consiglio di mettere il codice dentro il tag CODE (è uguale al QUOTE, ma cambia solo il nome del tag).
Il codice del main che hai postato sembra sia parziale, perché non si capisce come fai a stampare tutte le voci del menu.
Comunque per recuperare data e ora devi conoscere la syscall da chiamare. Non sono esperto di Linux, ma dovresti trovarne qualcuna che fa al caso tuo se spulci nell'elenco da dove hai preso quella per la write.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2014, 09:14   #7
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
grazie per la risposta, (scusa ma quando ho scritto i commenti ero sul cell e non ho viato l'errore :-), comunque il main che ho scritto a parte stampare le la scritta Menú cruscotto, poi senplicemente richiama (call .....) le.funzioni che si trovani sugli altri file, tipo quello che ho messo dopo il main, quello che non capisco é come.fare a viaualizzare una riga alla volta quindi impostare come pulsanti (frecciá giú + invio) per passare da una riga all'altra, sugli appunti che ho non viene fatto riferimento, scusa la mia ignoranza .

Poi ho un file con le system call, ma non riesco a capie come usare, fa solo riferimento a un programma scritto in c,

Grazie per il tempo dedicatomi
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2014, 09:15   #8
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
risposta

grazie per la risposta, (scusa ma quando ho scritto i commenti ero sul cell e non ho viato l'errore :-), comunque il main che ho scritto a parte stampare le la scritta Menú cruscotto, poi senplicemente richiama (call .....) le.funzioni che si trovani sugli altri file, tipo quello che ho messo dopo il main, quello che non capisco é come.fare a viaualizzare una riga alla volta quindi impostare come pulsanti (frecciá giú + invio) per passare da una riga all'altra, sugli appunti che ho non viene fatto riferimento, scusa la mia ignoranza .

Poi ho un file con le system call, ma non riesco a capie come usare, fa solo riferimento a un programma scritto in c,

Grazie per il tempo dedicatomi
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2014, 19:25   #9
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Sulle API Linux non sono ferrato. Dovresti fare una ricerca e recuperare quelle che ti servono.

Per fare ciò che chiedi devi definire prima cosa intendi per "visualizzare una riga alla volta", e come gestire le frecce. Insomma, cosa deve fare il programma all'avvio, e cosa quando si preme la freccia sù e la freccia giù. Intendo in maniera precisa: descrivi per bene cosa ti aspetti ogni volta. Poi sarà una questione di recuperare le giuste API che ti servono.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2014, 21:02   #10
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
Allora cercerò di spiegarlo molto semplicemente:
all'avvio del programma, sul terminale dovrà apparire solamente una riga(la prima)
come segue

1. Setting automobile:

-il programma deve permettermi a questo punto premendo (freccia giù + invio) di passare alla riga successiva.. esempio (premo freccia giù + invio)

2. Data: 15/06/2014 (premo freccia giù + invio)

3. Ora: 15:32 (eccetera)

sulla riga 4 e 5

4. Blocco automatico porte: ON
5. Back-home: ON

dovrei implementare anche dei sottomenù che mi permettano (premendo freccia destra + invio di accedervi)

visualizzando questo

4. Blocco automatico porte: ON (premo freccia dx + INVIO) ---> ON/OFF
5. Back-home: ON (premo freccia dx + INVIO) ---ON/OFF

praticamente, una volta entrati nel sottomenù si deve poter impostare la riga relativa esempio (riga 4) sempre con i tasti freccia SU + INVIO (per l'ON) e freccia GIÙ + INVIO per l'OFF

ecco questo è quello che dovrei fare, ma i sottomenù se capisco forse ci arrivo dopo
grazie ancora per l'attenzione
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 09-08-2014, 15:52   #11
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
Salve, forse ho trovato qualcosaper ik discorso della gestione dei pulsanti, non ho ben capito dato che ero su cellulare, ma in teoria vengono messi in lista i tasti e credo il tipo di segnale o interrupt che corrisponde alla pressione di un determinato tasto, forse si potrebbe usarli combinando quelli che servono per fare l'azione o le azioni che mi aspetto dal programma.

Questo é il link, spero si possa mettere

http://www.ctyme.com/intr/rb-0045.htm
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2014, 12:11   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non credo che quel link ti sia utile. Devi cercare fra le syscall che Linux ti mette a disposizione per gestire l'input. Il vettore da richiamare dovrebbe essere lo stesso di quello usato per visualizzare stringhe.

Riguardo all'applicazione, il mio consiglio è di strutturare il codice in modo da gestire un elenco di voci di menù. Quindi niente codice tipo call che hai mostrato prima.

Per essere più chiari, le stringhe con le voci dei menù dovrebbero essere conservate in un vettore, e devi tenere traccia della voce attualmente visualizzata. Quindi all'inizio "punti" alla prima voce del menù, e la visualizzi. Quando premi il tasto di freccia sù o giù devi controllare le condizioni di contorno / limite, e regolarti di conseguenza. Quando si preme invio devi richiamare la routine associata a quella particolare voce, e anche qui ti suggerisco di utilizzare un vettore.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2014, 07:40   #13
rich94
Junior Member
 
Iscritto dal: Aug 2014
Messaggi: 12
System call, questo é l'elenco che ho..

Codice HTML:
%eax	Name	Source	%ebx	%ecx	%edx	%esx	%edi
1	sys_exit	kernel/exit.c	int	-	-	-	-
2	sys_fork	arch/i386/kernel/process.c	struct pt_regs	-	-	-	-
3	sys_read	fs/read_write.c	unsigned int	char *	size_t	-	-
4	sys_write	fs/read_write.c	unsigned int	const char *	size_t	-	-
5	sys_open	fs/open.c	const char *	int	int	-	-
6	sys_close	fs/open.c	unsigned int	-	-	-	-
7	sys_waitpid	kernel/exit.c	pid_t	unsigned int *	int	-	-
8	sys_creat	fs/open.c	const char *	int	-	-	-
9	sys_link	fs/namei.c	const char *	const char *	-	-	-
10	sys_unlink	fs/namei.c	const char *	-	-	-	-
11	sys_execve	arch/i386/kernel/process.c	struct pt_regs	-	-	-	-
12	sys_chdir	fs/open.c	const char *	-	-	-	-
13	sys_time	kernel/time.c	int *	-	-	-	-
14	sys_mknod	fs/namei.c	const char *	int	dev_t	-	-
15	sys_chmod	fs/open.c	const char *	mode_t	-	-	-
16	sys_lchown	fs/open.c	const char *	uid_t	gid_t	-	-
18	sys_stat	fs/stat.c	char *	struct __old_kernel_stat *	-	-	-
19	sys_lseek	fs/read_write.c	unsigned int	off_t	unsigned int	-	-
20	sys_getpid	kernel/sched.c	-	-	-	-	-
21	sys_mount	fs/super.c	char *	char *	char *	-	-
22	sys_oldumount	fs/super.c	char *	-	-	-	-
23	sys_setuid	kernel/sys.c	uid_t	-	-	-	-
24	sys_getuid	kernel/sched.c	-	-	-	-	-
25	sys_stime	kernel/time.c	int *	-	-	-	-
26	sys_ptrace	arch/i386/kernel/ptrace.c	long	long	long	long	-
27	sys_alarm	kernel/sched.c	unsigned int	-	-	-	-
28	sys_fstat	fs/stat.c	unsigned int	struct __old_kernel_stat *	-	-	-
29	sys_pause	arch/i386/kernel/sys_i386.c	-	-	-	-	-
30	sys_utime	fs/open.c	char *	struct utimbuf *	-	-	-
33	sys_access	fs/open.c	const char *	int	-	-	-
34	sys_nice	kernel/sched.c	int	-	-	-	-
36	sys_sync	fs/buffer.c	-	-	-	-	-
37	sys_kill	kernel/signal.c	int	int	-	-	-
38	sys_rename	fs/namei.c	const char *	const char *	-	-	-
39	sys_mkdir	fs/namei.c	const char *	int	-	-	-
40	sys_rmdir	fs/namei.c	const char *	-	-	-	-
41	sys_dup	fs/fcntl.c	unsigned int	-	-	-	-
42	sys_pipe	arch/i386/kernel/sys_i386.c	unsigned long *	-	-	-	-
43	sys_times	kernel/sys.c	struct tms *	-	-	-	-
45	sys_brk	mm/mmap.c	unsigned long	-	-	-	-
46	sys_setgid	kernel/sys.c	gid_t	-	-	-	-
47	sys_getgid	kernel/sched.c	-	-	-	-	-
48	sys_signal	kernel/signal.c	int	__sighandler_t	-	-	-
49	sys_geteuid	kernel/sched.c	-	-	-	-	-
50	sys_getegid	kernel/sched.c	-	-	-	-	-
51	sys_acct	kernel/acct.c	const char *	-	-	-	-
52	sys_umount	fs/super.c	char *	int	-	-	-
54	sys_ioctl	fs/ioctl.c	unsigned int	unsigned int	unsigned long	-	-
55	sys_fcntl	fs/fcntl.c	unsigned int	unsigned int	unsigned long	-	-
57	sys_setpgid	kernel/sys.c	pid_t	pid_t	-	-	-
59	sys_olduname	arch/i386/kernel/sys_i386.c	struct oldold_utsname *	-	-	-	-
60	sys_umask	kernel/sys.c	int	-	-	-	-
61	sys_chroot	fs/open.c	const char *	-	-	-	-
62	sys_ustat	fs/super.c	dev_t	struct ustat *	-	-	-
63	sys_dup2	fs/fcntl.c	unsigned int	unsigned int	-	-	-
64	sys_getppid	kernel/sched.c	-	-	-	-	-
65	sys_getpgrp	kernel/sys.c	-	-	-	-	-
66	sys_setsid	kernel/sys.c	-	-	-	-	-
67	sys_sigaction	arch/i386/kernel/signal.c	int	const struct old_sigaction *	struct old_sigaction *	-	-
68	sys_sgetmask	kernel/signal.c	-	-	-	-	-
69	sys_ssetmask	kernel/signal.c	int	-	-	-	-
70	sys_setreuid	kernel/sys.c	uid_t	uid_t	-	-	-
71	sys_setregid	kernel/sys.c	gid_t	gid_t	-	-	-
72	sys_sigsuspend	arch/i386/kernel/signal.c	int	int	old_sigset_t	-	-
73	sys_sigpending	kernel/signal.c	old_sigset_t *	-	-	-	-
74	sys_sethostname	kernel/sys.c	char *	int	-	-	-
75	sys_setrlimit	kernel/sys.c	unsigned int	struct rlimit *	-	-	-
76	sys_getrlimit	kernel/sys.c	unsigned int	struct rlimit *	-	-	-
77	sys_getrusage	kernel/sys.c	int	struct rusage *	-	-	-
78	sys_gettimeofday	kernel/time.c	struct timeval *	struct timezone *	-	-	-
79	sys_settimeofday	kernel/time.c	struct timeval *	struct timezone *	-	-	-
80	sys_getgroups	kernel/sys.c	int	gid_t *	-	-	-
81	sys_setgroups	kernel/sys.c	int	gid_t *	-	-	-
82	old_select	arch/i386/kernel/sys_i386.c	struct sel_arg_struct *	-	-	-	-
83	sys_symlink	fs/namei.c	const char *	const char *	-	-	-
84	sys_lstat	fs/stat.c	char *	struct __old_kernel_stat *	-	-	-
85	sys_readlink	fs/stat.c	const char *	char *	int	-	-
86	sys_uselib	fs/exec.c	const char *	-	-	-	-
87	sys_swapon	mm/swapfile.c	const char *	int	-	-	-
88	sys_reboot	kernel/sys.c	int	int	int	void *	-
89	old_readdir	fs/readdir.c	unsigned int	void *	unsigned int	-	-
90	old_mmap	arch/i386/kernel/sys_i386.c	struct mmap_arg_struct *	-	-	-	-
91	sys_munmap	mm/mmap.c	unsigned long	size_t	-	-	-
92	sys_truncate	fs/open.c	const char *	unsigned long	-	-	-
93	sys_ftruncate	fs/open.c	unsigned int	unsigned long	-	-	-
94	sys_fchmod	fs/open.c	unsigned int	mode_t	-	-	-
95	sys_fchown	fs/open.c	unsigned int	uid_t	gid_t	-	-
96	sys_getpriority	kernel/sys.c	int	int	-	-	-
97	sys_setpriority	kernel/sys.c	int	int	int	-	-
99	sys_statfs	fs/open.c	const char *	struct statfs *	-	-	-
100	sys_fstatfs	fs/open.c	unsigned int	struct statfs *	-	-	-
101	sys_ioperm	arch/i386/kernel/ioport.c	unsigned long	unsigned long	int	-	-
102	sys_socketcall	net/socket.c	int	unsigned long *	-	-	-
103	sys_syslog	kernel/printk.c	int	char *	int	-	-
104	sys_setitimer	kernel/itimer.c	int	struct itimerval *	struct itimerval *	-	-
105	sys_getitimer	kernel/itimer.c	int	struct itimerval *	-	-	-
106	sys_newstat	fs/stat.c	char *	struct stat *	-	-	-
107	sys_newlstat	fs/stat.c	char *	struct stat *	-	-	-
108	sys_newfstat	fs/stat.c	unsigned int	struct stat *	-	-	-
109	sys_uname	arch/i386/kernel/sys_i386.c	struct old_utsname *	-	-	-	-
110	sys_iopl	arch/i386/kernel/ioport.c	unsigned long	-	-	-	-
111	sys_vhangup	fs/open.c	-	-	-	-	-
112	sys_idle	arch/i386/kernel/process.c	-	-	-	-	-
113	sys_vm86old	arch/i386/kernel/vm86.c	unsigned long	struct vm86plus_struct *	-	-	-
114	sys_wait4	kernel/exit.c	pid_t	unsigned long *	int options	struct rusage *	-
115	sys_swapoff	mm/swapfile.c	const char *	-	-	-	-
116	sys_sysinfo	kernel/info.c	struct sysinfo *	-	-	-	-
117	sys_ipc (*Note)	arch/i386/kernel/sys_i386.c	uint	int	int	int	void *
118	sys_fsync	fs/buffer.c	unsigned int	-	-	-	-
119	sys_sigreturn	arch/i386/kernel/signal.c	unsigned long	-	-	-	-
120	sys_clone	arch/i386/kernel/process.c	struct pt_regs	-	-	-	-
121	sys_setdomainname	kernel/sys.c	char *	int	-	-	-
122	sys_newuname	kernel/sys.c	struct new_utsname *	-	-	-	-
123	sys_modify_ldt	arch/i386/kernel/ldt.c	int	void *	unsigned long	-	-
124	sys_adjtimex	kernel/time.c	struct timex *	-	-	-	-
125	sys_mprotect	mm/mprotect.c	unsigned long	size_t	unsigned long	-	-
126	sys_sigprocmask	kernel/signal.c	int	old_sigset_t *	old_sigset_t *	-	-
127	sys_create_module	kernel/module.c	const char *	size_t	-	-	-
128	sys_init_module	kernel/module.c	const char *	struct module *	-	-	-
129	sys_delete_module	kernel/module.c	const char *	-	-	-	-
130	sys_get_kernel_syms	kernel/module.c	struct kernel_sym *	-	-	-	-
131	sys_quotactl	fs/dquot.c	int	const char *	int	caddr_t	-
132	sys_getpgid	kernel/sys.c	pid_t	-	-	-	-
133	sys_fchdir	fs/open.c	unsigned int	-	-	-	-
134	sys_bdflush	fs/buffer.c	int	long	-	-	-
135	sys_sysfs	fs/super.c	int	unsigned long	unsigned long	-	-
136	sys_personality	kernel/exec_domain.c	unsigned long	-	-	-	-
138	sys_setfsuid	kernel/sys.c	uid_t	-	-	-	-
139	sys_setfsgid	kernel/sys.c	gid_t	-	-	-	-
140	sys_llseek	fs/read_write.c	unsigned int	unsigned long	unsigned long	loff_t *	unsigned int
141	sys_getdents	fs/readdir.c	unsigned int	void *	unsigned int	-	-
142	sys_select	fs/select.c	int	fd_set *	fd_set *	fd_set *	struct timeval *
143	sys_flock	fs/locks.c	unsigned int	unsigned int	-	-	-
144	sys_msync	mm/filemap.c	unsigned long	size_t	int	-	-
145	sys_readv	fs/read_write.c	unsigned long	const struct iovec *	unsigned long	-	-
146	sys_writev	fs/read_write.c	unsigned long	const struct iovec *	unsigned long	-	-
147	sys_getsid	kernel/sys.c	pid_t	-	-	-	-
148	sys_fdatasync	fs/buffer.c	unsigned int	-	-	-	-
149	sys_sysctl	kernel/sysctl.c	struct __sysctl_args *	-	-	-	-
150	sys_mlock	mm/mlock.c	unsigned long	size_t	-	-	-
151	sys_munlock	mm/mlock.c	unsigned long	size_t	-	-	-
152	sys_mlockall	mm/mlock.c	int	-	-	-	-
153	sys_munlockall	mm/mlock.c	-	-	-	-	-
154	sys_sched_setparam	kernel/sched.c	pid_t	struct sched_param *	-	-	-
155	sys_sched_getparam	kernel/sched.c	pid_t	struct sched_param *	-	-	-
156	sys_sched_setscheduler	kernel/sched.c	pid_t	int	struct sched_param *	-	-
157	sys_sched_getscheduler	kernel/sched.c	pid_t	-	-	-	-
158	sys_sched_yield	kernel/sched.c	-	-	-	-	-
159	sys_sched_get_priority_max	kernel/sched.c	int	-	-	-	-
160	sys_sched_get_priority_min	kernel/sched.c	int	-	-	-	-
161	sys_sched_rr_get_interval	kernel/sched.c	pid_t	struct timespec *	-	-	-
162	sys_nanosleep	kernel/sched.c	struct timespec *	struct timespec *	-	-	-
163	sys_mremap	mm/mremap.c	unsigned long	unsigned long	unsigned long	unsigned long	-
164	sys_setresuid	kernel/sys.c	uid_t	uid_t	uid_t	-	-
165	sys_getresuid	kernel/sys.c	uid_t *	uid_t *	uid_t *	-	-
166	sys_vm86	arch/i386/kernel/vm86.c	struct vm86_struct *	-	-	-	-
167	sys_query_module	kernel/module.c	const char *	int	char *	size_t	size_t *
168	sys_poll	fs/select.c	struct pollfd *	unsigned int	long	-	-
169	sys_nfsservctl	fs/filesystems.c	int	void *	void *	-	-
170	sys_setresgid	kernel/sys.c	gid_t	gid_t	gid_t	-	-
171	sys_getresgid	kernel/sys.c	gid_t *	gid_t *	gid_t *	-	-
172	sys_prctl	kernel/sys.c	int	unsigned long	unsigned long	unsigned long	unsigned long
173	sys_rt_sigreturn	arch/i386/kernel/signal.c	unsigned long	-	-	-	-
174	sys_rt_sigaction	kernel/signal.c	int	const struct sigaction *	struct sigaction *	size_t	-
175	sys_rt_sigprocmask	kernel/signal.c	int	sigset_t *	sigset_t *	size_t	-
176	sys_rt_sigpending	kernel/signal.c	sigset_t *	size_t	-	-	-
177	sys_rt_sigtimedwait	kernel/signal.c	const sigset_t *	siginfo_t *	const struct timespec *	size_t	-
178	sys_rt_sigqueueinfo	kernel/signal.c	int	int	siginfo_t *	-	-
179	sys_rt_sigsuspend	arch/i386/kernel/signal.c	sigset_t *	size_t	-	-	-
180	sys_pread	fs/read_write.c	unsigned int	char *	size_t	loff_t	-
181	sys_pwrite	fs/read_write.c	unsigned int	const char *	size_t	loff_t	-
182	sys_chown	fs/open.c	const char *	uid_t	gid_t	-	-
183	sys_getcwd	fs/dcache.c	char *	unsigned long	-	-	-
184	sys_capget	kernel/capability.c	cap_user_header_t	cap_user_data_t	-	-	-
185	sys_capset	kernel/capability.c	cap_user_header_t	const cap_user_data_t	-	-	-
186	sys_sigaltstack	arch/i386/kernel/signal.c	const stack_t *	stack_t *	-	-	-
187	sys_sendfile	mm/filemap.c	int	int	off_t *	size_t	-
190	sys_vfork	arch/i386/kernel/process.c	struct pt_regs
rich94 è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2014, 08:27   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Visto che hai usato la sys_write prima, probabilmente per leggere l'input da tastiera dovrai usare la sys_read, usando 0 come file handle (stdin).
Il problema è come leggere i tasti cursore. Dovresti cercare nella documentazione della sys_read e vedere come fare.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Nikon Comedy Wildlife 2025: le immagini ...
Il telescopio spaziale James Webb ha cat...
Tesla Roadster? Il re di ChatGPT chiede ...
Pier Giorgio Furcas raddoppia: Vice Dire...
Novità PagoPA: con Klarna:pagamen...
Per il 2026 la Cina eseguirà una ...
AMD mette in naftalina RDNA 1 ed RDNA 2?...
Blue Origin New Glenn: completato lo sta...
SpaceX risponde alla NASA sul lander lun...
Bitcoin compie 17 anni: il Whitepaper ch...
Attenzione agli HDD Western Digital Blue...
MacBook Air M4 a un super prezzo su Amaz...
Dal 12 novembre stretta sui siti porno: ...
Recensione Synology DS725+: tornano i di...
Car of the Year 2026, rivelate le 7 fina...
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:09.


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