Re: [問題] about eax

看板ASM (組合語言)作者 (小虎)時間17年前 (2007/12/15 23:35), 編輯推噓3(304)
留言7則, 2人參與, 最新討論串3/3 (看更多)
這是intel的指令手冊上面寫的 Table 3-3. Effective Operand- and Address-Size Attributes D Flag in Code Segment Descriptor 0 0 0 0 1 1 1 1 Operand-Size Prefix 66H N N Y Y N N Y Y Address-Size Prefix 67H N Y N Y N Y N Y Effective Operand Size 16 16 32 32 32 32 16 16 Effective Address Size 16 32 16 32 32 16 32 16 NOTES: Y: Yes - this instruction prefix is present. N: No - this instruction prefix is not present. 也就是說在CPU裡面有個D flag (default size)來控制 一般啟動時是Real Mode 所以 D flag = 0 之後轉成Protect Mode時 D flag 就設成 1 而"聽說"在Protect Mode利用特殊方式回到Real Mode時 可以讓 D flag 維持 1 也就變成所謂的 Big Real Mode (32bit Real Mode) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.195.189

12/15 23:54, , 1F
要是沒記錯,這是看cr0最低位吧
12/15 23:54, 1F

12/16 00:27, , 2F
CR0最低位是Protection Enable 也就是進去PM的開關
12/16 00:27, 2F

12/16 00:29, , 3F
基本上 應該沒有可以直接D flag修改的
12/16 00:29, 3F

12/16 00:53, , 4F
D flag不是位在特定暫存器裡?
12/16 00:53, 4F

12/16 01:09, , 5F
原來是GDT....
12/16 01:09, 5F

12/16 01:09, , 6F
我最討厭的東西其中之一
12/16 01:09, 6F

12/16 01:14, , 7F
「自己動手寫作業系統」這書太久沒看全忘光了
12/16 01:14, 7F
文章代碼(AID): #17O_HCwG (ASM)
討論串 (同標題文章)
文章代碼(AID): #17O_HCwG (ASM)