2014-02-21 33 views
1

我越來越裝配BT sintax

微軟(R)宏彙編版本6.14.8444 版權所有(C)微軟公司1981- 1997年。版權所有。

組裝:E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm


ASCII建立


E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(117):錯誤A2070:無效instruc 灰操作數 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(118):錯誤A2006:未定義個符號 升:斧 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(119) :錯誤A2006:unde罰款個符號 升:斧 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(120):錯誤A2006:未定義個符號 升:斧 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(121):錯誤A2006:未定義個符號 升:斧 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(123):錯誤A2006:未定義個符號 升:斧 E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(125) :錯誤A2006:未定義個符號 L:AX E:\ RaamSoft \ SICBasm \ EasyCode \ TestIOsicb2.asm(132):錯誤A2006:未定義個符號 L:AX _ 裝配誤差 按任意鍵繼續。 。 。

這些報表117直通134

 bt [esi + ebx + 4], 15 ; El año es impar? 
    mov axe, esi 
    add axe, ebx 
    add axe, 4 
    bt [axe], 15    ; El año es impar? 
    jc skipdia     ; Si, no puede ser bisiesto 
    bt [axe], 7    ; La decada es impar? 
    jnc TestMul4 
    bt [axe], 14    ; El año es 2 o 6? 
    jnc skipdia 
    Pon29: 
    mov ax,  3239h 
    mov [edi], ax 
    jmp  skipdia 
    TestMul4: 
    bt [axe], 14    ; El año es 2 o 6? 
    jc skipdia     ; Si, no puede ser bisiesto 
    jmp Pon29  

我擔心的是BT的語法,併爲所有指令。我還沒有找到明確的解釋。我支持它必須在那裏。我還對在IBM/360中爲IBM 1419的BPS Assembly編程的指令時序感興趣,它在時間限制下進行口袋選擇的異步處理。

+1

_「我確定它必須在那裏」_是的,它被稱爲[Intel軟件開發人員手冊](http://www.intel.com/content/www/us/en/processors/architectures-軟件開發手冊.html) – Michael

+1

沒有名爲'axe'的x86寄存器。 –

+0

謝謝,我是PC部分的新手,有點誦讀困難。它應該是eax。 – user3237507

回答

1

刪除方括號(在第一個例子中,在測試之前,安排eax保存需要在寄存器中進行測試的值)。

[eax] =訪問由eax引用的地址,而不是eax的