我正在將一些彙編代碼轉換爲C,以便能夠將其與當前編譯環境一起使用。如何在C中執行這些操作?
我已經達到了2個操作我不知道如何翻譯成C.任何人都知道該怎麼做?
在兩者中,offset
是一個無符號的32位整數,而shift
是一個有符號的整數值。 C_FLAG是一個bool。
OP1:
__asm {
__asm mov ecx, shift
__asm ror offset, cl
}
OP2:
__asm {
__asm bt dword ptr C_FLAG, 0
__asm rcr offset, 1
}
非常感謝您對您的專業知識。
PS:我不是原來的開發商,我也見過很多x86彙編代碼...
你問這些操作是做什麼的?或者你問如何用C表達它們?或兩者? – 2010-05-03 20:24:45
有兩種,現在我知道第一個是旋轉右操作;但我不知道第二個是幹什麼的,也不知道如何將它轉換爲C代碼。 – 2010-05-03 20:33:26
你是對的,第一個是旋轉右操作。第二個似乎是在x86程序集中實現ARM RRX(向右旋轉,擴展/旋轉右擴展)。你可以看到這兩個解釋在這裏:http://www.mitchellwebdesign.com/arm/lecture4/lecture4-3-4.html – Xandy 2010-05-03 22:24:44