當前位置:編程學習大全網 - 網站源碼 - C語言和x86混合匯編的問題

C語言和x86混合匯編的問題

test.c內容如下

extern void pChar(char), //這個函數只是聲明了,沒有定義,因此根本就編譯不過。

main()

{

pChar('a');

}

後面那個匯編文件寫的,拋開語言問題。

1、8086在現在的計算機上,只是壹種兼容模式,這種模式就類似於妳在32位xp上運行debug那樣,根本不對的。

2、windows妳調不了這個int指令,這是特權指令,直接調不了的。而且int 10h,這個10h也未必就是輸出操作,這個要詳細查windows系統調用表的,就是那個GDT。壹般需要windbg內核調試的時候才能看到。

因此建議:

1、安裝壹個radasm或者masm,這是windows上的開發工具。

2、轉戰linux,linux可以直接作用as匯編器編譯匯編代碼,也可以使用gcc直接編譯,而且可以馬上看到執行效果。

3、若真欲學匯編大可不必單純的學匯編,直接下載壹個vc6.0 ?__asm直接內聯匯編看效果就好啦,匯編語言重在讀懂源碼,目的是為了工作中調試程序,真正的靠匯編來編寫程序,除非內存要求特別苛刻的條件下,譬如寫shellcode .如下圖所示,妳就明白啦。 直接在VC中用匯編實現 1+1 = 2

  • 上一篇:做公司網站要多少錢?在百度可以搜索到的。
  • 下一篇:雅馬哈rx-v371功放將6路dts改為2路DTS。
  • copyright 2024編程學習大全網