24h購物| | PChome| 登入
2013-03-10 11:30:09| 人氣6,427| 回應0 | 上一篇 | 下一篇

[組合語言][練習] Hello, World!

推薦 0 收藏 0 轉貼0 訂閱站台

用 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







台長: Morris
人氣(6,427) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: [學習]組合語言 |
此分類下一篇:[組合語言][練習] 九九乘法表
此分類上一篇:[組合語言][作業] 第一支可以跑的程式

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文