Сначала идёт команда 7A - погасить лампочку. Команда загружает в регистр R0 число 2. Почему?
Далее идёт команда F8 Описание этой команды M(R(P)) → D; R(P) + 1 → R(P)
Команда F8 загружает в регистр F8 число 3, хотя команда, судя по описанию, должна прибавлять к регистру R0 число 1 и сохранять результат в R0, значит в R0 должно оказаться число 1.
0: 7A -- reset Q (Q = 0)
1: F8 -- ldi 10 (D = 10)
2: 10
3: B1 -- phi 1 (R(1).1 = D, т.е. R(1) = 1000)
4: 21 -- dec 1 (R(1) = R(1) - 1, т.е. R(1) = fff)
5: 91 -- ghi 1 (D = R(1).1, т.е. D = f)
6: 3A -- bnz 4 (переход к адресу 4, пока D != 0)
7: 04
8: 31 -- bq 0 (переход к адресу 0 если Q == 1)
9: 00
a: 7B -- set Q (Q = 1)
b: 30 -- br 1 (переход к адресу 1)
с: 01
d: 00 -- idle (никогда не попадаем сюда).
Есть ли возможность узнать информацию по ветке на удалённом сервере без fetch?
как из консоли узнать имя последнего коммита в ветке на сервере?
$ git ls-remote origin refs/heads/master
2595646791c319cadfdbf271563aac97d0843dc7 refs/heads/master
Обьяснить что означает ошибка, ведь для clang сборщика мы же задаем проц. непонятно помогите.
int pin = (ms / 120) % 10;
Как работает данный код с переменными int?
Как будет отличаться от работы с другим типом переменных (к примеру нецелочисленных)?
for(char* pnew_char = new_char; *pnew_char++ = *--pchar;);
for(; *pchar; ++length, ++pchar);
for(char* pnew_char = new_char; *pnew_char++ = *--pchar;);
if (strcmp(name1, name2) == 1)
The strcmp() and strncmp() functions return an integer less than,
equal to, or greater than zero if s1 (or the first n bytes thereof)
is found, respectively, to be less than, to match, or be greater than
s2.
if (strcmp(name1.c_str(), name2.c_str()) == 0)
Есть программа - она выполняет математические операции. ОЗУ занимает очень много. Больше 25 Гб. Но есть запас ОЗУ.
Когда в кэш процессора данные подгрузились - операции выполняются быстро.
Вопрос - что делать с кэшем?
В каком месте может быть ошибка?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
int main(int argc, char **argv) {
int fd0[2], fd1[2], n;
char c;
pipe(fd0);
pipe(fd1);
if (!fork()) {
close(fd0[0]);
close(fd1[1]);
write(fd0[1], "c", 1);
sleep(1);
if ((n = read(fd1[0], &c, 1)) != 1) {
printf("Дочерний процесс. Результат чтения: %d\n", n);
exit(0);
}
printf("Дочерний процесс прочитал: %c\n", c);
exit(0);
}
close(fd1[0]);
close(fd0[1]);
write(fd1[1], "p", 1);
if ((n = read(fd0[0], &c, 1)) != 1) {
printf("Родительский процесс. Результат чтения: %d\n", n);
exit(0);
}
printf("Родительский процесс прочитал: %c\n", c);
exit(0);
return 0;
}
есть 2 ветки dev и feature-3. я слил ветку dev с feature-3 и запушил dev ветку на remote.
Можно ли ветку feature-3?
$ git checkout dev
$ git merge --no-ff feature-3
$ git push remote HEAD
git merge feature-3
на втором шаге, и мёрж при этом не был фаст-форвардом, то вторую половину можно сделать так:$ git checkout dev
$ git pull remote dev
$ git checkout HEAD^2 -b feature-3
<id-мёржа>^<N>
-- это голова ветки № N участвовавшей в этом мёрже.Так-же если допустим нечаянно смержили ветку staging в master, как этот косяк откатить.
git revert -m 1 <id-of-merge-commit>
-m 1
означает, что при мёрже мастер был первой смёрженной веткой.По сути в master появилась куча разбросанных по времени коммитов, а как откатить я не знаю.
git reset
или git revert
коммита соответствующего мёржу отменяет все коммиты из смёрженной ветки. chowh root:root
для файла, которым он владеет:$ chown root:root test ; echo $?
chown: changing ownership of 'test': Operation not permitted
1
$ fakeroot chown root:root test ; echo $?
0
$ ls -la test
-rw-rw-r--. 1 jcmvbkbc jcmvbkbc 1709 Jun 1 2011 test
make install
и подобные скрипты, меняющие права файлов, которые они устанавливают в систему, не завершались после первой ошибки при запуске под непривилегированным пользователем, а отрабатывали до конца. Правильность владельцев и разрешений устанавливаемых на файлы при этом должна обеспечиваться другими средствами.Почему в мануалах пишут так:
fakeroot dpkg-deb --build ./path
а вот так тоже работает:
dpkg-deb --build ./path
Есть исходный код на Си, который вызывает функцию на ассемблере, но передаваемые аргументы как получить,
могу ли я скомпилировать модуль на одной машине и просто скопировать его на остальные?
что не так?
0x7c00: mov $0x4f01,%ax
0x7c03: mov $0x100,%cx
0x7c06: mov $0x7c77,%di
0x7c09: int $0x10
(gdb) x/6hx $di
0x7c77: 0x00bb 0x0007 0x0040 0x0040 0xa000 0x0000
Все хорошо, но алгоритм не верно работает с унарным отрицанием.
Как исправить?