[問題] 32位元比較大小

看板ASM (組合語言)作者 (SurprisingTW)時間13年前 (2012/04/12 09:47), 編輯推噓2(203)
留言5則, 1人參與, 最新討論串1/1
我想寫個程式 當使用者輸入'+'時跳出 但我發現只有使用8位元來存input的時候才會成功 例如:cmp al, '+' 使用16位元和32位元的時候都會偵測不到 例如:cmp ax, '+' ; cmp eax, '+' 然後我用writebin來檢查 發現'+'在8位元下是 0000 0000 0000 0000 0000 0000 0010 1011 16位元下是 0000 0000 0000 0000 0000 0000 0010 1011 32位元下是 0000 0000 0000 1011 0000 0000 0010 1011 所以發現cmp eax, '+'是不能用的 但是不解的是為什麼16位元也不能用 當我寫cmp ax, '+' 的時候完全不鳥我 je Quit 又因為這個程式需要用到push pop所以資料型態要設定成16位元以上 該怎麼辦呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.184.150

04/12 17:59, , 1F
永昇難忘的作業吧(咦
04/12 17:59, 1F

04/12 18:14, , 2F
你input是用Irvine的ReadChar嗎?
04/12 18:14, 2F

04/12 18:15, , 3F
ReadChar AH會放鍵盤掃描碼 AL放該字元 所以跟
04/12 18:15, 3F

04/12 18:15, , 4F
或EAX比自然會錯 還是你是用別的input方法?
04/12 18:15, 4F

04/12 18:16, , 5F
講錯了囧 別理我- -
04/12 18:16, 5F
文章代碼(AID): #1FXZGNAL (ASM)
文章代碼(AID): #1FXZGNAL (ASM)