2013-03-10 11:30:09Morris
[組合語言][練習] Hello, World!
用 EDI (index register) 記錄 string 的位址。
用 ECX 計數 for 迴圈要跑幾次 (跑 string.length 次)。
每跑一次 EDI += BYTE 的大小。
call WriteChar 印出 AL 裡面的值
TITLE hello_word
INCLUDE Irvine32.inc
.data
string BYTE "Hello, World !", 0
.code
main PROC
mov edi, OFFSET string ;pointer to str
mov ecx, LENGTHOF string ;loop counter
LOOPi:
mov al, [edi] ;move str[edi] to AL
add edi, TYPE string ;edi++
call WriteChar ;write AL as char
loop LOOPi
ret
main ENDP
end main
用 ECX 計數 for 迴圈要跑幾次 (跑 string.length 次)。
每跑一次 EDI += BYTE 的大小。
call WriteChar 印出 AL 裡面的值
TITLE hello_word
INCLUDE Irvine32.inc
.data
string BYTE "Hello, World !", 0
.code
main PROC
mov edi, OFFSET string ;pointer to str
mov ecx, LENGTHOF string ;loop counter
LOOPi:
mov al, [edi] ;move str[edi] to AL
add edi, TYPE string ;edi++
call WriteChar ;write AL as char
loop LOOPi
ret
main ENDP
end main
下一篇:[組合語言][練習] 九九乘法表