iT邦幫忙

0

#問 x86組合語言 新手問題

  • 分享至 

  • xImage

我想問
(1)我在it邦看到這位大大寫的https://ithelp.ithome.com.tw/articles/10201469
程式碼格式與在visual studio 寫的像 https://bbs.csdn.net/topics/392434465
上寫的組合語言格式不太一樣請問它們有什麼差異嗎?

(2)我希望用visual studio 進行x86的組合語言學習
但是不得其門而入 請問有人能推薦入門的書或是教程 ps請推薦中文的

看更多先前的討論...收起先前的討論...
samuel24 iT邦新手 5 級 ‧ 2020-05-23 11:56:31 檢舉
你指的"格式不太一樣"是指哪個部分呢?具體指出來大家比較好跟你解釋
e6319a5b iT邦新手 4 級 ‧ 2020-05-23 13:47:40 檢舉
像是 在visual studio 裡的 .code 跟 dos上面的 code segment
我也不是很清楚,哈哈哈
不過應該就如 player 說的一樣
MASM 版本的偽指令差異

其他指令應該差不多
都是 8086 家族的

比較需要注意的是位元和作業系統
例如鐵人賽的文章是在講
"16位元 + DOS 作業系統" 的組合語言

這個比較偏基本款
後來還有進階的 32、64 位元
或 Windows 程式的組合語言

最後如果是要在 visual studio 上執行 asm 可以參考這篇
https://bing-yu.blogspot.com/2017/04/visual-stdio-2017x86.html
e6319a5b iT邦新手 4 級 ‧ 2020-05-27 15:33:58 檢舉
抱歉太晚回復 感謝大大回復
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
player
iT邦大師 1 級 ‧ 2020-05-23 15:11:20
最佳解答

MASM版本造成的問題而已
你可以對照一下MS開源的DOS或GW-BASIC的code
這樣應該能區分出早期是用哪種寫法
https://github.com/microsoft/MS-DOS
https://github.com/microsoft/GW-BASIC

e6319a5b iT邦新手 4 級 ‧ 2020-05-23 19:21:40 檢舉

感謝大大,只是請問您有推薦入門的書或教程嗎 我有點不得其門而入 尤其版本又會影響寫法

player iT邦大師 1 級 ‧ 2020-05-25 20:54:11 檢舉

x86組合語言相關的入門書(含BIOS與DOS插斷的書),大約1~2箱以前被二專的同學借走就沒回來了。
所以我手邊沒有入門書。
維基那邊以前隨便寫的,你參考看看
https://zh.wikibooks.org/wiki/X86%E7%B5%84%E5%90%88%E8%AA%9E%E8%A8%80
或是看英文的
https://en.wikibooks.org/wiki/X86_Assembly

組合語言基本上,要進階點的應用的話
通常是到各CPU的官網去下載指令集的SPEC來看

e6319a5b iT邦新手 4 級 ‧ 2020-05-27 15:31:07 檢舉

抱歉 這麼晚回復, 我其實是考試中有計算機組織 所以想來碰碰組語了解一些他們怎麼操作 沒想學到那麼深 再次感謝

0
EN
iT邦好手 1 級 ‧ 2020-05-24 16:02:49

又是一位被組語困擾的夥伴QQ (但我之前是學習ARM組語,可能沒辦法給你直接的學習途徑)
學習組語還是盡量閱讀原文文件比較好,或是看看對岸有沒有翻譯好的文件可以參考。
因為組語的使用者相對較少再加上組語有點年紀了,所以繁中資源真的少的可憐阿阿阿。

e6319a5b iT邦新手 4 級 ‧ 2020-05-27 15:31:46 檢舉

抱歉 之前沒看到您回復xdd 我是因為考試要考計組所以來碰碰看~

我要發表回答

立即登入回答