Re: Предложения по коррекции программного интерфейса ядра
Posted: Fri Sep 21, 2012 9:05 pm
Ещё раз о , так скажем, eax -> al
Цитата: "не будет этого, аминь."
На самом деле только сейчас имеется (недокументированная!) возможность использовать старшие байты eax для чего-то ещё. Если задокументировать ситуацию de facto (как я рекомендовал ранее), то такая возможность пропадёт, ибо макрос mcall может быть изменён так, что в программах в старших байтах eax начнёт храниться мусор. Документировать это de facto всё равно надо, однако в документацию некоторых функций надо будет внести примечание: "Для будущей совместимости надо обнулять старшие байты eax, например, посредством "xor eax, eax", ибо в будущем ah может быть использован для номера подфункций." Первая кандидатура : SysFn9 (смело снизить требуемы размер буфера до 128 байт, против нынешних 1024)
P.S.
Надо ещё подумать - нет ли каких-то неучтённых "подводных камней" - спасибо art_zh за блестящую интуицию!
Цитата: "не будет этого, аминь."
На самом деле только сейчас имеется (недокументированная!) возможность использовать старшие байты eax для чего-то ещё. Если задокументировать ситуацию de facto (как я рекомендовал ранее), то такая возможность пропадёт, ибо макрос mcall может быть изменён так, что в программах в старших байтах eax начнёт храниться мусор. Документировать это de facto всё равно надо, однако в документацию некоторых функций надо будет внести примечание: "Для будущей совместимости надо обнулять старшие байты eax, например, посредством "xor eax, eax", ибо в будущем ah может быть использован для номера подфункций." Первая кандидатура : SysFn9 (смело снизить требуемы размер буфера до 128 байт, против нынешних 1024)
P.S.
Надо ещё подумать - нет ли каких-то неучтённых "подводных камней" - спасибо art_zh за блестящую интуицию!