anchor.diff:  ;               (prompt gdb-prompt-parser))
         value))
   
  +; disassembler
   (define gdb-x-i-answer-parser
      (let-parses((lines (get-greedy+
                     (let-parses((skip (get-any-of (get-word "=> " #t)
                                                   (get-word "   " #t)))
  -                              (skip get-whitespaces)
  +                              (skip maybe-whitespaces)
                                 (address (get-greedy+ (get-byte-if (lambda (x) (not (eq? x #\:))))))
                                 (skip (get-imm #\:))
  -                              (skip get-whitespaces)
  +                              (skip maybe-whitespaces)
                                 (instruction get-rest-of-line))
                        (cons (bytes->number (cddr address) 16) instruction)))))
   ;               (prompt gdb-prompt-parser))
  
positive.code:                  (key-pressed #xffc3) ; F6
                   (key-pressed #xffc4) ; F7
                   (key-pressed #xffc5)); F8
                 (gdb "monitor stop")
  
                 (main #true #false 0))
  
              ; тут надо проверить, а не пришло ли нам какое событие от дебаггера.
              ; например, а не сработал ли брекпоинт
  
negative.code: 
              ; Step Over
              ((key-pressed #xffc3) ; F6
                 (let ((code (gdb gdb-x-i-answer-parser "x/2i $eip")))
                    ;(caar code) <= current ip
                    ;(caadr code) <= next ip
                    (print "  " ($reg->string (caadr code)))
  