то есть, указатель на символ(пусть даже не первый) указывает на сам символ и на всё что следует после него?
как же message[0] возвращающее char?
В 3 способе, как в подпрограмме вызвать значение в стек FPU?
push bp
mov bp, sp
fld qword ptr [bp + 8]
...
pop bp
ret
А в 1 способе я не понял, что происходит. И он еще не работает, при компилировании выдает ошибку: "Illegal indexing mode" в строчке
push bp
mov bp, sp
sub sp, 8
fld qword ptr [source]
fstp qword ptr [bp - 8]
call OutFloat
add sp, 8
pop bp
ret
3 способ понятен, но тут тоже возникают сложности с загрузкой этой переменной в стек FPU. По идее нужно вызвать три раза pop, отложить их где-то и объединить в единое число?
push bp
mov bp, sp
fld qword ptr [bp + 8]
...
pop bp
ret
в лабе дано задание - подпрограмма принимает значение двух аргументов (Source, Result).
sub sp, 8
fld qword ptr [source]
fstp qword ptr [sp]
call OutFloat
add sp, 8
mov ax, word ptr [source + 6]
push ax
mov ax, word ptr [source + 4]
push ax
mov ax, word ptr [source + 2]
push ax
mov ax, word ptr [source]
push ax
call OutFloat
add sp, 8
lea si, source
sub sp, 8
mov di, sp
cld
mov cx, 4
rep movsw
call OutFloat
add sp, 8
вывод в консоль прежний
Моя задача - освободить память.
Это же как-то тупо, не?
Можно же как-то более... декларативно, по фен-шуйски
у типа нет никакого значения, что значит нельзя менять.
The meaning of a value stored in an object or returned by a function is determined
by the type of the expression used to access it.
Значит и вот это видел:
Пробовал?
И вот это значит видел:
Backend:EEPROM/memory simulator
Т.е. они сделали поддержку слейва похожего на EEPROM. Других бэкендов, похоже, так и не появилось с тех пор. Загляни в конфиг своего ведра, проверь, I2C_SLAVE и I2C_SLAVE_EEPROM там включены?
Нет никакого "соединения" в i2c: мастер отсылает запрос, слейв чей адрес совпадает -- отвечает.
Может, никто с этим не спорит. Они не могут мастерить одновременно, потому что общая шина, а не сеть же.