匯編干貨筆記->7.1 更靈活的數(shù)組















最后
歡迎光臨小站:yuruotong.com
以下是文字提取部分,閱讀完畢的同學(xué)可以離開了
SI和DI是和bx;功能相近;的寄存器
只不過兩者不能分成8位寄存器
只能以;16位寄存器;的形式存在

既然與bx;功能相近;
那么SI和DI也能;實(shí)現(xiàn);下面的功能

下面來考慮一個(gè)問題

注意一下:這段程序add si,;2
因?yàn)閿?shù)據(jù)要;存在ax中;
ax是16bit,一個(gè)數(shù)據(jù)是8bit
自然一次性要放入;兩個(gè)數(shù)據(jù);

下面我要介紹一個(gè)更靈活的;內(nèi)存定位;方法
那就是:;[bx+si];
其實(shí)還有另一種更方便的寫法[bx][si]
mov ax,[bx][si]
如果你覺得還是;不夠靈活;
你;還能;這么用
mov ax,;[bx+si+idata];

別告訴我
你的;表情;是下面這樣

CPU為什么要設(shè)計(jì)這么多的尋址方式呢
是吃飽撐的,還是;別有用意;
請(qǐng)看下面的問題

我敢打賭,你肯定用到了;C語言思維;
所以的程序很可能是;兩層循環(huán);
比如下面這樣
但不要忘了
匯編的循環(huán)是只有;一個(gè)計(jì)數(shù)器;
;CX;

我們不能兩個(gè)循環(huán)都用同一個(gè);CX;
這樣程序;肯定出錯(cuò);
其實(shí)解決方法;很簡單;
用一個(gè)臨時(shí)寄存器dx把cx;存起來;

這么做確實(shí)是;解決了問題;
但你要知道
寄存器;很寶貴;
我們的寄存器;數(shù)量有限;
怎么可能用在存放;臨時(shí)變量;cx上
我們急需一種可;持續(xù)再生;模式

聰明的你可能已經(jīng);想到了;
;用內(nèi)存!;
但是用內(nèi)存的話又;不好記;
于是我想到了;棧;

棧是;存儲(chǔ)臨時(shí)數(shù)據(jù);的不二之選
用它不用;記憶內(nèi)存單元地址;
比如下面程序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容