Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Организация цикла в отладчике винды debug
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 декабря 2008 17:32 · Поправил: dewin
· Личное сообщение · #1

всем привет!

Почитал статью [url=http://cracklab.narod.ru/asm/03.htm
]http://cracklab.narod.ru/asm/03.htm
[/url]
а особенно что касается организации цикла командой LOOP!
но не могу реализовать это в отладчике windows - дебаге
помогите пожалуйста

опираясь на пример
Code:
  1.  page 60,132
  2.                  TITLE   EXLOOP  (COM) Организация цикла командой LOOP
  3. 0000             CODESG  SEGMENT PARA 'Code'
  4.                          ASSUME  CS:CODESG,DS:CODESG,SS:CODESG
  5. 0100                     ORG     100H
  6. 0100             BEGIN   PROC    NEAR
  7. 0100  B8 0001            MOV     AX,01      ;Инициализация AX,
  8. 0103  BB 0001            MOV     BX,01      ; BX,
  9. 0106  BA 0001            MOV     DX,01      ; и DX
  10. 0109  B9 000A            MOV     CX,10      ;Число циклов
  11. 010C            A20:
  12. 010C  40                 INC     AX         ;Прибавить 01 к AX
  13. 010D  03 D8              ADD     BX,AX      ;Прибавить AX к BX
  14. 010F  D1 E2              SHL     DX,1       ;Удвоить DX
  15. 0111  E2 F9              LOOP    A20        ;Уменьшить CX и повторить
  16.                                             ; цикл, если не нуль
  17. 0113  C3                 RET                ;Завершить работу
  18. 0114            BEGIN    ENDP
  19. 0114            CODESG   ENDS
  20.                          END     BEGIN


вот что я там наделал (трассировка не вся)
Code:
  1. -r
  2. AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  3. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0100   NV UP EI PL NZ NA PO NC
  4. 0D13:0100 E220          LOOP    0122
  5. -a
  6. 0D13:0100 mov ax,1
  7. 0D13:0103 mov bx,1
  8. 0D13:0106 mov dx,1
  9. 0D13:0109 mov cx,10
  10. 0D13:010C inc ax
  11. 0D13:010D add bx,ax
  12. 0D13:010F shl dx,1
  13. 0D13:0111 loop 010C
  14. 0D13:0113 ret
  15. 0D13:0114
  16. -t
  17. AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  18. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0103   NV UP EI PL NZ NA PO NC
  19. 0D13:0103 BB0100        MOV     BX,0001
  20. -t
  21. AX=0001  BX=0001  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
  22. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0106   NV UP EI PL NZ NA PO NC
  23. 0D13:0106 BA0100        MOV     DX,0001
  24. -t
  25. AX=0001  BX=0001  CX=0000  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
  26. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0109   NV UP EI PL NZ NA PO NC
  27. 0D13:0109 B91000        MOV     CX,0010
  28. -t
  29. AX=0001  BX=0001  CX=0010  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
  30. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ NA PO NC
  31. 0D13:010C 40            INC     AX
  32. -t
  33. AX=0002  BX=0001  CX=0010  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
  34. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PO NC
  35. 0D13:010D 01C3          ADD     BX,AX
  36. -t
  37. AX=0002  BX=0003  CX=0010  DX=0001  SP=FFEE  BP=0000  SI=0000  DI=0000
  38. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010F   NV UP EI PL NZ NA PE NC
  39. 0D13:010F D1E2          SHL     DX,1
  40. -t
  41. AX=0002  BX=0003  CX=0010  DX=0002  SP=FFEE  BP=0000  SI=0000  DI=0000
  42. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0111   NV UP EI PL NZ AC PO NC
  43. 0D13:0111 E2F9          LOOP    010C
  44. -t
  45. AX=0002  BX=0003  CX=000F  DX=0002  SP=FFEE  BP=0000  SI=0000  DI=0000
  46. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ AC PO NC
  47. 0D13:010C 40            INC     AX
  48. -t
  49. AX=0003  BX=0003  CX=000F  DX=0002  SP=FFEE  BP=0000  SI=0000  DI=0000
  50. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PE NC
  51. 0D13:010D 01C3          ADD     BX,AX
  52. -t
  53. AX=0003  BX=0006  CX=000F  DX=0002  SP=FFEE  BP=0000  SI=0000  DI=0000
  54. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010F   NV UP EI PL NZ NA PE NC
  55. 0D13:010F D1E2          SHL     DX,1
  56. -t
  57. AX=0003  BX=0006  CX=000F  DX=0004  SP=FFEE  BP=0000  SI=0000  DI=0000
  58. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0111   NV UP EI PL NZ AC PO NC
  59. 0D13:0111 E2F9          LOOP    010C
  60. -t
  61. AX=0003  BX=0006  CX=000E  DX=0004  SP=FFEE  BP=0000  SI=0000  DI=0000
  62. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ AC PO NC
  63. 0D13:010C 40            INC     AX
  64. -t
  65. AX=0004  BX=0006  CX=000E  DX=0004  SP=FFEE  BP=0000  SI=0000  DI=0000
  66. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PO NC
  67. 0D13:010D 01C3          ADD     BX,AX
  68. -t
  69. AX=0004  BX=000A  CX=000E  DX=0004  SP=FFEE  BP=0000  SI=0000  DI=0000
  70. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010F   NV UP EI PL NZ NA PE NC
  71. 0D13:010F D1E2          SHL     DX,1
  72. -t
  73. AX=0004  BX=000A  CX=000E  DX=0008  SP=FFEE  BP=0000  SI=0000  DI=0000
  74. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0111   NV UP EI PL NZ AC PO NC
  75. 0D13:0111 E2F9          LOOP    010C
  76. -t
  77. AX=0004  BX=000A  CX=000D  DX=0008  SP=FFEE  BP=0000  SI=0000  DI=0000
  78. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ AC PO NC
  79. 0D13:010C 40            INC     AX
  80. -t
  81. AX=0005  BX=000A  CX=000D  DX=0008  SP=FFEE  BP=0000  SI=0000  DI=0000
  82. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PE NC
  83. 0D13:010D 01C3          ADD     BX,AX
  84. -t
  85. AX=0005  BX=000F  CX=000D  DX=0008  SP=FFEE  BP=0000  SI=0000  DI=0000
  86. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010F   NV UP EI PL NZ NA PE NC
  87. 0D13:010F D1E2          SHL     DX,1
  88. -t
  89. AX=0005  BX=000F  CX=000D  DX=0010  SP=FFEE  BP=0000  SI=0000  DI=0000
  90. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0111   NV UP EI PL NZ AC PO NC
  91. 0D13:0111 E2F9          LOOP    010C
  92. -t
  93. AX=0005  BX=000F  CX=000C  DX=0010  SP=FFEE  BP=0000  SI=0000  DI=0000
  94. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ AC PO NC
  95. 0D13:010C 40            INC     AX
  96. ......................................................................  ...........
  97. -t
  98. AX=000A  BX=002D  CX=0008  DX=0100  SP=FFEE  BP=0000  SI=0000  DI=0000
  99. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PE NC
  100. 0D13:010D 01C3          ADD     BX,AX
  101. -t
  102. AX=000A  BX=0037  CX=0008  DX=0100  SP=FFEE  BP=0000  SI=0000  DI=0000
  103. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010F   NV UP EI PL NZ AC PO NC
  104. 0D13:010F D1E2          SHL     DX,1
  105. -t
  106. AX=000A  BX=0037  CX=0008  DX=0200  SP=FFEE  BP=0000  SI=0000  DI=0000
  107. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=0111   NV UP EI PL NZ AC PE NC
  108. 0D13:0111 E2F9          LOOP    010C
  109. -t
  110. AX=000A  BX=0037  CX=0007  DX=0200  SP=FFEE  BP=0000  SI=0000  DI=0000
  111. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010C   NV UP EI PL NZ AC PE NC
  112. 0D13:010C 40            INC     AX
  113. -t
  114. AX=000B  BX=0037  CX=0007  DX=0200  SP=FFEE  BP=0000  SI=0000  DI=0000
  115. DS=0D13  ES=0D13  SS=0D13  CS=0D13  IP=010D   NV UP EI PL NZ NA PO NC
  116. 0D13:010D 01C3          ADD     BX,AX
  117. -


