鱼C论坛

 找回密码
 立即注册
查看: 3890|回复: 8

push 默认把 寄存器内容入栈是怎么回事。视频p30问提

[复制链接]
发表于 2018-11-16 20:06:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 liaoxl 于 2018-11-16 20:08 编辑

因为push老是把cs ip这些寄存器的内容加入在栈顶的前面,循环到后面会覆盖前面的数据,导致结果不正确


难道是debug的问题?







push默认入栈寄存器

push默认入栈寄存器


代码如下

assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0ebah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:        mov ax,stack
                mov ss,ax
                mov sp,16
                mov ax,data
                mov ds,ax
                mov bx,0
                mov cx,8
                s:push[bx]
                add bx,2
                loop s
               
                mov bx,0
                mov cx,8
                s0:pop [bx]
                add bx,2
                loop s0
               
                mov ax,4c00h
                int 21h
code ends
end start
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-11-17 10:40:10 From FishC Mobile | 显示全部楼层
应该多分配16字节的空间做栈的前缀吗?
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
不然会随着入栈会覆盖掉
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0ebah,0987h
这里面的数据,如果真有这回事,那教程里的程序应该不会这样写,是我的调试环境导致的吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-17 14:13:48 | 显示全部楼层
百度找到的答案,"debug载入并运行程式时,下达t,p或g等指令时,会短暂的借主程式的栈以作暂存之用.比如 [保存] 主程式的cs,ip或flag等值",看来程序本身没问题,是debug的问题。在后面的视频里,小甲鱼调试的时候我也看到类似的结果,修改ss和sp时会改变这一段内存。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-18 17:23:05 | 显示全部楼层
你注意push时,先指针减一,再入栈,pop时,先读内容,然后指针加一
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-19 08:12:02 From FishC Mobile | 显示全部楼层
本帖最后由 liaoxl 于 2018-11-19 08:13 编辑
水柔炎 发表于 2018-11-18 17:23
你注意push时,先指针减一,再入栈,pop时,先读内容,然后指针加一


push 和pop指令导致sp的变动我知道,这里的问题是执行mov ss,ax,debug会往ss:sp之前的空间写入当前寄存器的值,执行mov sp,idata也会,执行push ax也会,执行push的时候如果栈的空间太小,debug写入的数据会覆盖掉前面的数据,导致结果错误…其实我也不确定是不是debug做的,刚学没多久,因为不用的debug就看不到内存的变化,用了debug看,可能就是debug改变了内存,测不准原理???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-19 12:06:28 | 显示全部楼层
liaoxl 发表于 2018-11-19 08:12
push 和pop指令导致sp的变动我知道,这里的问题是执行mov ss,ax,debug会往ss:sp之前的空间写入当前寄 ...

问问老师咯
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-19 23:49:40 | 显示全部楼层
liaoxl 发表于 2018-11-19 08:12
push 和pop指令导致sp的变动我知道,这里的问题是执行mov ss,ax,debug会往ss:sp之前的空间写入当前寄 ...

测不准原理?
什么是测不准原理?
测不准的根本原因是因为你的测量工具不行

  1. [section code align=16]
  2.         jmp        0x07c0: start
  3. start:
  4.         mov        bx, 16
  5.        
  6.         xor        dx, dx
  7.         mov        ax, 0x7c00 + section.stack.start
  8.         div        bx
  9.         mov        ss, ax
  10.         mov        sp, 16
  11.         xor        dx, dx
  12.         mov        ax, 0x7c00 + section.data.start
  13.         div        bx
  14.         mov        ds, ax
  15.        
  16.         mov        bx, 0
  17.         mov        cx, 8
  18. s:
  19.         push        word [bx]
  20.         add        bx, 2
  21.         loop        s
  22.        
  23.         mov        bx, 0
  24.         mov        cx, 8
  25. s0:
  26.         pop        word [bx]
  27.         add        bx, 2
  28.         loop        s0
  29. .L:
  30.         cli
  31.         hlt
  32.         jmp        .L
  33.        
  34. [section data align=16]
  35.         dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0ebah, 0987h
  36.        
  37. [section stack align=16]
  38.         dw 0, 0, 0, 0, 0, 0, 0, 0
复制代码


