Re: [問題] 請問今天上課的問題
※ 引述《dogger (ffgd)》之銘言:
: 就是在投影片的第15張
: 為什麼當myBytes的type改成WORD之後
: mov ax,myBytes
: add ax,[myBytes+1]
: add ax,[myBytes+2]
: 結果會是66E6阿
: 不好意思
: 上課沒聽清楚
: 想來想去還是想不出來@@
雖然已經有同學解答了,不過我想我還是更詳細的解說一下好了:
.data
myBytes WORD 80h,66h,0A5h
;這裡一共有三個WORD,在記憶體中是長這個樣子的:
; 80 00 66 00 A5 00
; ↑
; myBytes表示此處的記憶體位置
.code
mov ax,myBytes
;從myBytes處開始取一個WORD,會得到80 00,但因為是little
;endian,所以ax=0080h。
add ax,[myBytes+1]
;從myBytes+1處開始取一個WORD,會得到00 66,但因為是little
;endian,所以當成WORD是6600h。ax=0080h+6600h=6680h。
add ax,[myBytes+2]
;同理,從myBytes+2處開始取一個WORD,得到66 00,但因為是
;little endian,所以是0066h。ax=6680h+0066h=66E6h。
TA
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.61.33
推
219.84.71.144 10/20, , 1F
219.84.71.144 10/20, 1F
→
219.84.71.144 10/20, , 2F
219.84.71.144 10/20, 2F
※ 編輯: jiunlin 來自: 140.112.30.82 (10/21 15:13)
推
140.112.30.82 10/21, , 3F
140.112.30.82 10/21, 3F
討論串 (同標題文章)