1樓:匿名使用者
mov al,[ebx] 將ebx為地址中的內容放到al中,其中ebx為32位元暫存器,只使用低16位
mov eax,table[bx] 應該是talbe:[bx]吧,就是把段地址為table,偏移地址為bx的內容放到eax中,同上,只使用低16位
mov ax,[ebx+esi] 將偏移地址ebx與變址esi相加,這個和為地址的內容放入ax中
mov [edi],[esi] 將偏移地址為esi的地址的內容覆蓋edi為地址為地址的內容(與di和si不同在於都是32位的暫存器)
2樓:無為本是道
mov al,[ebx] 將ebx為地址中的內容放到al中mov eax,table[bx] 這個是暫存器相對定址,table是符號地址,,將偏移地址為table+[bx]的記憶體單元的兩個字的內容送到eax
mov ax,[ebx+esi] 將有效地址為[ebx+esi]的內容送到ax
mov [edi],[esi]這條指令應該不對吧?兩個運算元中必須有一個是暫存器
mov eax,[table+esi]
mov eax,table[esi]
這兩條指令一樣的table是符號地址
我也是剛學彙編的不知道對不對。
3樓:時光的故事
樓上錯了 table[bx]那個沒錯,應該就是這樣,類似陣列的表達方法,表達就是[table+bx]的意思
組合語言中的返回指令rst問題,組合語言中的返回指令Rst問題
先澄清一下你問得模糊的地方。1 你說的 rst 返回指令應該是 ret 吧?2 sp 不叫堆疊指令,它是堆疊指標,估計是stack pointer的首字母。該指標總是指向堆疊的棧頂,即始終存放的是棧頂的地址。堆疊的工作原理可簡述為 後進先出 即lifo,last in first out。具體解釋請...
組合語言指令 JMP BYTE PTR
兔老大米奇 jmp指令的運算元是地址,實際執行效果是修改ip的值。由於byte ptr使得bx指向的資料為位元組型別,而ip為字型別,資料型別不匹配,故該指令不正確。指令的正確寫法可以是jmp word ptr bx 此時將bx指向的字型別資料賦給ip 或者jmp dword ptr bx 該指令把...
和組合語言有關的問題,關於組合語言的一個問題
bx為例,其實體地址 ds 16 bx。但你算這個值沒什麼用,因為所有的暫存器都是16位的,放不下這麼大的值。樓上關於 段是若干棟樓,偏移量是門牌號 的比喻不太準確,因為一個實體地址可以由不同的段址 偏移量組合來訪問。建議這樣來理解,記憶體是一條長長的直路,偏移量是眼睛的視力範圍,太遠就看不見了。而...