下面是调试记录

  1. E:\tmp\asm>make debug
  2. bochsdbg -q -f bochsrc.bxrc
  3. ========================================================================
  4.                        Bochs x86 Emulator 2.6.9
  5.                Built from SVN snapshot on April 9, 2017
  6.                   Compiled on Apr  9 2017 at 09:49:25
  7. ========================================================================
  8. 00000000000i[      ] reading configuration from bochsrc.bxrc
  9. 00000000000i[      ] installing win32 module as the Bochs GUI
  10. 00000000000i[      ] using log file bochsout.txt
  11. Next at t=0
  12. (0) [0x0000fffffff0] f000:fff0 (unk. ctxt): jmpf 0xf000:e05b          ; ea5be000f0
  13. <bochs:1> b 0x7c00
  14. <bochs:2> c
  15. (0) Breakpoint 1, 0x0000000000007c00 in ?? ()
  16. Next at t=60706119
  17. (0) [0x000000007c00] 0000:7c00 (unk. ctxt): jmpf 0x07c0:0005          ; ea0500c007
  18. <bochs:3> u/30
  19. 00007c00: (                    ): jmpf 0x07c0:0005          ; ea0500c007
  20. 00007c05: (                    ): mov bx, 0x0010            ; bb1000
  21. 00007c08: (                    ): xor dx, dx                ; 31d2
  22. 00007c0a: (                    ): mov ax, 0x7c50            ; b8507c
  23. 00007c0d: (                    ): div ax, bx                ; f7f3
  24. 00007c0f: (                    ): mov ss, ax                ; 8ed0
  25. 00007c11: (                    ): mov sp, 0x0010            ; bc1000
  26. 00007c14: (                    ): xor dx, dx                ; 31d2
  27. 00007c16: (                    ): mov ax, 0x7c40            ; b8407c
  28. 00007c19: (                    ): div ax, bx                ; f7f3
  29. 00007c1b: (                    ): mov ds, ax                ; 8ed8
  30. 00007c1d: (                    ): mov bx, 0x0000            ; bb0000
  31. 00007c20: (                    ): mov cx, 0x0008            ; b90800
  32. 00007c23: (                    ): push word ptr ds:[bx]     ; ff37
  33. 00007c25: (                    ): add bx, 0x0002            ; 83c302
  34. 00007c28: (                    ): loop .-7                  ; e2f9
  35. 00007c2a: (                    ): mov bx, 0x0000            ; bb0000
  36. 00007c2d: (                    ): mov cx, 0x0008            ; b90800
  37. 00007c30: (                    ): pop word ptr ds:[bx]      ; 8f07
  38. 00007c32: (                    ): add bx, 0x0002            ; 83c302
  39. 00007c35: (                    ): loop .-7                  ; e2f9
  40. 00007c37: (                    ): cli                       ; fa
  41. 00007c38: (                    ): hlt                       ; f4
  42. 00007c39: (                    ): jmp .-4                   ; ebfc
  43. 00007c3b: (                    ): add byte ptr ds:[bx+si], al ; 0000
  44. 00007c3d: (                    ): add byte ptr ds:[bx+si], al ; 0000
  45. 00007c3f: (                    ): add byte ptr ss:[bp+di], ah ; 0023
  46. 00007c41: (                    ): add word ptr ss:[bp+4], dx ; 015604
  47. 00007c44: (                    ): mov word ptr ds:[bx], ax  ; 8907
  48. 00007c46: (                    ): mov sp, 0xef0a            ; bc0aef
  49. <bochs:4> s
  50. Next at t=60706120
  51. (0) [0x000000007c05] 07c0:0005 (unk. ctxt): mov bx, 0x0010            ; bb1000
  52. <bochs:5>
  53. Next at t=60706121
  54. (0) [0x000000007c08] 07c0:0008 (unk. ctxt): xor dx, dx                ; 31d2
  55. <bochs:6>
  56. Next at t=60706122
  57. (0) [0x000000007c0a] 07c0:000a (unk. ctxt): mov ax, 0x7c50            ; b8507c
  58. <bochs:7>
  59. Next at t=60706123
  60. (0) [0x000000007c0d] 07c0:000d (unk. ctxt): div ax, bx                ; f7f3
  61. <bochs:8>
  62. Next at t=60706124
  63. (0) [0x000000007c0f] 07c0:000f (unk. ctxt): mov ss, ax                ; 8ed0
  64. <bochs:9>
  65. Next at t=60706125
  66. (0) [0x000000007c11] 07c0:0011 (unk. ctxt): mov sp, 0x0010            ; bc1000
  67. <bochs:10>
  68. Next at t=60706126
  69. (0) [0x000000007c14] 07c0:0014 (unk. ctxt): xor dx, dx                ; 31d2
  70. <bochs:11>
  71. Next at t=60706127
  72. (0) [0x000000007c16] 07c0:0016 (unk. ctxt): mov ax, 0x7c40            ; b8407c
  73. <bochs:12>
  74. Next at t=60706128
  75. (0) [0x000000007c19] 07c0:0019 (unk. ctxt): div ax, bx                ; f7f3
  76. <bochs:13>
  77. Next at t=60706129
  78. (0) [0x000000007c1b] 07c0:001b (unk. ctxt): mov ds, ax                ; 8ed8
  79. <bochs:14>
  80. Next at t=60706130
  81. (0) [0x000000007c1d] 07c0:001d (unk. ctxt): mov bx, 0x0000            ; bb0000
  82. <bochs:15> sreg
  83. es:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  84.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  85. cs:0x07c0, dh=0x00009300, dl=0x7c00ffff, valid=1
  86.         Data segment, base=0x00007c00, limit=0x0000ffff, Read/Write, Accessed
  87. ss:0x07c5, dh=0x00009300, dl=0x7c50ffff, valid=1
  88.         Data segment, base=0x00007c50, limit=0x0000ffff, Read/Write, Accessed
  89. ds:0x07c4, dh=0x00009300, dl=0x7c40ffff, valid=1
  90.         Data segment, base=0x00007c40, limit=0x0000ffff, Read/Write, Accessed
  91. fs:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  92.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  93. gs:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  94.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  95. ldtr:0x0000, dh=0x00008200, dl=0x0000ffff, valid=1
  96. tr:0x0000, dh=0x00008b00, dl=0x0000ffff, valid=1
  97. gdtr:base=0x00000000000f9a37, limit=0x30
  98. idtr:base=0x0000000000000000, limit=0x3ff
  99. <bochs:16> x/8hx 0x7c40
  100. [bochs]:
  101. 0x0000000000007c40 <bogus+       0>:    0x0123  0x0456  0x0789  0x0abc  0x0def  0x0fed  0x0eba  0x0987
  102. <bochs:17> x/8hx 0x7c50
  103. [bochs]:
  104. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000
  105. <bochs:18> s
  106. Next at t=60706131
  107. (0) [0x000000007c20] 07c0:0020 (unk. ctxt): mov cx, 0x0008            ; b90800
  108. <bochs:19>
  109. Next at t=60706132
  110. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  111. <bochs:20> x/8hx 0x7c50
  112. [bochs]:
  113. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000
  114. <bochs:21> s
  115. Next at t=60706133
  116. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  117. <bochs:22> x/8hx 0x7c50
  118. [bochs]:
  119. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0123
  120. <bochs:23> s
  121. Next at t=60706134
  122. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  123. <bochs:24>
  124. Next at t=60706135
  125. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  126. <bochs:25>
  127. Next at t=60706136
  128. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  129. <bochs:26> x/8hx 0x7c50
  130. [bochs]:
  131. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0456  0x0123
  132. <bochs:27> s
  133. Next at t=60706137
  134. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  135. <bochs:28>
  136. Next at t=60706138
  137. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  138. <bochs:29>
  139. Next at t=60706139
  140. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  141. <bochs:30> x/8hx 0x7c50
  142. [bochs]:
  143. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0000  0x0789  0x0456  0x0123
  144. <bochs:31> s
  145. Next at t=60706140
  146. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  147. <bochs:32>
  148. Next at t=60706141
  149. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  150. <bochs:33>
  151. Next at t=60706142
  152. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  153. <bochs:34> x/8hx 0x7c50
  154. [bochs]:
  155. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0000  0x0abc  0x0789  0x0456  0x0123
  156. <bochs:35> s
  157. Next at t=60706143
  158. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  159. <bochs:36>
  160. Next at t=60706144
  161. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  162. <bochs:37>
  163. Next at t=60706145
  164. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  165. <bochs:38> x/8hx 0x7c50
  166. [bochs]:
  167. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0000  0x0def  0x0abc  0x0789  0x0456  0x0123
  168. <bochs:39> s
  169. Next at t=60706146
  170. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  171. <bochs:40>
  172. Next at t=60706147
  173. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  174. <bochs:41>
  175. Next at t=60706148
  176. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  177. <bochs:42> x/8hx 0x7c50
  178. [bochs]:
  179. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0000  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  180. <bochs:43> s
  181. Next at t=60706149
  182. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  183. <bochs:44>
  184. Next at t=60706150
  185. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  186. <bochs:45>
  187. Next at t=60706151
  188. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  189. <bochs:46> x/8hx 0x7c50
  190. [bochs]:
  191. 0x0000000000007c50 <bogus+       0>:    0x0000  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  192. <bochs:47> s
  193. Next at t=60706152
  194. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  195. <bochs:48>
  196. Next at t=60706153
  197. (0) [0x000000007c23] 07c0:0023 (unk. ctxt): push word ptr ds:[bx]     ; ff37
  198. <bochs:49>
  199. Next at t=60706154
  200. (0) [0x000000007c25] 07c0:0025 (unk. ctxt): add bx, 0x0002            ; 83c302
  201. <bochs:50> x/8hx 0x7c50
  202. [bochs]:
  203. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  204. <bochs:51> s
  205. Next at t=60706155
  206. (0) [0x000000007c28] 07c0:0028 (unk. ctxt): loop .-7 (0x00007c23)     ; e2f9
  207. <bochs:52>
  208. Next at t=60706156
  209. (0) [0x000000007c2a] 07c0:002a (unk. ctxt): mov bx, 0x0000            ; bb0000
  210. <bochs:53> x/8hx 0x7c40
  211. [bochs]:
  212. 0x0000000000007c40 <bogus+       0>:    0x0123  0x0456  0x0789  0x0abc  0x0def  0x0fed  0x0eba  0x0987
  213. <bochs:54> x/8hx 0x7c50
  214. [bochs]:
  215. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  216. <bochs:55> sreg
  217. es:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  218.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  219. cs:0x07c0, dh=0x00009300, dl=0x7c00ffff, valid=1
  220.         Data segment, base=0x00007c00, limit=0x0000ffff, Read/Write, Accessed
  221. ss:0x07c5, dh=0x00009300, dl=0x7c50ffff, valid=7
  222.         Data segment, base=0x00007c50, limit=0x0000ffff, Read/Write, Accessed
  223. ds:0x07c4, dh=0x00009300, dl=0x7c40ffff, valid=3
  224.         Data segment, base=0x00007c40, limit=0x0000ffff, Read/Write, Accessed
  225. fs:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  226.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  227. gs:0x0000, dh=0x00009300, dl=0x0000ffff, valid=1
  228.         Data segment, base=0x00000000, limit=0x0000ffff, Read/Write, Accessed
  229. ldtr:0x0000, dh=0x00008200, dl=0x0000ffff, valid=1
  230. tr:0x0000, dh=0x00008b00, dl=0x0000ffff, valid=1
  231. gdtr:base=0x00000000000f9a37, limit=0x30
  232. idtr:base=0x0000000000000000, limit=0x3ff
  233. <bochs:56> s
  234. Next at t=60706157
  235. (0) [0x000000007c2d] 07c0:002d (unk. ctxt): mov cx, 0x0008            ; b90800
  236. <bochs:57>
  237. Next at t=60706158
  238. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  239. <bochs:58>
  240. Next at t=60706159
  241. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  242. <bochs:59> x/8hx 0x7c40
  243. [bochs]:
  244. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0456  0x0789  0x0abc  0x0def  0x0fed  0x0eba  0x0987
  245. <bochs:60> x/8hx 0x7c50
  246. [bochs]:
  247. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  248. <bochs:61> s
  249. Next at t=60706160
  250. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  251. <bochs:62>
  252. Next at t=60706161
  253. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  254. <bochs:63>
  255. Next at t=60706162
  256. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  257. <bochs:64> x/8hx 0x7c40
  258. [bochs]:
  259. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0789  0x0abc  0x0def  0x0fed  0x0eba  0x0987
  260. <bochs:65> x/8hx 0x7c50
  261. [bochs]:
  262. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  263. <bochs:66> s
  264. Next at t=60706163
  265. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  266. <bochs:67>
  267. Next at t=60706164
  268. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  269. <bochs:68>
  270. Next at t=60706165
  271. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  272. <bochs:69> x/8hx 0x7c40
  273. [bochs]:
  274. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0abc  0x0def  0x0fed  0x0eba  0x0987
  275. <bochs:70> x/8hx 0x7c50
  276. [bochs]:
  277. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  278. <bochs:71> s
  279. Next at t=60706166
  280. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  281. <bochs:72>
  282. Next at t=60706167
  283. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  284. <bochs:73>
  285. Next at t=60706168
  286. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  287. <bochs:74> x/8hx 0x7c40
  288. [bochs]:
  289. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0def  0x0fed  0x0eba  0x0987
  290. <bochs:75> x/8hx 0x7c50
  291. [bochs]:
  292. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  293. <bochs:76> s
  294. Next at t=60706169
  295. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  296. <bochs:77>
  297. Next at t=60706170
  298. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  299. <bochs:78>
  300. Next at t=60706171
  301. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  302. <bochs:79> x/8hx 0x7c40
  303. [bochs]:
  304. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0fed  0x0eba  0x0987
  305. <bochs:80> x/8hx 0x7c50
  306. [bochs]:
  307. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  308. <bochs:81> s
  309. Next at t=60706172
  310. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  311. <bochs:82>
  312. Next at t=60706173
  313. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  314. <bochs:83>
  315. Next at t=60706174
  316. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  317. <bochs:84> x/8hx 0x7c40
  318. [bochs]:
  319. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0eba  0x0987
  320. <bochs:85> x/8hx 0x7c50
  321. [bochs]:
  322. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  323. <bochs:86> s
  324. Next at t=60706175
  325. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  326. <bochs:87>
  327. Next at t=60706176
  328. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  329. <bochs:88>
  330. Next at t=60706177
  331. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  332. <bochs:89> x/8hx 0x7c40
  333. [bochs]:
  334. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0987
  335. <bochs:90> x/8hx 0x7c50
  336. [bochs]:
  337. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  338. <bochs:91> s
  339. Next at t=60706178
  340. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  341. <bochs:92>
  342. Next at t=60706179
  343. (0) [0x000000007c30] 07c0:0030 (unk. ctxt): pop word ptr ds:[bx]      ; 8f07
  344. <bochs:93>
  345. Next at t=60706180
  346. (0) [0x000000007c32] 07c0:0032 (unk. ctxt): add bx, 0x0002            ; 83c302
  347. <bochs:94> x/8hx 0x7c40
  348. [bochs]:
  349. 0x0000000000007c40 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  350. <bochs:95> x/8hx 0x7c50
  351. [bochs]:
  352. 0x0000000000007c50 <bogus+       0>:    0x0987  0x0eba  0x0fed  0x0def  0x0abc  0x0789  0x0456  0x0123
  353. <bochs:96> s
  354. Next at t=60706181
  355. (0) [0x000000007c35] 07c0:0035 (unk. ctxt): loop .-7 (0x00007c30)     ; e2f9
  356. <bochs:97>
  357. Next at t=60706182
  358. (0) [0x000000007c37] 07c0:0037 (unk. ctxt): cli                       ; fa
  359. <bochs:98>
  360. Next at t=60706183
  361. (0) [0x000000007c38] 07c0:0038 (unk. ctxt): hlt                       ; f4
  362. <bochs:99>
  363. Next at t=60706184
  364. (0) [0x000000007c39] 07c0:0039 (unk. ctxt): jmp .-4 (0x00007c37)      ; ebfc
  365. <bochs:100>
复制代码


asm.zip (7.65 KB, 下载次数: 1)

看不懂?
没关系,继续往后学吧,后面的内容更精彩
^_^
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-11-20 11:10:08 | 显示全部楼层
人造人 发表于 2018-11-19 23:49
测不准原理?
什么是测不准原理?
测不准的根本原因是因为你的测量工具不行

哥们可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-19 19:12:11 | 显示全部楼层
人造人 发表于 2018-11-19 23:49
测不准原理?
什么是测不准原理?
测不准的根本原因是因为你的测量工具不行

尼玛看不懂,先丢后面吧,慢慢学,写多了应该会理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 05:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表