














最后
歡迎光臨小站: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)存單元地址;
比如下面程序