vscode较详细注释的汇编语言hello world 输出程序,第一个汇编程序
生活随笔
收集整理的這篇文章主要介紹了
vscode较详细注释的汇编语言hello world 输出程序,第一个汇编程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸出hello world,經典且不失優雅的操作。
在寫之前先了解一些知識,會編譯連接運行.asm文件
然后看一下匯編程序基本結構,有一點點matlab的感覺
代碼段,數據段,附加數據段等。
注釋符是分號
具體結構:
;匯編結構**data SEGMENT; 數據段,數據放到這段; 標識符 db/dw 數據;;定義字符串---- stri db "abdcsadabdahsd" data ENDS** edata SEGMENT ;附加數據段;附加數據部分. edata ENDS **code SEGMENT ;代碼段,程序具體代碼 ASSUME CS:code,DS:data,ES:edata 'data段是數據段DS,code段是代碼段CS,ES附加段start:;代碼區 code ENDS** END start ;程序結束,并且程序執行時由start開始執行。然后是hello world程序:
1.定義數據段:
2.定義代碼與具體代碼
CODE SEGMENT;定義代碼段ASSUME CS:CODE,DS:DATA;表明誰是代碼段,誰是數據段 start:MOV AX,DATA;數據首地址賦值給AX,AX是寄存器,累加器MOV DS,AX;使得DS等價于AX,同樣指向數據段LEA DX,MYWORD;使DX寄存器指向數據變量word首地址MOV AH,09h;AH輸出數據INT 21h;執行AH的09h功能,輸出MOV AX,4c00h;設置寄存器功能INT 21h;調用寄存器功能,結束程序 CODE ENDS3,結束
END start;代表結束程序并且在start處執行程序完整代碼截圖:
然后編譯連接ok,不知道怎么做的話
可以看我的另一篇總結文章,
dosbox下自動mount
其實vscode有個快捷生成段的方法:
.code
.data
得到
但是不知道為什么編譯老是不過,最后老實的將_text$00等改了,
知道原因的網友,可以私信告訴我一下,謝啦,共同進步
ps: vscode插件: MASM 可以編寫匯編代碼,不是評論里的MSAM,是我打錯了。。。
不過vscode只是能編輯代碼,編譯鏈接運行還是要使用DOSBOX(虛擬的一個32位運行環境的軟件),配合四個exe文件進行編譯鏈接運行就好啦。
總結
以上是生活随笔為你收集整理的vscode较详细注释的汇编语言hello world 输出程序,第一个汇编程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (有图片)汇编工具dosbox下自动mo
- 下一篇: 汇编loop指令及用法解释