用匯編語言編寫程序實現輸入一個數n,輸出n個“Hello World!”

作者:陳世佳  編寫時間:2018-4-17
方法如下:

    步驟一:瞭解中斷指令

中斷指令:INT 21H
功能號:01H
功能描述:從輸入設備中接收一個值(使用ACSII編碼接收數據)。
接收入口:接收到的值將被保存於AL中。
入口參數:AH=01H
出口參數:無

    步驟二:瞭解循環指令

L5:              ;定義循環名稱及循環開始位置
    //代碼
    LOOP L5      ;CX減一,判斷CX是否爲零,不爲零繼續執行循環

    步驟三:編寫代碼

data SEGMENT                 ;定義字符串
hello DB 'Hello World$'
hello2 DB 'See you!$'
newline DB 13,10,'$'         ;定義換行字符串
data ENDS
code SEGMENT
    ASSUME CS:CODE,DS:DATA
start:
    MOV AX,data                  
    MOV DS,AX 
    MOV AH,01H                   ;給AH設置參數01H
    INT 21h                      ;執行AH中設置的01H號功能:輸入一個值到AL中
    SUB AL,48                    ;將獲取的值減48,ASCII中'0'的數值爲48 
    MOV CL,AL                    ;將AL賦值給CL 
    MOV AH,09H                   ;給AH設置參數09H
L5: LEA DX,newline               ;將DX指向字符串newline 
    INT 21h              	       ;執行AH中的09H號功能,輸出字符串newline 
    LEA DX,hello                 ;將DX指向字符串hello 
    INT 21h                      ;執行AH中的09H號功能,輸出字符串hello
    LOOP L5                      ;CX減一,判斷CX是否爲零,若CX不爲零,則繼續循環 
    MOV AX,4C00H                 ;給AX設置參數4C00H 
    INT 21h                      ;執行AH中的4C00H號功能結束程序
code ENDS
END start

步驟四:運行即可

步驟五:若不明白,可查看用匯編語言編寫程序輸"Hello World!"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章