J'ai utilisé la pile dans l'assemblage mais je n'ai pas eu d'idée à propos de push ebp et pop ebp.explication à propos de l'instruction push ebp et pop ebp dans l'assemblage
.intel_syntax noprefix
.include "console.i"
.text
askl: .asciz "Enter length: "
askb: .asciz "Enter breadth: "
ans: .asciz "Perimeter = "
_entry:
push ebp # establishing stack-frame
mov ebp, esp
sub esp, 12
Prompt askl
GetInt [ebp-4] # length
Prompt askb
GetInt [ebp-8] # breadth
mov eax, [ebp-4] # eax = l
add eax, [ebp-8] # eax = l + b
add eax, eax # eax = 2 * (l + b)
mov [ebp-12], eax
Prompt ans
PutInt [ebp-12]
PutEoL
mov esp, ebp
pop ebp # unwinding stack-frame
ret
.global _entry
.end
Pourquoi publiez-vous le code entier lorsque vous avez un doute avec seulement 6 lignes? – Searock
Il est toujours préférable de donner plus de contexte que moins. Cela dit, la question réelle est vraiment vague et utiliserait plus d'explications. –