что я делаю не так? там написано что регистр cx уменьшается до
нуля, содержимое регистpов AX, BX и DX будет соответственно шест. 000B,
0042 и 0400. Для выхода из отладчика введите команду Q. А у меня не так ..
вообще объясните плиз кто нибудь как можно просто организовать цикл в debug'е винды?



Ранг: 13.7 (новичок)
Активность: 0.020
Статус: Участник

Создано: 26 декабря 2008 18:27
· Личное сообщение · #2

А адрес не надо писать XXXXXXXX, где X от 0 до F?



Ранг: 13.7 (новичок)
Активность: 0.020
Статус: Участник

Создано: 26 декабря 2008 18:33 · Поправил: XoDeR
· Личное сообщение · #3

Это по-видимому мануал под 16-разрядную ось (DOS). В Win32 плоская модель памяти, осн. размер 32 бита (dword). Я вообще считаю, не нужно учить asm для dos если работать собираешься в win32. тюторов asm win32 навалом.



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 декабря 2008 18:40
· Личное сообщение · #4

а мне надо писать именно в дебаге ( у меня задание
XoDeR, я тебя не понял



Ранг: 2.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 декабря 2008 20:32
· Личное сообщение · #5

приведи полный дамп, что получается
и привет результат, который ты ожидаешь

с какого бодуна ты решил, что в AX будет Bh и DX будет 400h?
на сколько я вижу, AX=10h, DX=1, BX=88h, CX=0

нормальный у тебя цикл, какие проблемы?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 26 декабря 2008 23:05
· Личное сообщение · #6

Может поможет
wasm.ru/forum/viewtopic.php?id=30316

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



 eXeL@B —› Вопросы новичков —› Организация цикла в отладчике винды debug
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати