[問題] 旗標的問題

看板ASM (組合語言)作者 (ted)時間17年前 (2007/10/31 13:05), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/2 (看更多)
最近在學組語 老師叫我們回家寫一個程式使 進位、溢位、符號、零值旗標改變 我的程式是個別的改變旗標 例: ============================= (第一段程式) CF=1 SF=0 ZF=0 OF=0 (第二段程式) CF=0 SF=1 ZF=0 OF=0 (第三段程式) CF=0 SF=0 ZF=1 OF=0 (第四段程式) CF=0 SF=0 ZF=0 OF=1 ============================= 我不瞭解的是為什麼我的程式執行到第二段的時候CF會變回0 有沒有辦法做到下列的情況呢? ============================= (第一段程式) CF=1 SF=0 ZF=0 OF=0 (第二段程式) CF=1 SF=1 ZF=0 OF=0 (第三段程式) CF=1 SF=1 ZF=1 OF=0 (第四段程式) CF=1 SF=1 ZF=1 OF=1 ============================= 在此附上我的程式碼 .data myname BYTE '我的名字' value1 word 0ffffh value2 word 0h .code main PROC mov edx,0 mov edx, OFFSET myname call WriteString add value1, 2h ;CF改變 call DumpRegs call waitMsg add value2, 8001h ;SF改變 call DumpRegs call waitMsg mov eax, 10000h sub eax, 10000h ;ZF改變 call DumpRegs call waitMsg mov al, -128 sub al, 1 ;OF改變 call DumpRegs call waitMsg exit main ENDP End main -- 新手發問,請多多指教 我會虛心的接受的 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.124.137.191

10/31 13:07, , 1F
因為 ........ 你去看指令就知道了 XDXD
10/31 13:07, 1F

10/31 13:07, , 2F
你可以利用 pushf/popf 去做改變也可以 XD (TF)
10/31 13:07, 2F
文章代碼(AID): #17A0p-9v (ASM)
討論串 (同標題文章)
文章代碼(AID): #17A0p-9v (ASM)