0
爲什麼長度可以直接推入堆棧,而消息必須複製到寄存器然後推入堆棧?將數據推入堆棧,可信
爲什麼字符串被聲明爲一個字節而11被定義爲一個字?
message:db'hello world'
length:dw 11
mov ax, message
push ax
push word [length]
爲什麼長度可以直接推入堆棧,而消息必須複製到寄存器然後推入堆棧?將數據推入堆棧,可信
爲什麼字符串被聲明爲一個字節而11被定義爲一個字?
message:db'hello world'
length:dw 11
mov ax, message
push ax
push word [length]
您應該可以直接執行push message
,但確切的語法通常是彙編程序特定的。您可能需要編寫push offset message
。這會將'h'
的地址推入堆棧。
推動'he'
(有點像push word [message]
或push word ptr [message]
),OTOH,可能不是你真正想要的。我沒有看到使用堆棧傳遞只有2個字符的字符串的好理由。代之以傳遞第一個字符的地址更有意義。
so message defined as a byte is just pointing to the first byte of any string a write? – user2221424