亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2477 | 回復(fù): 3
打印 上一主題 下一主題

請(qǐng)教寄存器尋址問題 [復(fù)制鏈接]

論壇徽章:
2
技術(shù)圖書徽章
日期:2013-09-28 17:43:46金牛座
日期:2013-09-28 18:39:14
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-10-21 16:18 |只看該作者 |倒序?yàn)g覽
從《匯編語言程序設(shè)計(jì)》(布魯姆)這本書書里看到的一個(gè)例子:
  1. .section .data
  2. values:
  3.     .int 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60
  4. .section .text
  5. .globl _start
  6. _start:
  7.     nop
  8.     movl values, %eax
  9.     movl $values, %edi
  10.     movl $100, 4(%edi)
  11.     movl $1, %edi
  12.     movl values(, %edi, 4), %ebx
  13.     movl $1, %eax
  14.     int $0x80
復(fù)制代碼
在這段匯編碼的第11行,將1存入了edi寄存器指向的內(nèi)存里了,我理解就是values這個(gè)標(biāo)簽指向的內(nèi)存,第一個(gè)位置應(yīng)該就是1了,可是在調(diào)試的時(shí)候那段values的第一個(gè)位置還是10,可是上一行的100就存進(jìn)去了,調(diào)試過程如下:
  1. [root@iZ251yujg9zZ asm]# gdb -q movtest3
  2. Reading symbols from /asm/movtest3...done.
  3. (gdb) break *_start+1
  4. Breakpoint 1 at 0x4000b1: file movtest3.s, line 8.
  5. (gdb) run
  6. Starting program: /asm/movtest3

  7. Breakpoint 1, _start () at movtest3.s:8
  8. 8            movl values, %eax
  9. (gdb) s
  10. 9            movl $values, %edi
  11. (gdb) s
  12. 10            movl $100, 4(%edi)
  13. (gdb) x/11d &values
  14. 0x6000dc <values>:        10        15        20        25
  15. 0x6000ec <values+16>:        30        35        40        45
  16. 0x6000fc <values+32>:        50        55        60
  17. (gdb) s
  18. 11            movl $1, %edi
  19. (gdb) x/11d &values
  20. 0x6000dc <values>:        10        100        20        25
  21. 0x6000ec <values+16>:        30        35        40        45
  22. 0x6000fc <values+32>:        50        55        60
  23. (gdb) s
  24. 12            movl values(, %edi, 4), %ebx
  25. (gdb) x/11d &values
  26. 0x6000dc <values>:        10        100        20        25
  27. 0x6000ec <values+16>:        30        35        40        45
  28. 0x6000fc <values+32>:        50        55        60
  29. (gdb)
復(fù)制代碼
有點(diǎn)不理解為什么第一個(gè)數(shù)字還是10,而不是1呢,懇請(qǐng)大家指點(diǎn)~

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-11-05 14:38:4115-16賽季CBA聯(lián)賽之新疆
日期:2016-11-11 18:38:06
2 [報(bào)告]
發(fā)表于 2014-10-21 22:17 |只看該作者
第1個(gè)數(shù)字的地址是values+0

程序?qū)?00的寫入地址是values+4,這已經(jīng)是第2個(gè)數(shù)的地址了,原值15=>100

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-11-05 14:38:4115-16賽季CBA聯(lián)賽之新疆
日期:2016-11-11 18:38:06
3 [報(bào)告]
發(fā)表于 2014-10-21 22:22 |只看該作者
而那個(gè)1,只寫入了寄存器,并未寫入內(nèi)存,當(dāng)然看不到

論壇徽章:
2
技術(shù)圖書徽章
日期:2013-09-28 17:43:46金牛座
日期:2013-09-28 18:39:14
4 [報(bào)告]
發(fā)表于 2014-10-22 10:29 |只看該作者
回復(fù) 3# 爻易


    看完你回答我又回去看了下書,確實(shí)寫到了帶括號(hào)的寄存器是存到里面指向的地址,不帶的是存寄存器。。。還是看書不認(rèn)真。 -、謝謝了。:2_172:}
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP