diff options
author | jhb <jhb@FreeBSD.org> | 2001-11-03 21:53:46 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-11-03 21:53:46 +0000 |
commit | f40c8aa82ebe3c20d43cc5de565f55e0691ae1fb (patch) | |
tree | eaf3f66b00e04c3e3e4866afd8ad6db84772ffbd /sys | |
parent | 6a1de171ac53cf7f8b25dd40c8d9578c6d9cbc5d (diff) | |
download | FreeBSD-src-f40c8aa82ebe3c20d43cc5de565f55e0691ae1fb.zip FreeBSD-src-f40c8aa82ebe3c20d43cc5de565f55e0691ae1fb.tar.gz |
Add support for outputting multiple lines when dumping memory during the
register dump. Change the default to bump 2 lines of output (32 bytes)
instead of 1 line (16 byte).
Diffstat (limited to 'sys')
-rw-r--r-- | sys/boot/i386/btx/btx/btx.S | 15 | ||||
-rw-r--r-- | sys/boot/i386/btx/btx/btx.s | 15 |
2 files changed, 26 insertions, 4 deletions
diff --git a/sys/boot/i386/btx/btx/btx.S b/sys/boot/i386/btx/btx/btx.S index 3269d18..b04299b 100644 --- a/sys/boot/i386/btx/btx/btx.S +++ b/sys/boot/i386/btx/btx/btx.S @@ -907,17 +907,28 @@ dump.3: lodsl # Set offset shll $0x4,%eax # * 0x10 addl %edx,%eax # + offset xchgl %eax,%esi # Set pointer -dump.4: movb $0x10,%cl # Bytes to dump +dump.4: movb $2,%dl # Num lines +dump.4a: movb $0x10,%cl # Bytes to dump dump.5: lodsb # Get byte and call hex8 # dump it decb %cl # Keep count - jz dump.7 # If done + jz dump.6a # If done movb $'-',%al # Separator cmpb $0x8,%cl # Half way? je dump.6 # Yes movb $' ',%al # Use space dump.6: stosb # Save separator jmp dump.5 # Continue +dump.6a: decb %dl # Keep count + jz dump.7 # If done + movb $0xa,%al # Line feed + stosb # Save one + movb $7,%cl # Leading + movb $' ',%al # spaces +dump.6b: stosb # Dump + decb %cl # spaces + jnz dump.6b + jmp dump.4a # Next line dump.7: popl %ds # Restore dump.8: popl %esi # Restore movb $0xa,%al # Line feed diff --git a/sys/boot/i386/btx/btx/btx.s b/sys/boot/i386/btx/btx/btx.s index 3269d18..b04299b 100644 --- a/sys/boot/i386/btx/btx/btx.s +++ b/sys/boot/i386/btx/btx/btx.s @@ -907,17 +907,28 @@ dump.3: lodsl # Set offset shll $0x4,%eax # * 0x10 addl %edx,%eax # + offset xchgl %eax,%esi # Set pointer -dump.4: movb $0x10,%cl # Bytes to dump +dump.4: movb $2,%dl # Num lines +dump.4a: movb $0x10,%cl # Bytes to dump dump.5: lodsb # Get byte and call hex8 # dump it decb %cl # Keep count - jz dump.7 # If done + jz dump.6a # If done movb $'-',%al # Separator cmpb $0x8,%cl # Half way? je dump.6 # Yes movb $' ',%al # Use space dump.6: stosb # Save separator jmp dump.5 # Continue +dump.6a: decb %dl # Keep count + jz dump.7 # If done + movb $0xa,%al # Line feed + stosb # Save one + movb $7,%cl # Leading + movb $' ',%al # spaces +dump.6b: stosb # Dump + decb %cl # spaces + jnz dump.6b + jmp dump.4a # Next line dump.7: popl %ds # Restore dump.8: popl %esi # Restore movb $0xa,%al # Line feed |