如何在DOS環境或Windows環境中彙編,鏈接和加載彙編語言代碼或C代碼,這有什麼關係?不應該是一樣的嗎?畢竟執行是由微處理器完成的,而不是操作系統。我正在從MS-DOS時代的舊書中學習彙編語言。這是一個挫折嗎?是不是彙編語言和它的代碼執行,O/S獨立?或者就此而言,用其他語言編寫的任何代碼?操作系統是抽象嗎?
3
A
回答
7
是不是彙編語言和它的代碼執行,O/S獨立?或者就此而言,用其他語言編寫的任何代碼?
是和否。
是的。機器的語言與操作系統無關。如果您自己編寫它或者C編譯器爲您編寫它,無所謂。
不需要。您必須使用操作系統才能真正運行軟件。如果你想要它做有用的,你需要調用OS API。這完全取決於操作系統。
0
是的,操作系統「標準化」了我們的程序和處理器之間的通信,以便printf()在Linux和Windows(以及其他)上的行爲與期望的一樣,在這些OS的許多不同版本上以及不同硬件配置。
和理論上,有可能在同一個處理器上運行相同的程序與不同的操作系統,因爲操作碼顯然是相同的,但這不會發生,由於錢的問題(猜猜如果有一天會發生什麼Linux可以運行Windows的應用程序..)。
因此,儘管運行或不運行二進制文件的可能性只應該取決於處理器,但它也取決於操作系統。
相關問題
- 1. SQLite操作系統抽象層?
- 2. 操作系統提供的抽象
- 3. 操作系統是一個過程嗎?
- 4. OSX是POSIX操作系統嗎?
- 5. 如何是操作系統
- 6. 操作系統
- 7. 操作系統API使用中斷嗎?
- 8. 操作系統調用中斷嗎?
- 9. 抽象類可以是控制器操作中的參數嗎?
- 10. 操作系統 - TLB
- 11. 操作系統中
- 12. Linux操作系統
- 13. FASM操作系統
- 14. libumem是否僅在Solaris操作系統或其他操作系統中可用?
- 15. 什麼是操作系統和元操作系統之間的差別
- 16. Docker - 容器操作系統是否需要與主機操作系統相同
- 17. Android操作系統更新系統
- 18. jQuery - 檢測操作系統和操作系統版本
- 19. 預定義爲iPhone操作系統和Mac操作系統
- 20. 在MSWin32操作系統上的條款:: ReadKey :: GetTermialSize操作系統
- 21. 開放源代碼雲操作系統/操作系統架構
- 22. 在Windows操作系統中的pathos軟件包操作系統
- 23. 操作系統和操作系統如何更新自己?
- 24. 3.0 Android操作系統2.2 Android操作系統問題
- 25. 抽象出不同操作系統版本的可繪製的主題?
- 26. 爲什麼一個進程在操作系統中被稱爲抽象?
- 27. 操作系統內核是守護進程嗎?
- 28. 在Chrome操作系統中部署APK。這是可能的嗎?
- 29. libc和malloc是操作系統的一部分嗎?
- 30. 這是確定操作系統架構的好方法嗎?
@ S lott那麼操作系統在運行軟件方面的確切作用是什麼?將它複製到內存中,分配內存段,將第一條指令地址複製到IP?但是在做所有這些事情時,如果軟件是彙編程序還是C,它又有什麼關係?我的意思是,對於一個操作系統來說,一個可執行文件是一個可執行文件,無論它編寫了哪種語言,編譯過哪個編譯器。 – KawaiKx 2011-02-09 16:40:40