При достижении или больше определённого количества переменных или функций, перестают работать все string literals в ядре C
mov bx, KERNEL_OFFSET ; Read from disk and store in 0x1000
mov dh, 54 ;31 or 54
как можно увеличить память для них?
Почему … GetKeyState() не считывает состояние клавиши?
The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information.
qemu-img dd -O raw if=file.qcow2 of=file.raw
.mkdir fs ; sudo mount file.raw fs
. Если там таблица разделов, можно каким-нибудь kpartx создать устройства для каждого из разделов и примонтировать нужные:$ mkdir fs ; sudo kpartx -av file.raw
add map loop0p1 (254:4): 0 65536 linear 7:0 2048
add map loop0p2 (254:5): 0 2029568 linear 7:0 67584
$ sudo mount /dev/mapper/loop0p2 fs
если роутер отправил мне-компьютеру запрос, то какой процесс будет отвечать на него?
за получение ip по DHCP отвечает клиент
ip=dhcp
, тогда будет работать код вот из этого файлика. Такие же порты используются при нахождении нажатой клавиши на клавиатуре, так как они могут быть и там и тут?
Моя программа … выводит адрес на месте первого числа и букву на месте второго числа.
как исправить?
"%d %d"
.push razmer
чтобы передать адрес переменной razmer в scanf, но в printf нужно передать не адрес переменной, а её значение. Например так:mov eax, [razmer]
push eax
Как в ситуации ниже, поступает компилятор?
string::operator <
. Если это std::string, то оператор выполняет лексикографическое сравнение, т.е. сравнивает символы обеих строк по очереди до первой различающейся пары, меньшей будет та строка, которой принадлежит символ с меньшим кодом.Могут ли быть какие-то проблемы
Почему не получается деление div на ассемблере в С++?
char b1 = 3, b2, b3 = 1 , res2; //1 байт el, bl, ah ]] cbw -> short short w1= 1000, w2 = 500, w3 = 2; //(w1 - w2) * w3 / b1
div bl
"Кадр не находится в модуле". Подскажите с чем это может быть связано
HANDLE h = CreateThread( NULL, 0, factorial(gn), NULL, NULL, NULL );
CreateThread(NULL, 0, factorial, NULL, NULL, NULL)
). 3) если ты сделаешь эти два изменения, тебе прийдётся также переделать передачу параметра в функцию factorial и получение результата её работы. во-первых компилятор даёт предупреждение, … , но ошибки не производит. Я спокойно линкую файл недо-драйвера с основным ядром, (конечный результат - .efi),
objdump -t bootx64.so | grep UND
0000000000000000 *UND* 0000000000000000 inportb
Trace 0: 0x7fb15d338e80 [0000000000000000/000000007e6e22de/0x40c2b0]
----------------
IN:
0x7e6e2081: bf 60 00 00 00 movl $0x60, %edi
0x7e6e2086: b8 00 00 00 00 movl $0, %eax
0x7e6e208b: e8 90 57 00 00 callq 0x7e6e7820
Trace 0: 0x7fb15d3390c0 [0000000000000000/000000007e6e2081/0x40c2b0]
----------------
IN:
0x7e6e7820: af scasl (%rdi), %eax
0x7e6e7821: af scasl (%rdi), %eax
0x7e6e7822: af scasl (%rdi), %eax
0x7e6e7823: af scasl (%rdi), %eax
0x7e6e7824: af scasl (%rdi), %eax
0x7e6e7825: af scasl (%rdi), %eax
0x7e6e7826: af scasl (%rdi), %eax
0x7e6e7827: af scasl (%rdi), %eax
0x7e6e7828: af scasl (%rdi), %eax
0x7e6e7829: af scasl (%rdi), %eax
0x7e6e782a: af scasl (%rdi), %eax
0x7e6e782b: af scasl (%rdi), %eax
…
unsigned char
inportb(unsigned short port)
{
unsigned char v;
asm volatile ("in {%1|%b0}, {%b0|%1}\n" : "=a"(v) : "d"(port));
return v;
}
-zdefs
в команду линковки чтобы получать ошибку линковки при наличии ссылок на неопределённые символы.-monitor stdio
). Я нажимаю ESC когда в QEMU запускается tianocore и выбираю Boot Manager -> EFI Internal Shell, а там пишу fs0:efi\boot\bootx64.efi
, после этого в мониторной консоли включаю логгирование (командами logfile log
, log in_asm,exec
), после чего нажимаю enter в консоли EFI. После этого можно смотреть в файл log и искать в нём знакомые байты из objdump. GetWindowText() записывает в массив char'ов через символ
GetWindowText(obj.hEDIT,(LPWSTR)&msg, sizeof(msg));
sizeof(msg)
а sizeof(msg)/sizeof(*LPWSTR)
. У меня есть два make-файла, первый вызывает второй.
Мне хотелось бы получить некоторые данные из второго make-файла.
Готов даже как-то поучаствовать в разработке/допиливанию net_applet, но нигде не нашёл не то что исходников, но и какого-то места или человека, кому задать такой вопрос.