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

怎樣在linux 底下插入一段組合語言程式碼

尚未結案
turtlesmart
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-27 22:45:27 IP:163.13.xxx.xxx 未訂閱
我是個程式新手,目前剛好在學組合語言。可是我試著想在linux 底下c 裡插入判斷的組合語言,但是一直失敗。希望各位前輩能給予指教,謝謝。
mihopaul
一般會員


發表:25
回覆:59
積分:16
註冊:2002-03-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-08 18:50:20 IP:61.30.xxx.xxx 未訂閱
建議你可以去看你linux下的Source code 如 string.h 這裡面的程式都是inline 組語 可以順路學學 strcpy是如何寫的~~ 這二個網頁有個簡單的教學 http://www-900.ibm.com/developerWorks/cn/linux/l-assembly/index.shtml http://www.lisoleg.net/lisoleg/applications/index.html 此外建議你可以把自已的程式碼貼一小小段上來,不然方向太大,別人 可能也不知道該如何跟你說~~只能像我這樣給個大方向^^""" FYI
turtlesmart
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-08 19:14:05 IP:163.13.xxx.xxx 未訂閱
嗯..抱歉沒把問題說的很清楚 假設目前有char a[512] 想把前508個bit相加的總合放入後4 bit 我是嘗試用外部副程式去呼叫 在C 裡 打上 client(a); 執行 但是如果想用inline的方式那就不知要如何實行 (這是小弟我不久前的作業成品,也希望各位前輩能有所指教) -------------------/副程式/----------------------- BIT32 global client client: push ebp mov ebp,esp mov dword ebx,0 mov dword eax,0 mov word cx,508 mov byte dh,0 mov byte dl,4 mov edi,[ebp 8] label: mov al,[ebx edi] inc ebx dec cx cmp cx,0 je label4 label1: shl al,1 jc label2 jnc label3 label2: inc eax inc dh cmp dh,8 je label jne label1 label3: inc dh cmp dh,8 je label jne label1 label4: push eax pop ax mov [edi 508],al mov [edi 509],ah pop ax mov [edi 510],al mov [edi 511],ah pop ebp ret
turtlesmart
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-08 19:14:16 IP:163.13.xxx.xxx 未訂閱
嗯..抱歉沒把問題說的很清楚 假設目前有char a[512] 想把前508個bit相加的總合放入後4 bit 我是嘗試用外部副程式去呼叫 在C 裡 打上 client(a); 執行 但是如果想用inline的方式那就不知要如何實行 (這是小弟我不久前的作業成品,也希望各位前輩能有所指教) -------------------/副程式/----------------------- BIT32 global client client: push ebp mov ebp,esp mov dword ebx,0 mov dword eax,0 mov word cx,508 mov byte dh,0 mov byte dl,4 mov edi,[ebp 8] label: mov al,[ebx edi] inc ebx dec cx cmp cx,0 je label4 label1: shl al,1 jc label2 jnc label3 label2: inc eax inc dh cmp dh,8 je label jne label1 label3: inc dh cmp dh,8 je label jne label1 label4: push eax pop ax mov [edi 508],al mov [edi 509],ah pop ax mov [edi 510],al mov [edi 511],ah pop ebp ret
系統時間:2024-05-06 20:13:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!