匯編語言data段定義 匯編語言中32位CPU多出的兩個(gè)FS、GS段寄存器,全稱是什么???
匯編語言中32位CPU多出的兩個(gè)FS、GS段寄存器,全稱是什么?。孔?0386年起添加了FS和GS。沒有全名。這些名字按字母順序排列在CS、DS和es之后。CS,DS,ES和SS有全名:CS(代碼段)
匯編語言中32位CPU多出的兩個(gè)FS、GS段寄存器,全稱是什么???
自80386年起添加了FS和GS。沒有全名。這些名字按字母順序排列在CS、DS和es之后。CS,DS,ES和SS有全名:CS(代碼段)code segment DS(數(shù)據(jù)段)data segment ES(額外段)additional segment SS(堆棧段)stack segment
CS不能直接分配。此段寄存器的值應(yīng)由系統(tǒng)設(shè)置。
其他DS、ES和SS可以通過MOV分配,但不能通過立即數(shù)分配。
在8086匯編語言中,哪些段寄存器可以用MOV指令賦值,哪些段寄存器不允許?
根據(jù)功能的不同,寄存器可分為通用寄存器(ax、BX、CX、DX、SP、BP、Si、DI)。前四個(gè)寄存器可分為ah、Al、BH、BL、ch、CL、DH、DL八位寄存器、指令指針寄存器(IP)、標(biāo)志寄存器(flags)、段寄存器(CS、DS、ES、SS)。它們的區(qū)別和聯(lián)系體現(xiàn)在它們的功能上,它們的深入理解和正確使用需要通過編程來實(shí)現(xiàn)。
2. 一般功能如下:
ax,可存儲(chǔ)一般數(shù)據(jù),可用作累加器;
BX,可存儲(chǔ)一般數(shù)據(jù),可用作存儲(chǔ)數(shù)據(jù)的指針(偏移地址),常用于DS寄存器;
CX,可存儲(chǔ)一般數(shù)據(jù),可用作計(jì)數(shù)器,并且經(jīng)常使用它來存儲(chǔ)循環(huán)時(shí)間;
DX,它可以存儲(chǔ)一般數(shù)據(jù),并且可以用作計(jì)數(shù)器來存儲(chǔ)乘法運(yùn)算生成的部分積,或者存儲(chǔ)輸入和輸出的端口地址(指針);
SP用來尋址一個(gè)名為stack的存儲(chǔ)區(qū),通過它可以訪問堆棧數(shù)據(jù);
BP用來存儲(chǔ)一般數(shù)據(jù),訪問堆棧段的一個(gè)數(shù)據(jù)區(qū),作為基址;
Si用于存儲(chǔ)一般數(shù)據(jù),也可以在字符串操作中用于存儲(chǔ)源數(shù)據(jù)地址,訪問字符串?dāng)?shù)據(jù);
Di用于存儲(chǔ)一般數(shù)據(jù),也可以用于字符串操作,存儲(chǔ)目標(biāo)地址,訪問一串?dāng)?shù)據(jù);
IP,尋址需要取出的指令字節(jié),程序員不能直接操作;
標(biāo)志,指示微處理器的狀態(tài)并控制其操作;
CS,代碼段寄存器,代碼段是一個(gè)存儲(chǔ)區(qū)字段,存儲(chǔ)CPU使用的代碼,CS存儲(chǔ)代碼段的段基址;
DS,數(shù)據(jù)段寄存器,數(shù)據(jù)段是包含程序使用的大部分?jǐn)?shù)據(jù)的存儲(chǔ)區(qū)域,DS存儲(chǔ)數(shù)據(jù)段的段基址;
es,附加段寄存器,它是一些字符串操作指令的目標(biāo)操作數(shù)附近的一個(gè)數(shù)據(jù)段,ES存儲(chǔ)段基址段基址;
SS,stack segment register,stack segment是內(nèi)存中的一個(gè)特殊存儲(chǔ)區(qū),用于臨時(shí)存儲(chǔ)程序運(yùn)行所需的數(shù)據(jù)或地址信息。SS存儲(chǔ)存儲(chǔ)區(qū)的段基址。
匯編語言寄存器都叫什么?
加載程序后,DS存儲(chǔ)程序所在內(nèi)存區(qū)的段地址,CS存儲(chǔ)代碼段的起始段地址。默認(rèn)廉價(jià)地址是0 0b2d:0000到0b3d:0000。這個(gè)空間是256字節(jié),這是PSP區(qū)域。它用于程序與DOS之間的通信。另外,最好不要在代碼段中定義數(shù)據(jù),否則數(shù)據(jù)將作為代碼運(yùn)行您可以創(chuàng)建另一個(gè)數(shù)據(jù)段來定義數(shù)據(jù)