簡體   English   中英

由於匯編語言中的mul命令未設置Zf

[英]Zf not set as a result of mul command in assembly language

我正在使用masm615匯編器和文本板作為編輯器。 我正在編寫32位匯編程序。 在程序中,由於mul指令,我試圖設置零標志,但是它不起作用。 誰能告訴我為什么eax寄存器中的結果為零時清除零標志的原因。 我正在嘗試以下代碼

    include irvine32.inc
    .data
    .code
    main proc
    xor eax,eax
    call dumpregs
    xor ebx,ebx
    call dumpregs
    mov eax,2
    call dumpregs
    mov ebx,3
    call dumpregs
    sub eax,2
    call dumpregs
    mul ebx
    call dumpregs
    exit
    main endp
    end main

在程序中,由於mul指令,我試圖設置零標志

mul指令不會影響零標志,請參閱英特爾 ®64 和IA-32體系結構軟件開發人員手冊第2卷第3-594頁:

MUL-無符號乘法

...

受影響的標志

如果結果的上半部分為0,則將OF和CF標志設置為0;否則將其設置為0。 否則,它們設置為1。SF,ZF,AF和PF標志未定義。

如有疑問,請始終查看開發人員手冊中的說明文檔。 並非所有指令都會影響人們可能期望的標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM