欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

dword ptr指令詳細解析

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

對于這個問題,匯編語言中用一下方法處理。

(1)通過寄存器名指明要處理的數(shù)據(jù)的尺寸。
例如:
下面的指令中,寄存器指明了指令進行的是字操作:
mov ax,1
mov bx,ds:[0]
mov ds,ax
mov ds:[0],ax
inc ax
add ax,1000

下面的指令中,寄存器指明了指令進行的是字節(jié)操作:
mov al,1
mov al,bl
mov al,ds:[0]
mov ds:[0],al
inc al
add al,100

(2)在沒有寄存器名存在的情況下,用操作符 X  ptr 指明內存單元的長度,X在匯編指令中可以為word或byte。
例如:
下面的指令中,用word ptr 指明了指令訪問的內存單元是一個字單元:
mov word ptr ds:[0],1
inc word ptr [bx]
inc word ptr ds:[0]
add word ptr [bx],2

下面的指令中,用byte ptr 指明了指令訪問的內存單元是一個字單元:
mov byte ptr ds:[0],1
inc byte ptr [bx]
inc byte ptr ds:[0]
add byte ptr [bx],2

在沒有寄存器參與的內存單元訪問指令中,用word prt 或byte ptr 顯性地指明所要訪問的內存單元的長度是很必要的。否則,CPU無法得知所要訪問的單元,還是字節(jié)單元。

假如我們用Debug查看內存的結果如下:
2000:1000 FF FF FF FF FF FF ......

那么指令:
mov ax,2000H
mov ds,ax
mov byte ptr [1000H],1
將使內存中的內容變?yōu)椋?BR>2000: 1000 01 FF FF FF FF FF ......

而指令:
mov ax,2000H
mov ds,ax
mov word ptr [1000H],1
將使內存中的內容變?yōu)椋?BR>2000:1000 01 00 FF FF FF FF ......

這是因為 mov byte ptr [1000H],1訪問的是地址為 ds:1000H 的字節(jié)單元,修改的是ds:1000H 單元的內容;而mov word ptr [1000H],1 訪問的是地址為 ds:1000H 的字單元,修改的是 ds:1000H 和 ds:1001H 兩個單元的內容。

PTR用來指出操作數(shù)的類型或尺寸,通常用在跳轉/調子程序或尋址。尋址時用來指明是BYTE、WORD還是DWORD,跳轉時則是FAR或NEAR。

(3) 其他方法
有些指令默認了訪問的是字單元還是字節(jié)單元,比如:push [1000H] 就不用指明訪問的是字單元還是字節(jié)單元,因為push指令只進行字操作。

上一篇:CreateThread()與beginthread()的區(qū)別詳細解析

欄    目:C語言

下一篇:教你5分鐘輕松搞定內存字節(jié)對齊

本文標題:dword ptr指令詳細解析

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/4122.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有