void fun()
{
int i = 5;
}
В данном случае, 5 - это константа?
Как это будет выглядеть на asm?
5 - это литерал.
Ну, например,
;; Вход в функцию
push ebp
mov ebp, esp
push ecx
;; Инициализация переменной в стеке
mov DWORD PTR [ebp-4], 5
А то и без этого - оптимизатор может разместить значение в регистре, например, или использовать непосредственно значение 5.
О строке - будет что-то типа
msg DB 'is const', 00H
f PROC
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR [ebp-4], 5
mov DWORD PTR [ebp-8], OFFSET msg
mov esp, ebp
pop ebp
ret 0
f ENDP
Сборка персонального компьютера от Artline: умный выбор для современных пользователей