Я хочу написать встроенный код сборки для распечатки текущего времени в формате H: M и имени машины (?).
struct timeval tv;
struct tm *ptm;
int dummy;
__asm__ volatile("int $0x80"
: "=m" (tv), "=a" (dummmy)
: "1" (SYS_gettimeofday), "b" (&tv), "c"(0)
);
ptm = localtime((time_t *)&tv.tv_sec);
strftime(time_string, sizeof(time_string), "%H:%M ", ptm);
write(out, time_string, strlen(time_string));
Эта строка кода дает мне время, но ононеверно, сначала он переходит на 00:21, затем на 01:00, но правильное время - 21: 47.
Следующий код должен получить имя компьютера или имя сервера (не уверен, как он называется).
struct utsname stroj;
__asm__ volatile("int $0x80"
: "=m" (stroj), "=a" (dummy)
: "1" (SYS_uname), "b" (&stroj), "c" (0)
);
write(1, stroj.nodename, strlen(stroj.nodename));
Но это вообще ничего не печатает!Что-то не так с этим кодом?(Должно быть.)