何為寄存器困曙。通過(guò)名字翻譯就是可以寄存數(shù)據(jù)的一個(gè)玩意
接下來(lái)上個(gè)圖。再解釋他的作用腮鞍。
通過(guò)上面的圖片就可以看出來(lái)他就是用來(lái)臨時(shí)儲(chǔ)存數(shù)據(jù)的
咱們先說(shuō)說(shuō)段寄出去
- 這個(gè)段寄存器主要用來(lái)儲(chǔ)存臨時(shí)數(shù)據(jù)的抽高。
-段寄存器在8086里面有4個(gè)。
1.ax 2.bx 3.cx 4.dx
每個(gè)段寄存器又分為高低位寄存
1.ax = ah, al
2.bx = bh, bl
3.cs = ch, cl
4.dx = dh, dl
何為高低寄存
比如我們內(nèi)存有一個(gè)數(shù)柑蛇。2244H,
這是一個(gè)16進(jìn)制。
因?yàn)槊總€(gè)段只能儲(chǔ)存一個(gè)字節(jié)驱闷。也就是只能儲(chǔ)存44
那么22怎么辦耻台。
ax就相當(dāng)于兩個(gè)地址的儲(chǔ)存。
ah 會(huì)儲(chǔ)存 22這個(gè)位置高的數(shù)據(jù)空另。
al就會(huì)儲(chǔ)存44這個(gè)位置低的數(shù)據(jù)盆耽。
位置指指數(shù)據(jù)地址的位置
個(gè)人理解:
- 程序 -> 修改寄存器 -> 控制cpu操作電腦
說(shuō)到寄存器咱們首先想到應(yīng)該是內(nèi)存
- 寄存器每個(gè)地址段只能儲(chǔ)存8個(gè)bit,就是1個(gè)字節(jié)
11111111 這就是1字節(jié)
16進(jìn)制也就是FF
- 通過(guò)以上結(jié)出扼菠。存儲(chǔ)2個(gè)字節(jié)就得需要兩個(gè)地址段摄杂。
寄存器類(lèi)別
通用寄存器:
AX,BX循榆,CX析恢,DX 稱作為數(shù)據(jù)寄存器:
1.AX (Accumulator):累加寄存器,也稱之為累加器秧饮;
2.BX (Base):基地址寄存器映挂;
3.CX (Count):計(jì)數(shù)器寄存器泽篮;
4.DX (Data):數(shù)據(jù)寄存器;
5.SP 和 BP 又稱作為指針寄存器:
6.SP (Stack Pointer):堆棧指針寄存器袖肥;
7.BP (Base Pointer):基指針寄存器咪辱;
SI 和 DI 又稱作為變址寄存器:
1.SI (Source Index):源變址寄存器振劳;
2.DI (Destination Index):目的變址寄存器椎组;
控制寄存器:
1.IP (Instruction Pointer):指令指針寄存器;
2.FLAG:標(biāo)志寄存器历恐;
段寄存器:
1.CS (Code Segment):代碼段寄存器寸癌;
2.DS (Data Segment):數(shù)據(jù)段寄存器;
3.SS (Stack Segment):堆棧段寄存器弱贼;
4.ES (Extra Segment):附加段寄存器蒸苇;
寄存器取值方式:
mov ax, 11H ;賦值給ax段寄存器
mov ds, ax ;取出ax數(shù)值,給ds
mov bx, ds[0] ;取出ds的第一個(gè)值給bx
其實(shí)寄存器很多是通用的吮旅。只是大家普遍這么儲(chǔ)存溪烤。
習(xí)慣成自然。
也就是說(shuō)所有的寄存器都可以通過(guò)
ds[0]庇勃,ss[0]檬嘀,cs[0]...
這種方式取值。0不是固定的可以根據(jù)需要填寫(xiě)责嚷。
就像高級(jí)語(yǔ)言列表的索引一樣