$ gcc -m32 boot.s -nodefaultlibs -nostartfiles -Wl,-Tlinker.ld -no-pie -o boot.elf
$ readelf -S boot.elf
There are 8 section headers, starting at offset 0x3140:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .note.gnu.bu[...] NOTE 00100000 001000 000024 00 A 0 0 4
[ 2] .multiboot PROGBITS 00101000 003000 00000c 00 0 0 4096
[ 3] .text PROGBITS 00102000 002000 000009 00 AX 0 0 4096
[ 4] .bss NOBITS 00103000 003000 004000 00 WA 0 0 4096
[ 5] .symtab SYMTAB 00000000 00300c 0000a0 10 6 9 4
[ 6] .strtab STRTAB 00000000 0030ac 00004d 00 0 0 1
[ 7] .shstrtab STRTAB 00000000 0030f9 000044 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
D (mbind), p (processor specific)
.multiboot
оказалась по смещению 0x3000. Сигналы доходят до меги, но она не включает ни один из светиков.
Если записать вывод данных в файл
# /opt/speedtest/speedtest | tee spdt.log
то в файле не видно промежуточных значений значений.
strace -f -e ioctl,write -o log <program command line>
Что это значит
���`�B��Χh� �l<*�� !�����
-- это вывод скетча на 9600. Откуда LoadProhibited -- непонятно.можно ли это как-то исправить?
idf.py monitor
обычно декодирует стек трейс и выводит соответствующие строчки исходников, можно начать отсюда. Для выхода из вложенных циклов при try/catch в случае исключения произойдёт свертка стека
будет ли тоже самое для goto?
movw $0x4F02, %ax
movb $0x03, %bl
int $0x10
bh
остался мусор, а этот вызов принимает аргумент в bx
. как это сделать вместе?
U2RXD
с разъёма P1
можно для этого использовать, если речь об этом модуле. какое напряжение на контактах FSPI на esp32 s3 n16r8
Нашел документацию по ISA Xtensa
В memory map esp8266 этот вектор заносится по адресу 0x40000050
Не уверен, конечно, что это так
… 75% cpu 2:23,52 total
… 113% cpu 1:22,71 total
… 73% cpu 2:20,75 total
количество потоков в программе равно количеству потоков процессора (в моём случае - 8…
изучаю разработку модулей ядра,попытался скомпилировать модуль использующий структуру file_operation - ошибка,как оказалось в моих хедерах ядра(/usr/include/linux/) нету данной структуры
Можете подсказать причину?
void test(char** array){ array = malloc(sizeof(char*)); array[0] = malloc(255 * sizeof(char)); strcpy(array[0], "Hello world!"); }
void test(char*** array){
*array = malloc(sizeof(char*));
(*array)[0] = malloc(255 * sizeof(char));
strcpy((*array)[0], "Hello world!");
}
char** array; test(array);
char** array;
test(&array);
возможно, я неправильно использую sf флаг?
mov al, mas[si] cmp ax, ax jns positiveOut ;;;;
cmp ax, ax
сравнивает ax с самим собой, результат немного предсказуем: они равны, т.е. sf = 0, zf = 1. Чтобы узнать знак числа нужно либо сравнивать его с нулём, либо использовать вместо cmp
логическую операцию -- test
, or
или and
.mov al, mas[si]
загружает из памяти только al, в ah остаётся мусор от предыдущих операций. По-нормальному после mov нужно сделать знаковое расширение al в ax, если собираешься дальше работать с ax, например так:mov al, mas[si]
cbw
sub ax, 1 not ax
neg ax
? myvar=$(find "/tmp/folders" -iname "App *" -type d -maxdepth 1) count=${#myvar[@]} echo $count
И в ответ получаю число 120, которое означает количество символов, а не строк
2. Почему в моем примере выводится количество символов в переменной, а не количество строк?
${#myvar[@]}
-- это длина массива. Если идея была создать в первой строке массив из имён файлов, то там не хватает пары скобок:myvar=( $(find "/tmp/folders" -iname "App *" -type d -maxdepth 1) )
${#myvar[@]}
выведет длину этого массива, т.е. количество строк в нём. 1. Реально ли подсчитать количество строк в файле или переменной с помощью глобов, как показано тут - https://stackoverflow.com/a/32727260 ?
wc -l
.