{"id":22742236,"url":"https://github.com/heitang/fcu-1082-system_program","last_synced_at":"2025-03-30T04:21:37.645Z","repository":{"id":107686035,"uuid":"254422950","full_name":"HeiTang/FCU-1082-System_Program","owner":"HeiTang","description":"系統程式","archived":false,"fork":false,"pushed_at":"2020-06-18T12:33:51.000Z","size":2376,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T18:50:05.616Z","etag":null,"topics":["assembly","course","lab"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HeiTang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-09T16:25:00.000Z","updated_at":"2021-07-15T14:00:32.000Z","dependencies_parsed_at":"2023-03-13T14:34:16.242Z","dependency_job_id":null,"html_url":"https://github.com/HeiTang/FCU-1082-System_Program","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeiTang%2FFCU-1082-System_Program","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeiTang%2FFCU-1082-System_Program/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeiTang%2FFCU-1082-System_Program/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeiTang%2FFCU-1082-System_Program/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HeiTang","download_url":"https://codeload.github.com/HeiTang/FCU-1082-System_Program/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246274544,"owners_count":20751098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembly","course","lab"],"created_at":"2024-12-11T00:35:21.478Z","updated_at":"2025-03-30T04:21:37.634Z","avatar_url":"https://github.com/HeiTang.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Week 0:03/20\n\n## 下載安裝包\n1. 下載助教給的安裝包：第 0 週_環境設置.zip，並解壓縮\n3. 進入`第 0 週_環境設置`這個資料夾\n4. 執行 DOSBox0.74-3-win32-installer.exe\n5. 安裝 7z1900-x64.exe (7-zip) 解壓縮工具\n\n## 新增 DOS 的硬碟槽\n1. D:\\ 創建一個新資料夾叫做 dos\n2. 在 D:\\dos 創建 ASM 和 MASM 這兩個新資料夾\n3. 右鍵點擊桌面上安裝好的 DOSBox0.74-3 選擇`內容`\n4. 接著`開啟檔案位置`，找到 DOSBox 0.74-3 Options.bat 批次檔\n5. 雙擊後會看到一些預先的設定\n6. 在批次檔的最下方我們新增以下內容 (tty.txt)\n\t```shell=\n\tMOUNT C D:\\dos\\MASM\n\tMOUNT D D:\\dos\\ASM\t\n\tset PATH=$PATH$;c:\\;\n\td:\n\t```\n\t- 第一行，代表將 D 槽中的資料夾設置為 DOSBox 下的 C 槽\n\t- 第三行，將他寫入系統環境變數中\n\t- 最後一行，切換至 d\n7. 將此批次檔存檔後並關閉\n8. 現在執行桌面的 DOSBox 0.74-3，會看到一些 .bat 設定後的資訊\n9. 輸入 C: 或 D: 就能切換當前位置\n\n## 設定 DOS 的硬碟槽\n1. 解壓縮`第 0 週_環境設置/Microsoft Marco Assembler 5.0 (5.25).7z`這個資料夾\n2. 進入該資料夾會看到 disc01.img 和 disk02.img\n3. 右鍵 disk01.img 選擇 7z 功能`開啟壓縮檔`，全選內容將其複製到 D:\\dos\\MASM （dos 的 C 槽）\n4. 選擇 disk02.img 重複上一步\n5. 過程中若出現是否覆蓋重複檔案的問題時，全部皆是\n\t:::info\n\tMASM 是 DOS 的 C 槽\n\tASM 是 DOS 的 D 槽\n\t:::\n\n## 測試是否可運作\n1. 將`第 0 週_環境設置/hello.asm`複製到 D:\\dos\\ASM\n2. 現在執行桌面的 DOSBox 0.74-3\n3. 我們先輸入 `masm`，它會要求你輸入要執行的檔名\n    - ![](https://i.imgur.com/xmcTFth.png)\n5. 我們輸入 `hello`，接著按 ENTER 直到畫面不再出現別的訊息\n    - ![](https://i.imgur.com/bSPrm1H.png)\n    - 這時候會發現上面出現 0 Errors 代表完成\n8. 我們回到 D:\\dos\\ASM 裡面，會發現多了一個 HELLO.OBJ 檔\n9. 切換回 DOSBox 介面，輸入 `link HELLO.OBJ`\n    - ![](https://i.imgur.com/qQcL4Wx.png)\n    - 它會出現一些訊息，一樣按 ENTER 繼續\n11. D:\\dos\\ASM 裡面又多了一個 HELLO.EXE 檔\n12. 在 DOSBox 的介面打上 hello 如果輸出 HELLO 就代表你成功了\n    - ![](https://i.imgur.com/Bf3tKLA.png)\n\n\n## 補充說明\n1. 點開 D:\\dos\\ASM\\hello.asm\n    - ![](https://i.imgur.com/6Ede1Jq.png)\n    - ![](https://i.imgur.com/QdmdjcV.png)\n    - 第一行開頭的 data 和 code 是可以自己命名的\n        - assume cs:\\\u003c自己命名的\u003e, ds:\\\u003c自己命名的\u003e\n2. 13,10 是指換行迴車的 ASCII","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheitang%2Ffcu-1082-system_program","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheitang%2Ffcu-1082-system_program","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheitang%2Ffcu-1082-system_program/lists"}