位元組 PTR 和單詞 PTR 分別是什麼意思

發布 教育 2024-04-01
15個回答
  1. 匿名使用者2024-01-27

    byte ptr 和單詞 ptr 的含義如下。

    位元組 PTR 表示 [di] 處的乙個位元組,表示指令訪問的儲存單元是乙個位元組單位,即 8 位,即最大數字為 0FFH,換算成 10 位小數。

    這個數字是256。

    由於方括號,該指令訪問記憶體。

    這都是記憶。

    定址上,方括號內的DI為位址變更暫存器,整個表示方式將DI中的內容作為偏移位址,然後用(DS)*16+(DI)得到的值作為儲存器中的實體地址。

    如果沒有位元組 ptr,則實體地址對應低位元組內容,然後實體地址加 1 對應高位元組內容。 使用 byte ptr,您只需要獲取與實體地址對應的乙個位元組的內容。

    Word ptr 表示指令訪問的儲存單元是兩個位元組單元,強制定義為字大小。 由於它只給出乙個記憶體位址,我不知道我想給 ax 的是位元組還是字,所以我需要用 word 來明確指出 ptr 是乙個顯示宣告。

    mov ds:[si],10f 這是不允許的,因為 si 指向的空間大小只有 8 位(1 位元組),所以 mov wprd ptr ds:[si],10f 是告訴 CPU mov 的源位址大小為 2 位元組,其中可以儲存 10f。

  2. 匿名使用者2024-01-26

    位元組 PTR 表示 [di] 處的位元組,[di] 表示 di 指定的記憶體位址。

    位元組 ptr [di],0 是將 [di] 處的乙個位元組填為 0,如果是字 ptr,則將該位置的兩個位元組填為 0。

    word ptr word ptr [si] ;這是必須定義為字大小的。

    mov ds:[si],10f ;這是不允許的,因為 SI 指向的空間大小只有 8 位(1 位元組),所以 mov wprd ptr ds:[si],10f 是告訴 CPU mov 的源位址大小為 2 位元組,其中可以儲存 10f。

    10F 需要占用 9 位,記憶體中的最小空間為 1 位元組,因此 10F 需要占用記憶體中 2 個位元組的記憶體空間。

  3. 匿名使用者2024-01-25

    位元組 ptr 稱為屬性修飾符,具體來說,運算元是位元組; 相應地,ptr 運算元這個詞是乙個詞。

    因此,mov byte ptr[bp],20h的結果,將20h的直接數放入ds x 10h+bp中,即位址21000+6200=27200h的內容為20h;

    mov word ptr[bx],2000h,27200h 為 00h,27202h 為 20h,以 Intel 的倒位元組順序儲存。

  4. 匿名使用者2024-01-24

    Mov 位元組 ptr [bp], 20h 和.

    mov word ptr [bx],2000h,這是什麼意思? 有區別嗎?

    x86 CPU 可以執行 16 位指令或 8 位指令。

    在說明中,如果您不解釋位數是多少,CPU 將無法完成其工作。

    MOV CX, 200, Inc AL,這兩個指令使用暫存器,這對位數非常清楚。

    鑑於:mov [bp],20h,此指令使用記憶體。

    對於記憶體,可以傳輸兩個位元組或乙個位元組。

    此指令有多少位數字?

    這必須寫成:

    mov byte ptr

    bp],20h。

    mov word ptr

    bp],20h。

    其中:位元組 PTR 或字 PTR,

    描述如下:8 位或 16 位。

  5. 匿名使用者2024-01-23

    bp 暫存器資料段應儲存在堆疊段 ss 中,位址應為 ss*10h+bp

  6. 匿名使用者2024-01-22

    都是可整除的,但 div word ptr 位址的內容是 word,div 位元組 ptr 位址的內容是位元組

    生成的機器指令也不同。

  7. 匿名使用者2024-01-21

    前者遞增 bx 指向的記憶體單元的值,後者遞增 bx 暫存器 inc 位元組 [bx] 的值,即增量 bx 指向的位元組單元格中的值 inc 字 [bx] 和增量 bx 指示的字(2 位元組)單元格的值。

  8. 匿名使用者2024-01-20

    byte

    ptr 稱為屬性修飾符,具體來說,運算元是位元組; 相應地,字

    ptr 運算元是乙個詞。

    所以,mov

    byteptr[bp],20h

    因此,將 20 小時的即時計數放入 DS 中

    x10h+bp,即位址21000+6200=27200h的內容為20h;

    和 movword

    ptr[bx],2000h

    因此,27200h 是 00h,27202h 是 20h,它們以英特爾的反位元組順序儲存。

  9. 匿名使用者2024-01-19

    NEG是乙個補充指令,即補充乙個數字,你的指令採用暫存器間接定址的方式,目的是彌補位址di的下八位位元組,補充後內容保留在原來的位址,即di所代表的位址,下面是乙個簡單的程式, 可以直接拿去測試(編譯通過):

    data segment

    a dw 0014h

    data ends

    code segment

    assume cs:code,ds:data

    main: mov ax,data

    mov ds,ax

    mov di,a;執行此步驟後,您可以檢查位址 0014 的內容。

    mov al,byte ptr[di];將位址單元 0014 值的下八位位元組分配給 al

    neg byte ptr[di];編號 0014 中較低的 8 位數字是補充的。

    mov bl,byte ptr[di];將補充後的內容分配給BL,可以比較AL和BL的值,看看有什麼區別。

    mov ax,4c00h

    int 21h

    code ends

    end main

    這個程式先給位址0014賦給di,然後補0014的下八度內容,比如說我機0014的下八度內容是d8,補好後就變成了28,程式執行後al=14d8,bl=1428,那14個可以忽略他,不同的機器有不同的值,只要比較一下最後兩個上線的內容,不知道能不能看懂?

    我們再舉乙個例子來說明補碼(以下資料都是十六進製的):

    d8 後跟 28 28 + d8 = 100

    14 補碼後面跟著 ec ec+14=100

    1234 後跟 edcc edcc+1234=10000

    ffff 補償後為 0001 ffff+0001=10000

    1111 補償後跟 eeef 1111 + eeef = 10000

    找到乙個模式,對吧? 呵呵,你可以一一測試。

  10. 匿名使用者2024-01-18

    這兩個問題是一回事,當無法確定儲存單元的長度時,必須用 x ptr 來解釋。

    對於 8086,指令中有暫存器或彈出和推送指令。

    1.如果指令中有暫存器,則可以確定儲存單元的長度或運算元的大小,例如:

    mov ax,1

    MOV BX、DS:[0] 等,2 位元組的運算元,字單位(16 位)。

    mov al,1

    MOV BH、DS:[0]等,操作 1 位元組,位元組單位(8 位)。

    2.指令中有pop和push,運算元為2位元組,字單位(16位)。

    在這兩種情況下,都可以確定儲存單元長度或運算元大小,並且無需使用 X PTR 來描述它。

    X ptr 表示記憶單元的長度或運算元的大小。 任何無法確定儲存單元長度或運算元大小的內容都必須用 X PTR 描述。

  11. 匿名使用者2024-01-17

    x86 CPU 可以執行 16 位指令或 8 位指令。

    在指令中,如果不指定白位數是多少,CPU 將不會這樣做。

    mov cx, 200

    inc al

    這種指令使用暫存器,這使得位數非常清晰。

    mov ds:[0],1,此指令使用記憶體。

    在記憶體的情況下,可以傳輸兩個位元組或乙個位元組。

    此指令有多少位數字?

    這會混淆 CPU。

    必須寫成:mov word ptr ds: [0],1,並新增 “word ptr”,即“word attributes”,這是 16 位數字的傳輸。

  12. 匿名使用者2024-01-16

    位元組 PTR [BP] 和字 PTR [BX] 是組合語言中的偽指令,用於指定儲存單元的資料。

    這些型別通常位於本書的第 4 章中,請參閱組合語言程式設計部分的偽指令部分。

  13. 匿名使用者2024-01-15

    將ESP位址加上4C值(實際上是ESP+4C的值)的儲存單元位址傳送到重提的位址,如果使用MOV,則會在ESP+4C單元中傳送乙個雙字到EAX

  14. 匿名使用者2024-01-14

    將 SS(堆疊段)中的 ESP+4c 位址(注意它是位址,而不是位址中的值)放入 EAX 暫存器中(該暫存器可以儲存 4 個位元組,與您輸入的 4 位元組位址完全匹配)。 “dword ptr”是將儲存單元指定為雙字(同樣,word-ptr指定為字,byte-ptr指定為位元組)。

    此外,MOV和LEA的區別:MOV AX、BUFF; 它是將 buff 儲存單元中的資料放入 ax 暫存器中。

    而 Lea Ax, buff ; 就是把buff儲存單元的位址放到ax暫存器裡。

    兩者的區別在於,乙個傳遞內容,另乙個傳遞位址。

  15. 匿名使用者2024-01-13

    即儲存單元ESP指向的儲存單元開頭的位址,在偏移位4之後,暫存器ESP對應的字首ss超過字首ss到eax

    LEA 和 MOV 之間的區別是 Yes。

    lea eax,dword ptr ss:[esp+4c],===mov offset dword ptr ss:[esp+4c],

相關回答
5個回答2024-04-01

洋蔥和蘿蔔可以一起吃,而且它們不會相互束縛。 >>>More

10個回答2024-04-01

<>手稿《櫻花劍聰》是齊英完成的。

5個回答2024-04-01

這與男孩在星座中無關。

8個回答2024-04-01

豬人和公雞人與狗人非常契合,他們會結婚,彼此相愛,擁有幸福的家庭。 >>>More

28個回答2024-04-01

王子有乙個情商第二連,可以進攻和防守。 上階更靠閃光,趙信幾乎不敢不閃光就按線,太子會好很多。 >>>More