線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1781
推到 Plurk!
推到 Facebook!

關於組合語言指令轉C

答題得分者是:
閃亮滿天星
一般會員


發表:1
回覆:2
積分:0
註冊:2005-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-27 23:40:55 IP:203.73.xxx.xxx 未訂閱
各位好 現在用Keil寫c的時候 發現一個問題 組合語言有個指令RLC A 將ACC與進位旗標的值向左旋轉一位元, 會用到CY。 可是我在C找不到類似的運算子 只有<<,他會將移位的位元,存到CY嗎??

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-28 00:10:40 IP:220.134.xxx.xxx 未訂閱
"<<" 只有移位的功能, 並不會將CY移入. 請問你為何須要和組語一樣功能的寫法?你要將別人的組語程式轉為C嗎? 若是, 請你直接了解別人寫法的意義與流程.用C寫很簡單.而不是直接翻譯...那C就沒意義了, 你直接抄不是更快?
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
閃亮滿天星
一般會員


發表:1
回覆:2
積分:0
註冊:2005-07-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-28 01:14:45 IP:203.73.xxx.xxx 未訂閱
我是看到組合語言上有RLC A這指令 現在用C語言寫 一直找不到類似的方法 我是想左移之後將最高位元的值取出使用 而組合語言的RLC A有這功能 所以才會問C語言有沒有類似的指令 請問我該如何解決 謝謝

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-28 01:25:32 IP:220.134.xxx.xxx 未訂閱
直接 x=y/128, x就會等於y最高位元了.(前提,y<=255,x.y皆為整數) 還是不懂你為何要這個功能. 可以詳述你到底要寫什麼嗎? 發表人 - ㊣ 於 2005/07/28 01:27:19
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
閃亮滿天星
一般會員


發表:1
回覆:2
積分:0
註冊:2005-07-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-28 01:38:16 IP:61.56.xxx.xxx 未訂閱
版主大人真是太神了 我取最高位元的目的 是要去送出"0"代表一個脈波 而"1"是代表另一個脈波 詳細情形有點複雜又有點簡單 現在還在公司寫程式 就是卡在目前這個地方 真的謝謝版老大 感恩
powmien
初階會員


發表:27
回覆:80
積分:41
註冊:2004-10-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-28 14:32:44 IP:60.248.xxx.xxx 未訂閱
引言: 版主大人真是太神了 我取最高位元的目的 是要去送出"0"代表一個脈波 而"1"是代表另一個脈波 詳細情形有點複雜又有點簡單 現在還在公司寫程式 就是卡在目前這個地方 真的謝謝版老大 感恩
又忍不住來插花了,正大說的>>" 跟 "<<" 其實就能達成目地的.. 因為 >>>>>>> >> class="code"> 假設 x 為 0xAA = 10101010 (b) /2 1010101 /2 101010 /2 10101 /2 1010 /2 101 /2 10 /2 1 (b) 這樣msb就取出來了 那lsb呢? 可以用x&=0x01; 來實現.. 把除了lsb之外的bit全清為0 好像太雞婆了 其實是上班摸蝦中...
系統時間:2024-05-15 16:58:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!