2
我正在嘗試創建用戶級線程庫。我有一個叫做 void switch_thread(tcb* currSp,tcb* newSp)
的函數,它在C中實現。tcb* currSp
,tcb* newSp
是當前線程和新線程的棧指針。應該在x86彙編中實現switch_thread
函數。 我的問題是如何將堆棧指針當前線程更改爲x86程序集中的新線程。如何將當前線程的堆棧指針更改爲x86彙編中的新線程
.text
.global switch_thread
switch_thread:
mov 0x4(%esp), %eax #current thread
mov 0x8(%esp), %ecx #new thread
//no idea how to implement rest of it.
修改esp很簡單。這是一切困難的事情。你想幫助修改esp嗎?看起來你已經知道如何做到這一點。或者你想要一切幫助嗎? –
給我一個關於其餘實施的任何暗示。 – GPrathap
這不是如何在這裏工作。 SO是針對特定問題的。 –