用汇编语言写的第一个DOS程序
生活随笔
收集整理的這篇文章主要介紹了
用汇编语言写的第一个DOS程序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天整理電腦時(shí),看到兩三年前學(xué)習(xí)匯編語(yǔ)言時(shí)寫(xiě)的顯示“Hello”的程序。不禁感嘆那個(gè)時(shí)候?qū)W得如此用心,同樣的功能,我竟然用了四種寫(xiě)法。現(xiàn)貼出源碼,為了以后繼續(xù)學(xué)習(xí),也為了給初學(xué)者一點(diǎn)啟發(fā)。(刪掉注釋了,感覺(jué)注釋老對(duì)不齊,影響美觀。)
程序使用MASM5.0編譯(誰(shuí)讓書(shū)上用的那么古老……)
第一種:
ASSUME CS:CODECODE SEGMENTDB 'HELLO','$' START:MOV AX,CODEMOV DS,AXMOV DX,00HMOV AH,09HINT 21HMOV AH,00HINT 16HMOV AH,4CHINT 21H CODE ENDS END START第二種:
ASSUME CS:CODE,DS:DATADATA SEGMENTDB 'HELLO','$' DATA ENDSCODE SEGMENT START:MOV AX,DATAMOV DS,AXMOV DX,00HMOV AH,09HINT 21HMOV AH,00HINT 16HMOV AH,4CHINT 21H CODE ENDS END START第三種:
ASSUME CS:CODE CODE SEGMENTDB 'HELLO','$'NOPPUSH CSPOP DSMOV DX,00HMOV AH,09HINT 21HMOV AH,00HINT 16HMOV AH,4CHINT 21H CODE ENDS END第四種:
ASSUME CS:CODE,DS:DATA,ES:STACKDATA SEGMENTDB 'HELLO','$' DATA ENDSSTACK SEGMENTDB 8 DUP (?) STACK ENDSCODE SEGMENTPUSH CSPOP SSPUSH CSPOP DSMOV SP,00HMOV BX,00HPUSH [BX]ADD BX,02HPUSH [BX]ADD BX,02HPUSH [BX]MOV DX,00HMOV AH,09HINT 21HMOV AH,00HINT 16HMOV AH,4CHINT 21H CODE ENDS END?源碼及編譯好的程序下載,請(qǐng)點(diǎn)我;MASM5.0編譯器下載,請(qǐng)點(diǎn)我。
轉(zhuǎn)載于:https://www.cnblogs.com/danwsy/p/4773476.html
總結(jié)
以上是生活随笔為你收集整理的用汇编语言写的第一个DOS程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最近对项目代码做的一些更改和感想
- 下一篇: pdf转换成可编辑的word转换器