我花了一兩天的時間鑽研Assembly。我一直在閱讀一個相當好的教程,它涵蓋了不同的寄存器/二進制數字系統的工作原理等。然而,它並沒有真正進入彙編代碼本身。它只是談論Assembly的概念以及它如何工作等(它提供了一些代碼示例,如下所示 - 但沒有解釋代碼中發生了什麼)。瞭解ASM代碼的這一點
msg db 'Displaying 9 stars', 0xa
len equ $ - msg
s2 times 9 db '*'
雖然我覺得我越來越知道事情是如何工作的,我想問一下關於上述代碼中的幾個問題(真的想了解它是如何工作的,而不是接受它的作品的事實)。
1)可以任何文本後0xa(我假設0xa是一個新行)?
2)不$ - 變量(在這種情況下,$ - 味精)獲得一個變量的長度? $的真正目的是什麼?
3)這裏發生的事情:S2次9中Db「*
我的問題#3假設是可變S2是剛剛被設置爲9 的字符串。如果是這樣,爲什麼數據庫''最後? s2 db'*'times是不是更有意義9
組裝芯片? 86?哪一個? –
@JohnSaunders英特爾處理器,x86 – Justin