匯編語言es寄存器用法 匯編語言寄存器都叫什么?
匯編語言寄存器都叫什么?根據(jù)不同的功能,寄存器可分為通用寄存器(ax、BX、CX、DX、SP、BP、Si、DI)。前四個寄存器可分為ah、Al、BH、BL、ch、CL、DH、DL八位寄存器、指令指針寄
匯編語言寄存器都叫什么?
根據(jù)不同的功能,寄存器可分為通用寄存器(ax、BX、CX、DX、SP、BP、Si、DI)。前四個寄存器可分為ah、Al、BH、BL、ch、CL、DH、DL八位寄存器、指令指針寄存器(IP)、標志寄存器(flags)、段寄存器(CS、DS、ES、SS)。它們的區(qū)別和聯(lián)系體現(xiàn)在它們的功能上,它們的深入理解和正確使用需要通過編程來實現(xiàn)。
2. 一般功能如下:
ax,可存儲一般數(shù)據(jù),可用作累加器;
BX,可存儲一般數(shù)據(jù),可用作存儲數(shù)據(jù)的指針(偏移地址),常用于DS寄存器;
CX,可存儲一般數(shù)據(jù),可用作計數(shù)器,并且經(jīng)常使用它來存儲循環(huán)時間;
DX,它可以存儲一般數(shù)據(jù),并且可以用作計數(shù)器來存儲乘法運算生成的部分積,或者存儲輸入和輸出的端口地址(指針);
SP用來尋址一個名為stack的存儲區(qū),通過它可以訪問堆棧數(shù)據(jù);
BP用來存儲一般數(shù)據(jù),訪問堆棧段的一個數(shù)據(jù)區(qū),作為基址;
Si用于存儲一般數(shù)據(jù),也可以在字符串操作中用于存儲源數(shù)據(jù)地址,訪問字符串數(shù)據(jù);
Di用于存儲一般數(shù)據(jù),也可以用于字符串操作,存儲目標地址,訪問一串數(shù)據(jù);
IP,尋址需要取出的指令字節(jié),程序員不能直接操作;
標志,指示微處理器的狀態(tài)并控制其操作;
CS,代碼段寄存器,代碼段是一個存儲區(qū)字段,存儲CPU使用的代碼,CS存儲代碼段的段基址;
DS,數(shù)據(jù)段寄存器,數(shù)據(jù)段是包含程序使用的大部分數(shù)據(jù)的存儲區(qū)域,DS存儲數(shù)據(jù)段的段基址;
es,附加段寄存器,它是一些字符串操作指令的目標操作數(shù)附近的一個數(shù)據(jù)段,ES存儲段基址段基址;
SS,stack segment register,stack segment是內(nèi)存中的一個特殊存儲區(qū),用于臨時存儲程序運行所需的數(shù)據(jù)或地址信息。SS存儲存儲區(qū)的段基址。
匯編語言中cs.ds.es.ss都怎么用???
在匯編語言的串操作中,MOV DI, DS MOV ES, DI這兩條指令到底有什么作用?
(1)這兩個指令在沒有上下文的情況下無法判斷它們對您的實際意義。你看不到任何與字符串操作的直接關系。在字符串操作中,通常將兩個字符串分別放在由ds:Si和es:Di尋址的存儲器單元中,以便于字符串比較、移動和其他操作。
(2)MOV,Si,DS指令的意義是將數(shù)據(jù)段寄存器的段地址值賦給Si,執(zhí)行后:Si=DS
(3)MOV,Di,ES指令的意義是將擴展數(shù)據(jù)段寄存器的段地址值賦給Di。也就是說,在執(zhí)行之后,di=es
一般來說,這種指令很少在程序中使用。如果要保護DS和ES的值,通常使用push-DS和push-ES指令。如果要計算物理地址,還需要將段地址放入ax寄存器。當然,8086CPU給出了這樣的指令。在某些情況下,可以使用您提到的兩個說明。
匯編語言中32位CPU多出的兩個FS、GS段寄存器,全稱是什么啊?
FS和GS從80386開始添加。沒有全名。這些名字按字母順序排列在CS、DS和es之后。CS、DS、ES和SS的全稱為:CS(代碼段)code segment DS(數(shù)據(jù)段)data segment ES(額外段)additional segment SS(堆棧段)stack segment