Re: [問題] 請問今天上課的問題

看板PangSir作者 (jiunlin)時間21年前 (2004/10/20 21:07), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
myByte+1有兩個??
219.84.71.144 10/20, 1F

219.84.71.144 10/20, , 2F
第一個不是myByte而已嗎?
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
文章代碼(AID): #11TcBvKg (PangSir)
文章代碼(AID): #11TcBvKg (PangSir)