anchor.diff:                  (defun ,name (vq idx)
                     #+(or)(sup:debug-print-line "read field " ',name " idx " idx " @ " (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset))
                     (assert (< idx (virtqueue-size vq)))
  -                  (,accessor (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset) 0))
  +                  (,accessor (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset)))
                   (defun (setf ,name) (value vq idx)
                     #+(or)(sup:debug-print-line "write field " ',name " idx " idx " @ " (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset) " value " value)
                     (assert (< idx (virtqueue-size vq)))
  -                  (setf (,accessor (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset) 0) value)))))
  +                  (setf (,accessor (+ (virtqueue-virtual vq) (* idx +virtio-ring-desc-size+) ,offset)) value)))))
     (def virtio-ring-desc-address +virtio-ring-desc-address-offset+ sys.int::memref-unsigned-byte-64)
     (def virtio-ring-desc-length +virtio-ring-desc-length-offset+ sys.int::memref-unsigned-byte-32)
     (def virtio-ring-desc-flags +virtio-ring-desc-flags-offset+ sys.int::memref-unsigned-byte-16)
  
positive.code: (defun virtio-ring-avail-flags (vq)
    (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                         (virtqueue-avail-offset vq)
                                         +virtio-ring-avail-flags-offset+)
                                      0))
  (defun virtio-ring-avail-idx (vq)
    (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                         (virtqueue-avail-offset vq)
                                         +virtio-ring-avail-idx-offset+)
                                      0))
  (defun (setf virtio-ring-avail-flags) (value vq)
    (setf (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                               (virtqueue-avail-offset vq)
                                               +virtio-ring-avail-flags-offset+)
                                            0)
          value))
  (defun (setf virtio-ring-avail-idx) (value vq)
    (setf (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                               (virtqueue-avail-offset vq)
                                               +virtio-ring-avail-idx-offset+)
                                            0)
          value))
  
  (defun virtio-ring-avail-ring (vq idx)
  
negative.code:   (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                         (virtqueue-avail-offset vq)
                                         +virtio-ring-avail-ring-offset+
                                         (* idx 2))))
  (defun (setf virtio-ring-avail-ring) (value vq idx)
    (assert (< idx (virtqueue-size vq)))
    (setf (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                               (virtqueue-avail-offset vq)
                                               +virtio-ring-avail-ring-offset+
                                               (* idx 2)))
          value))
  
  (defun virtio-ring-used-flags (vq)
    (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                         (virtqueue-used-offset vq)
                                         +virtio-ring-used-flags-offset+)))
  (defun virtio-ring-used-idx (vq)
    (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                         (virtqueue-used-offset vq)
                                         +virtio-ring-used-idx-offset+)))
  (defun (setf virtio-ring-used-flags) (value vq)
    (setf (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                               (virtqueue-used-offset vq)
                                               +virtio-ring-used-flags-offset+))
          value))
  (defun (setf virtio-ring-used-idx) (value vq)
    (setf (sys.int::memref-unsigned-byte-16 (+ (virtqueue-virtual vq)
                                               (virtqueue-used-offset vq)
                                               +virtio-ring-used-idx-offset+))
          value))
  
  (defun virtio-ring-used-elem-id (vq idx)
  