创建局部变量后,如何使用 bp 访问堆栈上的元素? [英] How to access element present on stack using bp, after creating a local variable?

查看:28
本文介绍了创建局部变量后,如何使用 bp 访问堆栈上的元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是 NASM 8086.如何使用 bp 访问堆栈上的第三个和第四个元素?这是我的代码

I am using NASM 8086. How can I access 3rd and 4th element present on stack using bp? Here is my code

mov ax, 1
push ax  ; 1st element on stack
mov ax, 2; 2nd element on stack
push ax

push bp ; save old value of bp
mov bp, sp ; make bp our reference point
sub sp, 2 ; creates a local variable,it can be accessed by [bp-2]

mov bx,3
push bx ; 3rd element on stack
mov cx,4
push cx ; 4th element on stack

mov bx, [bp+6] ; load 1st element in bx
mov cx, [bp+4] ; load 2nd element in cx
mov ax, [bp-2] ; load local variable in ax

现在如何编写 bp 来访问堆栈上的第 3 个和第 4 个元素

Now how to write bp to access 3rd and 4th element on stack

推荐答案

你所说的第三个元素将在 [bp-4],而第四个"将是 [bp-6].

what you're calling the 3rd element would be at [bp-4], and the "fourth" would be [bp-6].

这篇关于创建局部变量后,如何使用 bp 访问堆栈上的元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