En cuanto al principio de la microcomputadora, ¿hay algún experto que domine el lenguaje ensamblador? ¡Por favor ayuda! Gracias.
bp, sp generalmente se usan junto con el segmento ss, sp se usa como base (parte superior de la pila) y bp se aborda en el segmento ss en función de esta base.
Su ejemplo en la imagen es una forma típica de usar el segmento ss para pasar parámetros (parámetros de una función, antes de llamar a la función, los datos que deben pasarse a la función se insertan en la función). pila; después de ingresar al cuerpo de la función, no realiza operaciones de pila en la pila, pero usa bp para localizar, leer y usar datos.
bp es el registro de dirección base, generalmente utilizado para guardar la dirección base de la parte superior de la pila de sp al ingresar a una función
Cada vez que se llama a una subfunción, la El sistema guardará los dos punteros al principio y restaurará los valores de sp y bp al final de la función.
Al ingresar a la función: push?bp; guarde el puntero bp mov?bp, sp? pase el puntero sp a bp, en este momento bp apunta a la dirección base de sp.
;?En este momento, si la función tiene parámetros
, entonces [bp?2*4] es el primer parámetro de la subfunción
; >; [bp 3*4] es el segundo parámetro
; Por analogía, el número de parámetros es [bp (n-1)*4].
..........
Al final de la función: mov?sp, bp?; transfiere el puntero sp original de nuevo a sp pop?bp? ; restaurar el valor de pb original. ret; salir de la subfunción