BK/SK,BP/SP和BPK/SPK系统的区别
答案:2 悬赏:70 手机版
解决时间 2021-01-26 16:46
- 提问者网友:练爱
- 2021-01-26 11:06
BK/SK,BP/SP和BPK/SPK系统的区别
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-01-26 11:34
bp:基址寄存器(stack pointer),一般在函数中用来保存进入函数时的sp的栈顶基址
BP: 基数指针寄存器BP(base pointer)是一个寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使用个别的寻址方式时候才能用到
SP,BP一般与段寄存器SS 联用,以确定堆栈寄存器中某一单元的地址,SP用以指示栈顶的偏移地址,而BP可 作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。
bp为基址寄存器,一般在函数中用来保存进入函数时的sp的栈顶基址
每次子函数调用时,系统在开始时都会保存这个两个指针并在函数结束时恢复sp和bp的值。如下
在函数进入时:
push bp // 保存bp指针
mov bp,sp // 将sp指针传给bp,此时bp指向sp的基地址。
// 这个时候,如果该函数有参数,则[bp + 2*4]则是该子函数的第一个参数,[bp+3*4]则是该子函数的 第二个参数,以此类推,有多少个参数则[bp+(n-1)*4]。
.....
.....
函数结束时:
mov sp,bp // 将原sp指针传回给sp
pop bp // 恢复原bp的值。
ret // 退出子函数
BP: 基数指针寄存器BP(base pointer)是一个寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使用个别的寻址方式时候才能用到
SP,BP一般与段寄存器SS 联用,以确定堆栈寄存器中某一单元的地址,SP用以指示栈顶的偏移地址,而BP可 作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。
bp为基址寄存器,一般在函数中用来保存进入函数时的sp的栈顶基址
每次子函数调用时,系统在开始时都会保存这个两个指针并在函数结束时恢复sp和bp的值。如下
在函数进入时:
push bp // 保存bp指针
mov bp,sp // 将sp指针传给bp,此时bp指向sp的基地址。
// 这个时候,如果该函数有参数,则[bp + 2*4]则是该子函数的第一个参数,[bp+3*4]则是该子函数的 第二个参数,以此类推,有多少个参数则[bp+(n-1)*4]。
.....
.....
函数结束时:
mov sp,bp // 将原sp指针传回给sp
pop bp // 恢复原bp的值。
ret // 退出子函数
全部回答
- 1楼网友:夜风逐马
- 2021-01-26 12:24
bk买入开仓和sp卖出平仓,为一完整对应。
sk卖出开仓和bp买入平仓,为一完整对应。
没仓位第一步都叫开仓理解为进货,买入为选择做多,卖出为选择做空;第二步结束这仓位叫平仓出货,第一步是买入的,第二步就是卖出。第一步是卖出的,第二步就是买入。这么对应的,这么好理解吧。
bpk买入平仓同时开仓,反手指令,平掉原来多头仓同时开空头仓
spk卖出平仓同时开仓,反手指令,平掉原来空头仓同时开多头仓
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