commit d98bdabb745a99c335660699ff0e9b014db10fbc Author: Eclypsed Date: Mon Oct 6 00:14:04 2025 -0400 Initial commit diff --git a/p1-check/Makefile b/p1-check/Makefile new file mode 100644 index 0000000..2aef9ec --- /dev/null +++ b/p1-check/Makefile @@ -0,0 +1,51 @@ +# +# Simple Makefile +# Mike Lam, James Madison University, August 2016 +# +# This makefile builds a simple application that contains a main module +# (specified by the EXE variable) and a predefined list of additional modules +# (specified by the MODS variable). If there are any external library +# dependencies (e.g., the math library, "-lm"), list them in the LIBS variable. +# If there are any precompiled object files, list them in the OBJS variable. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=y86 +MODS=p1-check.o +OBJS= +LIBS= + +default: $(EXE) + +test: $(EXE) + TPREFIX=tests/ make -C tests test + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + + +# build targets + +$(EXE): main.o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(EXE) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -f $(EXE) main.o $(MODS) + make -C tests clean + +.PHONY: default clean + diff --git a/p1-check/elf.h b/p1-check/elf.h new file mode 100644 index 0000000..3dc1045 --- /dev/null +++ b/p1-check/elf.h @@ -0,0 +1,57 @@ +#ifndef __CS261_ELF__ +#define __CS261_ELF__ + +#include +#include + +/* + Mini-ELF file format (byte 0 = first byte of the file) + +----------------------------------------------+ + | header (elf_hdr_t) - 16 bytes | + +----------------------------------------------+ + | program headers (elf_phdr_t) - 20 bytes each | + +----------------------------------------------+ + | program segments - variable length of bytes | + +----------------------------------------------+ + | symbol table - each entry is 4 bytes each | + +----------------------------------------------+ + | string table - variable length of strings | + +----------------------------------------------+ + + ELF header structure: + +----------------------------------------------------------------------------+ + | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 10 11 | 12 13 14 15 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + Sample ELF header (all entries in hex, format is little endian): + +----------------------------------------------------------------------------+ + | 01 00 | 00 01 | 10 00 | 02 00 | 58 00 | 70 00 | 45 4c 46 00 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + version = 0x0001 entry = 0x0100 phdr = 0x0010 numphdr = 0x0002 + symtab = 0x0058 strtab = 0x0070 magic = "ELF\0" + + Interpretation: + + This file was created under version 1 of this format. When the program is + loaded into memory, the instruct at address 0x100 (256) will be executed + first. The first program header (which indicates segments in this file) + starts at offset 0x10 (16) into the file, and there are 2 program headers + total. The symbol table starts at offset 0x58 (88) into this file, and the + string table starts at offset 0x70 (112). The magic number is the string + "ELF\0", stored in the elf_hdr_t format as a 4-byte integer 0x00464c45 + (4607045) and is used for checking the validity of the header. +*/ +typedef struct __attribute__((__packed__)) elf { + uint16_t e_version; /* version should be 1 */ + uint16_t e_entry; /* entry point of program */ + uint16_t e_phdr_start; /* start of program headers */ + uint16_t e_num_phdr; /* number of program headers */ + uint16_t e_symtab; /* start of symbol table */ + uint16_t e_strtab; /* start of string table */ + uint32_t magic; /* ELF */ +} elf_hdr_t; + +#endif diff --git a/p1-check/main.c b/p1-check/main.c new file mode 100644 index 0000000..db63a8a --- /dev/null +++ b/p1-check/main.c @@ -0,0 +1,66 @@ +/* + * CS 261: Main driver + * + * Name: Nicholas Tamassia + */ + +#include "p1-check.h" + +/* + * helper function for printing help text + */ +void usage (char **argv) +{ + printf("Usage: %s mini-elf-file\n", argv[0]); + printf(" Options are:\n"); + printf(" -h Display usage\n"); + printf(" -H Show the Mini-ELF header\n"); +} + +int main (int argc, char **argv) +{ + int c; + bool display_header = false; + + while ((c = getopt(argc, argv, "hH")) != -1) { + switch (c) { + case 'h': + usage(argv); + return EXIT_SUCCESS; + case 'H': + display_header = true; + break; + default: + usage(argv); + return EXIT_FAILURE; + } + } + + /* Check if file path was the last argument */ + if (optind != argc - 1) { + usage(argv); + return EXIT_FAILURE; + } + + elf_hdr_t header = { 0 }; + FILE *header_file = fopen(argv[optind], "r"); + + /* Invalid file path or failed to read correct data from file */ + if (!read_header(header_file, &header)) { + printf("Failed to read file\n"); + + if (header_file != NULL) { + fclose(header_file); + } + + return EXIT_FAILURE; + } + + if (display_header) { + dump_header(&header); + } + + fclose(header_file); + + return EXIT_SUCCESS; +} diff --git a/p1-check/main.o b/p1-check/main.o new file mode 100644 index 0000000..170a2cb Binary files /dev/null and b/p1-check/main.o differ diff --git a/p1-check/p1-check.c b/p1-check/p1-check.c new file mode 100644 index 0000000..2debd00 --- /dev/null +++ b/p1-check/p1-check.c @@ -0,0 +1,60 @@ +/* + * CS 261 PA1: Mini-ELF header verifier + * + * Name: Nicholas Tamassia + */ + +#include "p1-check.h" + +/********************************************************************** + * REQUIRED FUNCTIONS + *********************************************************************/ + +bool read_header (FILE *file, elf_hdr_t *hdr) +{ + if (!file || !hdr) { + return false; + } + + return ((fread(hdr, sizeof(elf_hdr_t), 1, file) == 1) && hdr->magic == 0x00464c45); +} + +/********************************************************************** + * OPTIONAL FUNCTIONS + *********************************************************************/ + +void dump_header (elf_hdr_t *hdr) +{ + uint8_t *byte_arr = (uint8_t*)hdr; + size_t size = sizeof(elf_hdr_t) / sizeof(byte_arr[0]); + + for (int i = 0; i < size; i++) { + printf("%02x", byte_arr[i]); + + if (i != size - 1) { + printf(" "); + } + + if (i == size / 2 - 1) { + printf(" "); + } + } + printf("\n"); + + printf("Mini-ELF version %d\n", hdr->e_version); + printf("Entry point 0x%03x\n", hdr->e_entry); + printf("There are %d program headers, starting at offset %d (0x%02x)\n", hdr->e_num_phdr, hdr->e_phdr_start, hdr->e_phdr_start); + + if (hdr->e_symtab != 0) { + printf("There is a symbol table starting at offset %d (0x%02x)\n", hdr->e_symtab, hdr->e_symtab); + } else { + printf("There is no symbol table present\n"); + } + + if (hdr->e_strtab != 0) { + printf("There is a string table starting at offset %d (0x%02x)\n", hdr->e_strtab, hdr->e_strtab); + } else { + printf("There is no string table present\n"); + } +} + diff --git a/p1-check/p1-check.h b/p1-check/p1-check.h new file mode 100644 index 0000000..5ce84e9 --- /dev/null +++ b/p1-check/p1-check.h @@ -0,0 +1,29 @@ +#ifndef __CS261_P1__ +#define __CS261_P1__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" + +/** + * @brief Load a Mini-ELF header from an open file stream + * + * @param file File stream to use for input + * @param hdr Pointer to region where the Mini-ELF header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_header (FILE *file, elf_hdr_t *hdr); + +/** + * @brief Print Mini-ELF header information to standard out + * + * @param hdr Header with info to print + */ +void dump_header (elf_hdr_t *hdr); + +#endif diff --git a/p1-check/p1-check.o b/p1-check/p1-check.o new file mode 100644 index 0000000..1ed5a83 Binary files /dev/null and b/p1-check/p1-check.o differ diff --git a/p1-check/tests/Makefile b/p1-check/tests/Makefile new file mode 100644 index 0000000..d8b9da1 --- /dev/null +++ b/p1-check/tests/Makefile @@ -0,0 +1,81 @@ +# +# Simple Test Makefile +# Mike Lam, James Madison University, August 2016 +# +# This version of the Makefile includes support for building a test suite. The +# recommended framework is Check (http://check.sourceforge.net/). To build and +# run the test suite, execute the "test" target. The test suite must be located +# in a module called "testsuite". The MODS, LIBS, and OBJS variables work as +# they do in the main Makefile. +# +# To change the default build target (which executes when you just type +# "make"), change the right-hand side of the definition of the "default" +# target. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=../y86 +TEST=testsuite +MODS=public.o +OBJS=../p1-check.o private.o +LIBS= + +UTESTOUT=utests.txt +ITESTOUT=itests.txt + +default: $(TEST) + +$(EXE): + make -C ../ + +test: utest itest + @echo "========================================" + +utest: $(EXE) $(TEST) + @echo "========================================" + @echo " UNIT TESTS" + @./$(TEST) 2>/dev/null >$(UTESTOUT) + @cat $(UTESTOUT) | sed -n -e '/Checks/,$$p' | sed -e 's/^private.*:[EF]://g' + +itest: $(EXE) + @echo "========================================" + @echo " INTEGRATION TESTS" + @./integration.sh | tee $(ITESTOUT) + + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + +CFLAGS+=-I/opt/homebrew/include -Wno-gnu-zero-variadic-macro-arguments +LDFLAGS+=-L/opt/homebrew/lib +LIBS+=-lcheck -lm -lpthread + +ifeq ($(shell uname -s),Linux) + LIBS+=-lrt -lsubunit +endif + + +# build targets + +$(TEST): $(TEST).o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(TEST) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -rf $(TEST) $(TEST).o $(MODS) $(UTESTOUT) $(ITESTOUT) outputs valgrind + +.PHONY: default clean test unittest inttest + diff --git a/p1-check/tests/expected/A_bad_magic.txt b/p1-check/tests/expected/A_bad_magic.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p1-check/tests/expected/A_bad_magic.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p1-check/tests/expected/A_bad_magic_no_H.txt b/p1-check/tests/expected/A_bad_magic_no_H.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p1-check/tests/expected/A_bad_magic_no_H.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p1-check/tests/expected/A_invalid_multi_files.txt b/p1-check/tests/expected/A_invalid_multi_files.txt new file mode 100644 index 0000000..bb71446 --- /dev/null +++ b/p1-check/tests/expected/A_invalid_multi_files.txt @@ -0,0 +1,4 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header diff --git a/p1-check/tests/expected/A_invalid_multi_params.txt b/p1-check/tests/expected/A_invalid_multi_params.txt new file mode 100644 index 0000000..bb71446 --- /dev/null +++ b/p1-check/tests/expected/A_invalid_multi_params.txt @@ -0,0 +1,4 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header diff --git a/p1-check/tests/expected/A_invalid_param.txt b/p1-check/tests/expected/A_invalid_param.txt new file mode 100644 index 0000000..bb71446 --- /dev/null +++ b/p1-check/tests/expected/A_invalid_param.txt @@ -0,0 +1,4 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header diff --git a/p1-check/tests/expected/A_missing_filename.txt b/p1-check/tests/expected/A_missing_filename.txt new file mode 100644 index 0000000..bb71446 --- /dev/null +++ b/p1-check/tests/expected/A_missing_filename.txt @@ -0,0 +1,4 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header diff --git a/p1-check/tests/expected/A_nonexistent_file.txt b/p1-check/tests/expected/A_nonexistent_file.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p1-check/tests/expected/A_nonexistent_file.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p1-check/tests/expected/A_short_header.txt b/p1-check/tests/expected/A_short_header.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p1-check/tests/expected/A_short_header.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p1-check/tests/expected/A_short_header_no_H.txt b/p1-check/tests/expected/A_short_header_no_H.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p1-check/tests/expected/A_short_header_no_H.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p1-check/tests/expected/B_help.txt b/p1-check/tests/expected/B_help.txt new file mode 100644 index 0000000..bb71446 --- /dev/null +++ b/p1-check/tests/expected/B_help.txt @@ -0,0 +1,4 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header diff --git a/p1-check/tests/expected/B_multisegment.txt b/p1-check/tests/expected/B_multisegment.txt new file mode 100644 index 0000000..ab13265 --- /dev/null +++ b/p1-check/tests/expected/B_multisegment.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present diff --git a/p1-check/tests/expected/B_simple_full.txt b/p1-check/tests/expected/B_simple_full.txt new file mode 100644 index 0000000..2705cba --- /dev/null +++ b/p1-check/tests/expected/B_simple_full.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) diff --git a/p1-check/tests/expected/B_stack.txt b/p1-check/tests/expected/B_stack.txt new file mode 100644 index 0000000..23ae50c --- /dev/null +++ b/p1-check/tests/expected/B_stack.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 05 00 f4 00 16 01 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 5 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 244 (0xf4) +There is a string table starting at offset 278 (0x116) diff --git a/p1-check/tests/expected/B_stripped.txt b/p1-check/tests/expected/B_stripped.txt new file mode 100644 index 0000000..64103f9 --- /dev/null +++ b/p1-check/tests/expected/B_stripped.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 02 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present diff --git a/p1-check/tests/expected/C_no_output.txt b/p1-check/tests/expected/C_no_output.txt new file mode 100644 index 0000000..e69de29 diff --git a/p1-check/tests/expected/C_simple_hex-2.txt b/p1-check/tests/expected/C_simple_hex-2.txt new file mode 100644 index 0000000..2705cba --- /dev/null +++ b/p1-check/tests/expected/C_simple_hex-2.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) diff --git a/p1-check/tests/expected/C_simple_hex.txt b/p1-check/tests/expected/C_simple_hex.txt new file mode 100644 index 0000000..e4e878e --- /dev/null +++ b/p1-check/tests/expected/C_simple_hex.txt @@ -0,0 +1 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 diff --git a/p1-check/tests/inputs/bad-no_elf.o b/p1-check/tests/inputs/bad-no_elf.o new file mode 100644 index 0000000..8de3a52 Binary files /dev/null and b/p1-check/tests/inputs/bad-no_elf.o differ diff --git a/p1-check/tests/inputs/bad-short_header.o b/p1-check/tests/inputs/bad-short_header.o new file mode 100644 index 0000000..f9d0e54 Binary files /dev/null and b/p1-check/tests/inputs/bad-short_header.o differ diff --git a/p1-check/tests/inputs/multiseg.o b/p1-check/tests/inputs/multiseg.o new file mode 100644 index 0000000..dbab402 Binary files /dev/null and b/p1-check/tests/inputs/multiseg.o differ diff --git a/p1-check/tests/inputs/simple.o b/p1-check/tests/inputs/simple.o new file mode 100644 index 0000000..e25a53b Binary files /dev/null and b/p1-check/tests/inputs/simple.o differ diff --git a/p1-check/tests/inputs/stack.o b/p1-check/tests/inputs/stack.o new file mode 100644 index 0000000..2fc83fb Binary files /dev/null and b/p1-check/tests/inputs/stack.o differ diff --git a/p1-check/tests/inputs/stripped.o b/p1-check/tests/inputs/stripped.o new file mode 100644 index 0000000..6f00342 Binary files /dev/null and b/p1-check/tests/inputs/stripped.o differ diff --git a/p1-check/tests/integration.sh b/p1-check/tests/integration.sh new file mode 100644 index 0000000..ed5a430 --- /dev/null +++ b/p1-check/tests/integration.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# extract executable name from Makefile +EXE=$(grep "EXE=" Makefile | sed -e "s/EXE=//") + +# detect timeout utility (i.e., "timeout" on Linux and "gtimeout" on MacOS) +# and set timeout interval +TIMEOUT="timeout" +TIMEOUT_INTERVAL="3s" +$TIMEOUT --help &>/dev/null +if [[ $? -ne 0 ]]; then + TIMEOUT="gtimeout" +fi + +# Valgrind additional output flags +VG_FLAGS="--leak-check=full --track-origins=yes" + +function run_test { + + # parameters + TAG=$1 + ARGS=$2 + PTAG=$(printf '%-30s' "$TAG") + + # file paths + OUTPUT=outputs/$TAG.txt + DIFF=outputs/$TAG.diff + EXPECT=expected/$TAG.txt + VALGRND=valgrind/$TAG.txt + + # run test with timeout + $TIMEOUT $TIMEOUT_INTERVAL $EXE $ARGS 2>/dev/null >"$OUTPUT" + if [ "$?" -lt 124 ]; then + + # no timeout; compare output to the expected version + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + + # try alternative solution (if it exists) + EXPECT=expected/$TAG-2.txt + if [ -e "$EXPECT" ]; then + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + else + echo "$PTAG pass" + fi + else + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + fi + else + echo "$PTAG pass" + fi + + # run valgrind + $TIMEOUT $TIMEOUT_INTERVAL valgrind $VG_FLAGS $EXE $ARGS &>$VALGRND + else + echo "$PTAG FAIL (crash or timeout)" + fi +} + +# initialize output folders +mkdir -p outputs +mkdir -p valgrind +rm -f outputs/* valgrind/* + +# run individual tests +source itests.include + +# check for memory leaks +LEAK=`cat valgrind/*.txt | grep 'definitely lost' | grep -v ' 0 bytes in 0 blocks'` +if [ -z "$LEAK" ]; then + echo "No memory leak found." +else + echo "Memory leak(s) found. See files listed below for details." + grep 'definitely lost' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + +# check for uninitialized values +LEAK=`cat valgrind/*.txt | grep 'uninitialised value'` +if [ -z "$LEAK" ]; then + echo "No uninitialized value found." +else + echo "Uninitialized value(s) found. See files listed below for details." + grep 'uninitialised value' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + diff --git a/p1-check/tests/itests.include b/p1-check/tests/itests.include new file mode 100644 index 0000000..5071953 --- /dev/null +++ b/p1-check/tests/itests.include @@ -0,0 +1,21 @@ +# list of integration tests +# format: run_test +# used as the root for all filenames (i.e., "expected/$TAG.txt") +# command-line arguments to test + +run_test C_simple_hex "-H inputs/simple.o" +run_test C_no_output "inputs/simple.o" +run_test B_help "-h" +run_test B_simple_full "-H inputs/simple.o" +run_test B_multisegment "-H inputs/multiseg.o" +run_test B_stripped "-H inputs/stripped.o" +run_test B_stack "-H inputs/stack.o" +run_test A_invalid_param "-x" +run_test A_invalid_multi_files "-H inputs/simple.o inputs/multiseg.o" +run_test A_invalid_multi_params "-H inputs/simple.o -H inputs/multiseg.o" +run_test A_missing_filename "-H" +run_test A_nonexistent_file "-H nonexist.o" +run_test A_bad_magic "-H inputs/bad-no_elf.o" +run_test A_short_header "-H inputs/bad-short_header.o" +run_test A_bad_magic_no_H "inputs/bad-no_elf.o" +run_test A_short_header_no_H "inputs/bad-short_header.o" diff --git a/p1-check/tests/private.o b/p1-check/tests/private.o new file mode 100644 index 0000000..7cb1103 Binary files /dev/null and b/p1-check/tests/private.o differ diff --git a/p1-check/tests/public.c b/p1-check/tests/public.c new file mode 100644 index 0000000..4dfd2f2 --- /dev/null +++ b/p1-check/tests/public.c @@ -0,0 +1,26 @@ +#include +#include +#include + +#include + +#include "../p1-check.h" + +/* read_header is declared and defined */ +START_TEST (C_sanity_read_header_is_declared) +{ + elf_hdr_t elf; + FILE *fp = fopen ("inputs/simple.o", "r"); + ck_assert (fp != NULL); + bool rc = read_header (fp, &elf); + ck_assert (rc || !rc); +} +END_TEST + +void public_tests (Suite *s) +{ + TCase *tc_public = tcase_create ("Public"); + tcase_add_test (tc_public, C_sanity_read_header_is_declared); + suite_add_tcase (s, tc_public); +} + diff --git a/p1-check/tests/testsuite.c b/p1-check/tests/testsuite.c new file mode 100644 index 0000000..717c193 --- /dev/null +++ b/p1-check/tests/testsuite.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include + +#include + +extern void public_tests (Suite *s); +extern void private_tests (Suite *s); + +Suite * test_suite (void) +{ + Suite *s = suite_create ("Default"); + public_tests (s); + private_tests (s); + return s; +} + +void run_testsuite (void) +{ + Suite *s = test_suite (); + SRunner *sr = srunner_create (s); + srunner_run_all (sr, CK_NORMAL); + srunner_free (sr); +} + +int main (void) +{ + srand((unsigned)time(NULL)); + run_testsuite (); + return EXIT_SUCCESS; +} diff --git a/p1-check/y86 b/p1-check/y86 new file mode 100644 index 0000000..60ee7c4 Binary files /dev/null and b/p1-check/y86 differ diff --git a/p2-load/Makefile b/p2-load/Makefile new file mode 100644 index 0000000..238dba1 --- /dev/null +++ b/p2-load/Makefile @@ -0,0 +1,51 @@ +# +# Simple Makefile +# Mike Lam, James Madison University, August 2016 +# +# This makefile builds a simple application that contains a main module +# (specified by the EXE variable) and a predefined list of additional modules +# (specified by the MODS variable). If there are any external library +# dependencies (e.g., the math library, "-lm"), list them in the LIBS variable. +# If there are any precompiled object files, list them in the OBJS variable. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=y86 +MODS=p2-load.o +OBJS=p1-check.o +LIBS= + +default: $(EXE) + +test: $(EXE) + TPREFIX=tests/ make -C tests test + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + + +# build targets + +$(EXE): main.o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(EXE) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -f $(EXE) main.o $(MODS) + make -C tests clean + +.PHONY: default clean + diff --git a/p2-load/elf.h b/p2-load/elf.h new file mode 100644 index 0000000..92d56bf --- /dev/null +++ b/p2-load/elf.h @@ -0,0 +1,98 @@ +#ifndef __CS261_ELF__ +#define __CS261_ELF__ + +#include +#include + +#include "y86.h" + +/* + Mini-ELF file format (byte 0 = first byte of the file) + +----------------------------------------------+ + | header (elf_hdr_t) - 16 bytes | + +----------------------------------------------+ + | program headers (elf_phdr_t) - 20 bytes each | + +----------------------------------------------+ + | program segments - variable length of bytes | + +----------------------------------------------+ + | symbol table - each entry is 4 bytes each | + +----------------------------------------------+ + | string table - variable length of strings | + +----------------------------------------------+ + + ELF header structure: + +----------------------------------------------------------------------------+ + | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 10 11 | 12 13 14 15 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + Sample ELF header (all entries in hex, format is little endian): + +----------------------------------------------------------------------------+ + | 01 00 | 00 01 | 10 00 | 05 00 | ac 00 | c2 00 | 45 4c 46 00 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + version = 0x0001 entry = 0x0100 phdr = 0x0010 numphdr = 0x0005 + symtab = 0x00ac strtab = 0x00c2 magic = "ELF\0" + + Interpretation: + This file was created under version 1 of this format. When the program is + loaded into memory, the instruct at address 0x100 (256) will be executed + first. The first program header (which indicates segments in this file) + starts at offset 0x10 (16) into the file, and there are 5 program headers + total. The symbol table starts at offset 0xac (172) into this file, and the + string table starts at offset 0xc2 (194). The magic number is the string + "ELF\0" and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf { + uint16_t e_version; /* version should be 1 */ + uint16_t e_entry; /* entry point of program */ + uint16_t e_phdr_start; /* start of program headers */ + uint16_t e_num_phdr; /* number of program headers */ + uint16_t e_symtab; /* start of symbol table */ + uint16_t e_strtab; /* start of string table */ + uint32_t magic; /* ELF */ +} elf_hdr_t; + +typedef enum { + DATA, CODE, STACK, HEAP, UNKNOWN +} elf_segtype_t; + +/* + ELF program header structure (describing segments): + +-----------------------------------------------------------------------+ + | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 | 14 15 | 16 17 18 19 | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + Flags store segment permissions as RWX (read/write/execute) in binary. + Examples: 100 (binary) = 4 (decimal/hex) = read-only (R ) + 101 (binary) = 5 (decimal/hex) = read-execute (R X) + 110 (binary) = 6 (decimal/hex) = read-write (RW ) + + Sample ELF program header (all entries in hex, format is little endian): + +-----------------------------------------------------------------------+ + | 74 00 00 00 | 12 00 00 00 | 00 01 00 00 | 01 00 | 05 00 | ef be ad de | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + offset = 0x00000074 size = 0x00000012 virt addr = 0x00000100 + type = 0x0001 (CODE) flags = 0x0005 (RX) magic = 0xDEADBEEF + + Interpretation: + The segment starts at offset 0x74 (116) in the file, and it is 0x12 (18) + bytes in size. It will be loaded into memory address 0x100 (256). Since it + is a CODE segment, it needs to have read-execute (RX) permissions attached. + The magic number is the value 0xDEADBEEF and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf_phdr { + uint32_t p_offset; /* beginning of the segment in the file (in bytes) */ + uint32_t p_size; /* number of bytes in the segment */ + uint32_t p_vaddr; /* intended virtual address of the beginning of + the segment in a running program's memory */ + uint16_t p_type; /* segment type (e.g., code, data, etc.) */ + uint16_t p_flags; /* permissions flags */ + uint32_t magic; /* DEADBEEF */ +} elf_phdr_t; + +#endif diff --git a/p2-load/main.c b/p2-load/main.c new file mode 100644 index 0000000..cf671d7 --- /dev/null +++ b/p2-load/main.c @@ -0,0 +1,134 @@ +/* + * CS 261: Main driver + * + * Name: Nicholas Tamassia + * This code was developed in compliance with the JMU Honor Code. + */ + +#include "p1-check.h" +#include "p2-load.h" + +/* Helper function for printing help text */ +void usage (char **argv) +{ + printf("Usage: %s mini-elf-file\n", argv[0]); + printf(" Options are:\n"); + printf(" -h Display usage\n"); + printf(" -H Show the Mini-ELF header\n"); + printf(" -a Show all with brief memory\n"); + printf(" -f Show all with full memory\n"); + printf(" -s Show the program headers\n"); + printf(" -m Show the memory contents (brief)\n"); + printf(" -M Show the memory contents (full)\n"); +} + +void exit_file_error(FILE* file) { + if (file) { + fclose(file); + } + + printf("Failed to read file\n"); + exit(EXIT_FAILURE); +} + +int main (int argc, char **argv) +{ + int c; + bool show_elf_header = false; + bool show_program_header = false; + bool show_memory_brief = false; + bool show_memory_full = false; + + while ((c = getopt(argc, argv, "hHafsmM")) != -1) { + switch (c) { + case 'h': + usage(argv); + return EXIT_SUCCESS; + case 'H': + show_elf_header = true; + break; + case 'a': + show_elf_header = true; + show_program_header = true; + show_memory_brief = true; + break; + case 'f': + show_elf_header = true; + show_program_header = true; + show_memory_full = true; + break; + case 's': + show_program_header = true; + break; + case 'm': + show_memory_brief = true; + break; + case 'M': + show_memory_full = true; + break; + default: + usage(argv); + return EXIT_FAILURE; + } + } + + bool invalid_arguments = optind != argc - 1; /* File path was not the last argument */ + bool memory_flag_conflict = show_memory_brief && show_memory_full; /* Attempted to ask for brief and full memory at same time */ + + if (invalid_arguments || memory_flag_conflict) { + usage(argv); + return EXIT_FAILURE; + } + + elf_hdr_t header = { 0 }; + FILE *header_file = fopen(argv[optind], "r"); + + /* Read contents of header_file into header */ + if (!read_header(header_file, &header)) { + exit_file_error(header_file); + } + + if (show_elf_header) { + dump_header(&header); + } + + elf_phdr_t phdrs[header.e_num_phdr]; + memset(phdrs, 0, sizeof(phdrs)); + + /* Read program headers into phdrs array */ + for (int i = 0; i < header.e_num_phdr; i++) { + if (!read_phdr(header_file, header.e_phdr_start + i * sizeof(elf_phdr_t), &phdrs[i])) { + exit_file_error(header_file); + } + } + + if (show_program_header) { + dump_phdrs(header.e_num_phdr, phdrs); + } + + byte_t memory[MEMSIZE]; + memset(memory, 0, MEMSIZE); + + /* Read memory segments into memory array */ + for (int i = 0; i < header.e_num_phdr; i++) { + if (!load_segment(header_file, memory, &phdrs[i])) { + exit_file_error(header_file); + } + } + + if (show_memory_brief) { + for (int i = 0; i < header.e_num_phdr; i++) { + uint32_t start = phdrs[i].p_vaddr; + uint32_t end = start + phdrs[i].p_size; + + dump_memory(memory, start, end); + } + } else if (show_memory_full) { + dump_memory(memory, 0, MEMSIZE); + } + + fclose(header_file); + + return EXIT_SUCCESS; +} + diff --git a/p2-load/main.o b/p2-load/main.o new file mode 100644 index 0000000..43847a2 Binary files /dev/null and b/p2-load/main.o differ diff --git a/p2-load/p1-check.h b/p2-load/p1-check.h new file mode 100644 index 0000000..5ce84e9 --- /dev/null +++ b/p2-load/p1-check.h @@ -0,0 +1,29 @@ +#ifndef __CS261_P1__ +#define __CS261_P1__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" + +/** + * @brief Load a Mini-ELF header from an open file stream + * + * @param file File stream to use for input + * @param hdr Pointer to region where the Mini-ELF header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_header (FILE *file, elf_hdr_t *hdr); + +/** + * @brief Print Mini-ELF header information to standard out + * + * @param hdr Header with info to print + */ +void dump_header (elf_hdr_t *hdr); + +#endif diff --git a/p2-load/p1-check.o b/p2-load/p1-check.o new file mode 100644 index 0000000..a943a48 Binary files /dev/null and b/p2-load/p1-check.o differ diff --git a/p2-load/p2-load.c b/p2-load/p2-load.c new file mode 100644 index 0000000..8beb505 --- /dev/null +++ b/p2-load/p2-load.c @@ -0,0 +1,96 @@ +/* + * CS 261 PA2: Mini-ELF loader + * + * Name: Nicholas Tamassia + * This code was developed in compliance with the JMU Honor Code. + */ + +#include "p2-load.h" + +/********************************************************************** + * REQUIRED FUNCTIONS + *********************************************************************/ + +bool read_phdr (FILE *file, uint16_t offset, elf_phdr_t *phdr) +{ + if (!file || !phdr || fseek(file, offset, SEEK_SET) != 0) { + return false; + } + + return ((fread(phdr, sizeof(elf_phdr_t), 1, file) == 1) && phdr->magic == 0xDEADBEEF); +} + +bool load_segment (FILE *file, byte_t *memory, elf_phdr_t *phdr) +{ + if (!file || !memory || !phdr) { + return false; + } + + if (phdr->p_vaddr + phdr->p_size > MEMSIZE || fseek(file, phdr->p_offset, SEEK_SET) != 0) { + return false; + } + + if ((fread(memory + phdr->p_vaddr, phdr->p_size, 1, file) != 1) && phdr->p_size != 0) { + return false; + } + + return true; +} + +/********************************************************************** + * OPTIONAL FUNCTIONS + *********************************************************************/ + +void dump_phdrs (uint16_t numphdrs, elf_phdr_t *phdrs) +{ + printf(" Segment Offset Size VirtAddr Type Flags\n"); + + for (int i = 0; i < numphdrs; i++) { + elf_phdr_t phdr = phdrs[i]; + char flags[4] = "RWX"; + + for (int j = 2; j >= 0; j--) { + if ((phdr.p_flags & (1 << (2 - j))) == 0) { + flags[j] = ' '; + } + } + + printf(" %02d 0x%04x 0x%04x 0x%04x %-10s%s\n", i, phdr.p_offset, phdr.p_size, phdr.p_vaddr, p_type_mapper(phdr.p_type), flags); + } +} + +char* p_type_mapper(uint16_t type) { + switch (type) { + case 0: return "DATA"; break; + case 1: return "CODE"; break; + case 2: return "STACK"; break; + case 3: return "HEAP"; break; + default: return "UNKNOWN"; break; + } +} + +void dump_memory (byte_t *memory, uint16_t start, uint16_t end) +{ + printf("Contents of memory from %04x to %04x:\n", start, end); + + int aligned_start = start - (start % 16); + + for (int i = aligned_start; i < end; i++) { + if (i % 16 == 0) { + printf(" %04x ", i); + } + + if (i >= start) { + printf(" %02x", memory[i]); + } else { + printf(" "); + } + + if (i % 16 == 15 || i == end - 1) { + printf("\n"); + } else if (i % 16 == 7) { + printf(" "); + } + } +} + diff --git a/p2-load/p2-load.h b/p2-load/p2-load.h new file mode 100644 index 0000000..07334bd --- /dev/null +++ b/p2-load/p2-load.h @@ -0,0 +1,54 @@ +#ifndef __CS261_P2__ +#define __CS261_P2__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Load a Mini-ELF program header from an open file stream + * + * @param file File stream to use for input + * @param offset Byte offset in file where the program header is located + * @param phdr Pointer to memory where the Mini-ELF program header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_phdr (FILE *file, uint16_t offset, elf_phdr_t *phdr); + +/** + * @brief Load a Mini-ELF program segment from an open file stream + * + * @param file File stream to use for input + * @param memory Pointer to the beginning of the Y86 address space into which + * the segment should be loaded + * @param phdr Pointer to the program header for the segment that should be loaded + * @returns True if the segment was successfully loaded, false otherwise + */ +bool load_segment (FILE *file, byte_t *memory, elf_phdr_t *phdr); + +/** + * @brief Print Mini-ELF program header information to standard out + * + * @param numphdrs Number of program headers to print + * @param phdrs Pointer to array of program headers with info to print + */ +void dump_phdrs (uint16_t numphdrs, elf_phdr_t *phdrs); + +char* p_type_mapper(uint16_t type); + +/** + * @brief Print a portion of a Y86 address space + * + * @param memory Pointer to the beginning of the Y86 address space + * @param start Byte offset where printing should begin + * @param end Byte offset where printing should end + */ +void dump_memory (byte_t *memory, uint16_t start, uint16_t end); + +#endif diff --git a/p2-load/p2-load.o b/p2-load/p2-load.o new file mode 100644 index 0000000..2d96423 Binary files /dev/null and b/p2-load/p2-load.o differ diff --git a/p2-load/tests/Makefile b/p2-load/tests/Makefile new file mode 100644 index 0000000..c38cb76 --- /dev/null +++ b/p2-load/tests/Makefile @@ -0,0 +1,81 @@ +# +# Simple Test Makefile +# Mike Lam, James Madison University, August 2016 +# +# This version of the Makefile includes support for building a test suite. The +# recommended framework is Check (http://check.sourceforge.net/). To build and +# run the test suite, execute the "test" target. The test suite must be located +# in a module called "testsuite". The MODS, LIBS, and OBJS variables work as +# they do in the main Makefile. +# +# To change the default build target (which executes when you just type +# "make"), change the right-hand side of the definition of the "default" +# target. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=../y86 +TEST=testsuite +MODS=public.o +OBJS=../p1-check.o ../p2-load.o private.o +LIBS= + +UTESTOUT=utests.txt +ITESTOUT=itests.txt + +default: $(TEST) + +$(EXE): + make -C ../ + +test: utest itest + @echo "========================================" + +utest: $(EXE) $(TEST) + @echo "========================================" + @echo " UNIT TESTS" + @./$(TEST) 2>/dev/null >$(UTESTOUT) + @cat $(UTESTOUT) | sed -n -e '/Checks/,$$p' | sed -e 's/^private.*:[EF]://g' + +itest: $(EXE) + @echo "========================================" + @echo " INTEGRATION TESTS" + @./integration.sh | tee $(ITESTOUT) + + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + +CFLAGS+=-I/opt/homebrew/include -Wno-gnu-zero-variadic-macro-arguments +LDFLAGS+=-L/opt/homebrew/lib +LIBS+=-lcheck -lm -lpthread + +ifeq ($(shell uname -s),Linux) + LIBS+=-lrt -lsubunit +endif + + +# build targets + +$(TEST): $(TEST).o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(TEST) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -rf $(TEST) $(TEST).o $(MODS) $(UTESTOUT) $(ITESTOUT) outputs valgrind + +.PHONY: default clean test unittest inttest + diff --git a/p2-load/tests/expected/A_bad_phdr_magic.txt b/p2-load/tests/expected/A_bad_phdr_magic.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/expected/A_bad_phdr_magic.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/expected/A_bad_phdr_short.txt b/p2-load/tests/expected/A_bad_phdr_short.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/expected/A_bad_phdr_short.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/expected/A_bad_phdr_vaddr.txt b/p2-load/tests/expected/A_bad_phdr_vaddr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/expected/A_bad_phdr_vaddr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/expected/A_brief_full.txt b/p2-load/tests/expected/A_brief_full.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/A_brief_full.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/A_extra_params.txt b/p2-load/tests/expected/A_extra_params.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/A_extra_params.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/A_full_conflict.txt b/p2-load/tests/expected/A_full_conflict.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/A_full_conflict.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/A_mem_conflict.txt b/p2-load/tests/expected/A_mem_conflict.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/A_mem_conflict.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/A_missing_file.txt b/p2-load/tests/expected/A_missing_file.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/A_missing_file.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/A_no_flags.txt b/p2-load/tests/expected/A_no_flags.txt new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/expected/A_no_flags_bad.txt b/p2-load/tests/expected/A_no_flags_bad.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/expected/A_no_flags_bad.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/expected/A_unaligned1.txt b/p2-load/tests/expected/A_unaligned1.txt new file mode 100644 index 0000000..e403f1b --- /dev/null +++ b/p2-load/tests/expected/A_unaligned1.txt @@ -0,0 +1,17 @@ +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 diff --git a/p2-load/tests/expected/A_unaligned2.txt b/p2-load/tests/expected/A_unaligned2.txt new file mode 100644 index 0000000..1a02a1b --- /dev/null +++ b/p2-load/tests/expected/A_unaligned2.txt @@ -0,0 +1,18 @@ +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 diff --git a/p2-load/tests/expected/B_all_flags.txt b/p2-load/tests/expected/B_all_flags.txt new file mode 100644 index 0000000..d6db550 --- /dev/null +++ b/p2-load/tests/expected/B_all_flags.txt @@ -0,0 +1,14 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/expected/B_repeated.txt b/p2-load/tests/expected/B_repeated.txt new file mode 100644 index 0000000..042929e --- /dev/null +++ b/p2-load/tests/expected/B_repeated.txt @@ -0,0 +1,3 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/expected/B_stack.txt b/p2-load/tests/expected/B_stack.txt new file mode 100644 index 0000000..ddeb8f2 --- /dev/null +++ b/p2-load/tests/expected/B_stack.txt @@ -0,0 +1,27 @@ +01 00 00 01 10 00 05 00 f4 00 16 01 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 5 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 244 (0xf4) +There is a string table starting at offset 278 (0x116) + Segment Offset Size VirtAddr Type Flags + 00 0x0074 0x001e 0x0100 CODE R X + 01 0x0092 0x0032 0x0200 CODE R X + 02 0x00c4 0x000d 0x0300 DATA RW + 03 0x00d1 0x0023 0x0400 DATA R + 04 0x00f4 0x0000 0x0f00 STACK RW +Contents of memory from 0100 to 011e: + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f5 00 0f 00 00 + 0110 00 00 00 00 80 00 02 00 00 00 00 00 00 00 +Contents of memory from 0200 to 0232: + 0200 30 f0 02 03 00 00 00 00 00 00 50 30 00 00 00 00 + 0210 00 00 00 00 20 31 a0 0f b0 3f c0 c1 c5 40 13 fd + 0220 ff ff ff 00 00 00 00 60 31 70 1d 02 00 00 00 00 + 0230 00 00 +Contents of memory from 0300 to 030d: + 0300 bb aa 0f 0a 00 00 00 00 00 00 00 dd cc +Contents of memory from 0400 to 0423: + 0400 68 65 6c 6c 6f 20 77 6f 72 6c 64 00 67 6f 6f 64 + 0410 00 79 61 64 64 61 20 79 61 64 64 61 20 79 61 64 + 0420 64 61 00 +Contents of memory from 0f00 to 0f00: diff --git a/p2-load/tests/expected/B_stripped_m.txt b/p2-load/tests/expected/B_stripped_m.txt new file mode 100644 index 0000000..07aaa20 --- /dev/null +++ b/p2-load/tests/expected/B_stripped_m.txt @@ -0,0 +1,5 @@ +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/expected/B_stripped_mH.txt b/p2-load/tests/expected/B_stripped_mH.txt new file mode 100644 index 0000000..aa947f5 --- /dev/null +++ b/p2-load/tests/expected/B_stripped_mH.txt @@ -0,0 +1,11 @@ +01 00 00 01 10 00 02 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/expected/C_help.txt b/p2-load/tests/expected/C_help.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/expected/C_help.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/expected/C_more_flags_s.txt b/p2-load/tests/expected/C_more_flags_s.txt new file mode 100644 index 0000000..9003a84 --- /dev/null +++ b/p2-load/tests/expected/C_more_flags_s.txt @@ -0,0 +1,5 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 DATA W + 01 0x0075 0x000b 0x0200 DATA X + 02 0x0080 0x0015 0x0300 DATA WX + 03 0x0090 0x000b 0x0200 DATA RWX diff --git a/p2-load/tests/expected/C_multiseg_f.txt b/p2-load/tests/expected/C_multiseg_f.txt new file mode 100644 index 0000000..da6ea09 --- /dev/null +++ b/p2-load/tests/expected/C_multiseg_f.txt @@ -0,0 +1,268 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/expected/C_multiseg_fsHM.txt b/p2-load/tests/expected/C_multiseg_fsHM.txt new file mode 100644 index 0000000..da6ea09 --- /dev/null +++ b/p2-load/tests/expected/C_multiseg_fsHM.txt @@ -0,0 +1,268 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/expected/C_multiseg_sH.txt b/p2-load/tests/expected/C_multiseg_sH.txt new file mode 100644 index 0000000..1d3a3a5 --- /dev/null +++ b/p2-load/tests/expected/C_multiseg_sH.txt @@ -0,0 +1,11 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/expected/C_simple_H.txt b/p2-load/tests/expected/C_simple_H.txt new file mode 100644 index 0000000..2705cba --- /dev/null +++ b/p2-load/tests/expected/C_simple_H.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) diff --git a/p2-load/tests/expected/C_simple_s.txt b/p2-load/tests/expected/C_simple_s.txt new file mode 100644 index 0000000..042929e --- /dev/null +++ b/p2-load/tests/expected/C_simple_s.txt @@ -0,0 +1,3 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/expected/C_stripped_sM.txt b/p2-load/tests/expected/C_stripped_sM.txt new file mode 100644 index 0000000..294e8db --- /dev/null +++ b/p2-load/tests/expected/C_stripped_sM.txt @@ -0,0 +1,260 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 aa bb cc dd 00 00 00 dd 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/inputs/bad-phdr_magic.o b/p2-load/tests/inputs/bad-phdr_magic.o new file mode 100644 index 0000000..ab738db Binary files /dev/null and b/p2-load/tests/inputs/bad-phdr_magic.o differ diff --git a/p2-load/tests/inputs/bad-phdr_short.o b/p2-load/tests/inputs/bad-phdr_short.o new file mode 100644 index 0000000..f22f9bc Binary files /dev/null and b/p2-load/tests/inputs/bad-phdr_short.o differ diff --git a/p2-load/tests/inputs/bad-phdr_vaddr.o b/p2-load/tests/inputs/bad-phdr_vaddr.o new file mode 100644 index 0000000..bd44c48 Binary files /dev/null and b/p2-load/tests/inputs/bad-phdr_vaddr.o differ diff --git a/p2-load/tests/inputs/moreflags.o b/p2-load/tests/inputs/moreflags.o new file mode 100644 index 0000000..10d82ad Binary files /dev/null and b/p2-load/tests/inputs/moreflags.o differ diff --git a/p2-load/tests/inputs/multiseg.o b/p2-load/tests/inputs/multiseg.o new file mode 100644 index 0000000..dbab402 Binary files /dev/null and b/p2-load/tests/inputs/multiseg.o differ diff --git a/p2-load/tests/inputs/simple.o b/p2-load/tests/inputs/simple.o new file mode 100644 index 0000000..e25a53b Binary files /dev/null and b/p2-load/tests/inputs/simple.o differ diff --git a/p2-load/tests/inputs/stack.o b/p2-load/tests/inputs/stack.o new file mode 100644 index 0000000..2fc83fb Binary files /dev/null and b/p2-load/tests/inputs/stack.o differ diff --git a/p2-load/tests/inputs/stripped.o b/p2-load/tests/inputs/stripped.o new file mode 100644 index 0000000..6f00342 Binary files /dev/null and b/p2-load/tests/inputs/stripped.o differ diff --git a/p2-load/tests/inputs/unaligned.o b/p2-load/tests/inputs/unaligned.o new file mode 100644 index 0000000..1c4f863 Binary files /dev/null and b/p2-load/tests/inputs/unaligned.o differ diff --git a/p2-load/tests/inputs/unaligned2.o b/p2-load/tests/inputs/unaligned2.o new file mode 100644 index 0000000..2d03189 Binary files /dev/null and b/p2-load/tests/inputs/unaligned2.o differ diff --git a/p2-load/tests/integration.sh b/p2-load/tests/integration.sh new file mode 100644 index 0000000..ed5a430 --- /dev/null +++ b/p2-load/tests/integration.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# extract executable name from Makefile +EXE=$(grep "EXE=" Makefile | sed -e "s/EXE=//") + +# detect timeout utility (i.e., "timeout" on Linux and "gtimeout" on MacOS) +# and set timeout interval +TIMEOUT="timeout" +TIMEOUT_INTERVAL="3s" +$TIMEOUT --help &>/dev/null +if [[ $? -ne 0 ]]; then + TIMEOUT="gtimeout" +fi + +# Valgrind additional output flags +VG_FLAGS="--leak-check=full --track-origins=yes" + +function run_test { + + # parameters + TAG=$1 + ARGS=$2 + PTAG=$(printf '%-30s' "$TAG") + + # file paths + OUTPUT=outputs/$TAG.txt + DIFF=outputs/$TAG.diff + EXPECT=expected/$TAG.txt + VALGRND=valgrind/$TAG.txt + + # run test with timeout + $TIMEOUT $TIMEOUT_INTERVAL $EXE $ARGS 2>/dev/null >"$OUTPUT" + if [ "$?" -lt 124 ]; then + + # no timeout; compare output to the expected version + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + + # try alternative solution (if it exists) + EXPECT=expected/$TAG-2.txt + if [ -e "$EXPECT" ]; then + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + else + echo "$PTAG pass" + fi + else + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + fi + else + echo "$PTAG pass" + fi + + # run valgrind + $TIMEOUT $TIMEOUT_INTERVAL valgrind $VG_FLAGS $EXE $ARGS &>$VALGRND + else + echo "$PTAG FAIL (crash or timeout)" + fi +} + +# initialize output folders +mkdir -p outputs +mkdir -p valgrind +rm -f outputs/* valgrind/* + +# run individual tests +source itests.include + +# check for memory leaks +LEAK=`cat valgrind/*.txt | grep 'definitely lost' | grep -v ' 0 bytes in 0 blocks'` +if [ -z "$LEAK" ]; then + echo "No memory leak found." +else + echo "Memory leak(s) found. See files listed below for details." + grep 'definitely lost' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + +# check for uninitialized values +LEAK=`cat valgrind/*.txt | grep 'uninitialised value'` +if [ -z "$LEAK" ]; then + echo "No uninitialized value found." +else + echo "Uninitialized value(s) found. See files listed below for details." + grep 'uninitialised value' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + diff --git a/p2-load/tests/itests.include b/p2-load/tests/itests.include new file mode 100644 index 0000000..d1b0e77 --- /dev/null +++ b/p2-load/tests/itests.include @@ -0,0 +1,30 @@ +# list of integration tests +# format: run_test +# used as the root for all filenames (i.e., "expected/$TAG.txt") +# command-line arguments to test + +run_test C_help "-h" +run_test C_simple_H "-H inputs/simple.o" +run_test C_simple_s "-s inputs/simple.o" +run_test C_multiseg_sH "-sH inputs/multiseg.o" +run_test C_multiseg_f "-f inputs/multiseg.o" +run_test C_multiseg_fsHM "-fsHM inputs/multiseg.o" +run_test C_stripped_sM "-sM inputs/stripped.o" +run_test C_more_flags_s "-s inputs/moreflags.o" +run_test B_stripped_m "-m inputs/stripped.o" +run_test B_stripped_mH "-mH inputs/stripped.o" +run_test B_all_flags "-Hsma inputs/simple.o" +run_test B_repeated "-s -s -s inputs/simple.o" +run_test B_stack "-a inputs/stack.o" +run_test A_brief_full "-m -M inputs/simple.o" +run_test A_bad_phdr_vaddr "-m inputs/bad-phdr_vaddr.o" +run_test A_bad_phdr_short "-s inputs/bad-phdr_short.o" +run_test A_bad_phdr_magic "-s inputs/bad-phdr_magic.o" +run_test A_no_flags "inputs/simple.o" +run_test A_no_flags_bad "inputs/bad-phdr_short.o" +run_test A_missing_file "-a" +run_test A_extra_params "-a inputs/simple.o extra params" +run_test A_mem_conflict "-m -M inputs/simple.o" +run_test A_full_conflict "-m -f inputs/simple.o" +run_test A_unaligned1 "-a inputs/unaligned.o" +run_test A_unaligned2 "-a inputs/unaligned2.o" diff --git a/p2-load/tests/itests.txt b/p2-load/tests/itests.txt new file mode 100644 index 0000000..51f6b09 --- /dev/null +++ b/p2-load/tests/itests.txt @@ -0,0 +1,27 @@ +C_help pass +C_simple_H pass +C_simple_s pass +C_multiseg_sH pass +C_multiseg_f pass +C_multiseg_fsHM pass +C_stripped_sM pass +C_more_flags_s pass +B_stripped_m pass +B_stripped_mH pass +B_all_flags pass +B_repeated pass +B_stack pass +A_brief_full pass +A_bad_phdr_vaddr pass +A_bad_phdr_short pass +A_bad_phdr_magic pass +A_no_flags pass +A_no_flags_bad pass +A_missing_file pass +A_extra_params pass +A_mem_conflict pass +A_full_conflict pass +A_unaligned1 pass +A_unaligned2 pass +No memory leak found. +No uninitialized value found. diff --git a/p2-load/tests/outputs/A_bad_phdr_magic.diff b/p2-load/tests/outputs/A_bad_phdr_magic.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_bad_phdr_magic.txt b/p2-load/tests/outputs/A_bad_phdr_magic.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/outputs/A_bad_phdr_magic.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/outputs/A_bad_phdr_short.diff b/p2-load/tests/outputs/A_bad_phdr_short.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_bad_phdr_short.txt b/p2-load/tests/outputs/A_bad_phdr_short.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/outputs/A_bad_phdr_short.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/outputs/A_bad_phdr_vaddr.diff b/p2-load/tests/outputs/A_bad_phdr_vaddr.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_bad_phdr_vaddr.txt b/p2-load/tests/outputs/A_bad_phdr_vaddr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/outputs/A_bad_phdr_vaddr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/outputs/A_brief_full.diff b/p2-load/tests/outputs/A_brief_full.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_brief_full.txt b/p2-load/tests/outputs/A_brief_full.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/A_brief_full.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/A_extra_params.diff b/p2-load/tests/outputs/A_extra_params.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_extra_params.txt b/p2-load/tests/outputs/A_extra_params.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/A_extra_params.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/A_full_conflict.diff b/p2-load/tests/outputs/A_full_conflict.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_full_conflict.txt b/p2-load/tests/outputs/A_full_conflict.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/A_full_conflict.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/A_mem_conflict.diff b/p2-load/tests/outputs/A_mem_conflict.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_mem_conflict.txt b/p2-load/tests/outputs/A_mem_conflict.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/A_mem_conflict.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/A_missing_file.diff b/p2-load/tests/outputs/A_missing_file.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_missing_file.txt b/p2-load/tests/outputs/A_missing_file.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/A_missing_file.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/A_no_flags.diff b/p2-load/tests/outputs/A_no_flags.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_no_flags.txt b/p2-load/tests/outputs/A_no_flags.txt new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_no_flags_bad.diff b/p2-load/tests/outputs/A_no_flags_bad.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_no_flags_bad.txt b/p2-load/tests/outputs/A_no_flags_bad.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p2-load/tests/outputs/A_no_flags_bad.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p2-load/tests/outputs/A_unaligned1.diff b/p2-load/tests/outputs/A_unaligned1.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_unaligned1.txt b/p2-load/tests/outputs/A_unaligned1.txt new file mode 100644 index 0000000..e403f1b --- /dev/null +++ b/p2-load/tests/outputs/A_unaligned1.txt @@ -0,0 +1,17 @@ +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 diff --git a/p2-load/tests/outputs/A_unaligned2.diff b/p2-load/tests/outputs/A_unaligned2.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/A_unaligned2.txt b/p2-load/tests/outputs/A_unaligned2.txt new file mode 100644 index 0000000..1a02a1b --- /dev/null +++ b/p2-load/tests/outputs/A_unaligned2.txt @@ -0,0 +1,18 @@ +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 diff --git a/p2-load/tests/outputs/B_all_flags.diff b/p2-load/tests/outputs/B_all_flags.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/B_all_flags.txt b/p2-load/tests/outputs/B_all_flags.txt new file mode 100644 index 0000000..d6db550 --- /dev/null +++ b/p2-load/tests/outputs/B_all_flags.txt @@ -0,0 +1,14 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/outputs/B_repeated.diff b/p2-load/tests/outputs/B_repeated.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/B_repeated.txt b/p2-load/tests/outputs/B_repeated.txt new file mode 100644 index 0000000..042929e --- /dev/null +++ b/p2-load/tests/outputs/B_repeated.txt @@ -0,0 +1,3 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/outputs/B_stack.diff b/p2-load/tests/outputs/B_stack.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/B_stack.txt b/p2-load/tests/outputs/B_stack.txt new file mode 100644 index 0000000..ddeb8f2 --- /dev/null +++ b/p2-load/tests/outputs/B_stack.txt @@ -0,0 +1,27 @@ +01 00 00 01 10 00 05 00 f4 00 16 01 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 5 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 244 (0xf4) +There is a string table starting at offset 278 (0x116) + Segment Offset Size VirtAddr Type Flags + 00 0x0074 0x001e 0x0100 CODE R X + 01 0x0092 0x0032 0x0200 CODE R X + 02 0x00c4 0x000d 0x0300 DATA RW + 03 0x00d1 0x0023 0x0400 DATA R + 04 0x00f4 0x0000 0x0f00 STACK RW +Contents of memory from 0100 to 011e: + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f5 00 0f 00 00 + 0110 00 00 00 00 80 00 02 00 00 00 00 00 00 00 +Contents of memory from 0200 to 0232: + 0200 30 f0 02 03 00 00 00 00 00 00 50 30 00 00 00 00 + 0210 00 00 00 00 20 31 a0 0f b0 3f c0 c1 c5 40 13 fd + 0220 ff ff ff 00 00 00 00 60 31 70 1d 02 00 00 00 00 + 0230 00 00 +Contents of memory from 0300 to 030d: + 0300 bb aa 0f 0a 00 00 00 00 00 00 00 dd cc +Contents of memory from 0400 to 0423: + 0400 68 65 6c 6c 6f 20 77 6f 72 6c 64 00 67 6f 6f 64 + 0410 00 79 61 64 64 61 20 79 61 64 64 61 20 79 61 64 + 0420 64 61 00 +Contents of memory from 0f00 to 0f00: diff --git a/p2-load/tests/outputs/B_stripped_m.diff b/p2-load/tests/outputs/B_stripped_m.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/B_stripped_m.txt b/p2-load/tests/outputs/B_stripped_m.txt new file mode 100644 index 0000000..07aaa20 --- /dev/null +++ b/p2-load/tests/outputs/B_stripped_m.txt @@ -0,0 +1,5 @@ +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/outputs/B_stripped_mH.diff b/p2-load/tests/outputs/B_stripped_mH.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/B_stripped_mH.txt b/p2-load/tests/outputs/B_stripped_mH.txt new file mode 100644 index 0000000..aa947f5 --- /dev/null +++ b/p2-load/tests/outputs/B_stripped_mH.txt @@ -0,0 +1,11 @@ +01 00 00 01 10 00 02 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 diff --git a/p2-load/tests/outputs/C_help.diff b/p2-load/tests/outputs/C_help.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_help.txt b/p2-load/tests/outputs/C_help.txt new file mode 100644 index 0000000..d7838bc --- /dev/null +++ b/p2-load/tests/outputs/C_help.txt @@ -0,0 +1,9 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) diff --git a/p2-load/tests/outputs/C_more_flags_s.diff b/p2-load/tests/outputs/C_more_flags_s.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_more_flags_s.txt b/p2-load/tests/outputs/C_more_flags_s.txt new file mode 100644 index 0000000..9003a84 --- /dev/null +++ b/p2-load/tests/outputs/C_more_flags_s.txt @@ -0,0 +1,5 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 DATA W + 01 0x0075 0x000b 0x0200 DATA X + 02 0x0080 0x0015 0x0300 DATA WX + 03 0x0090 0x000b 0x0200 DATA RWX diff --git a/p2-load/tests/outputs/C_multiseg_f.diff b/p2-load/tests/outputs/C_multiseg_f.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_multiseg_f.txt b/p2-load/tests/outputs/C_multiseg_f.txt new file mode 100644 index 0000000..da6ea09 --- /dev/null +++ b/p2-load/tests/outputs/C_multiseg_f.txt @@ -0,0 +1,268 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/outputs/C_multiseg_fsHM.diff b/p2-load/tests/outputs/C_multiseg_fsHM.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_multiseg_fsHM.txt b/p2-load/tests/outputs/C_multiseg_fsHM.txt new file mode 100644 index 0000000..da6ea09 --- /dev/null +++ b/p2-load/tests/outputs/C_multiseg_fsHM.txt @@ -0,0 +1,268 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/outputs/C_multiseg_sH.diff b/p2-load/tests/outputs/C_multiseg_sH.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_multiseg_sH.txt b/p2-load/tests/outputs/C_multiseg_sH.txt new file mode 100644 index 0000000..1d3a3a5 --- /dev/null +++ b/p2-load/tests/outputs/C_multiseg_sH.txt @@ -0,0 +1,11 @@ +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/outputs/C_simple_H.diff b/p2-load/tests/outputs/C_simple_H.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_simple_H.txt b/p2-load/tests/outputs/C_simple_H.txt new file mode 100644 index 0000000..2705cba --- /dev/null +++ b/p2-load/tests/outputs/C_simple_H.txt @@ -0,0 +1,6 @@ +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) diff --git a/p2-load/tests/outputs/C_simple_s.diff b/p2-load/tests/outputs/C_simple_s.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_simple_s.txt b/p2-load/tests/outputs/C_simple_s.txt new file mode 100644 index 0000000..042929e --- /dev/null +++ b/p2-load/tests/outputs/C_simple_s.txt @@ -0,0 +1,3 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW diff --git a/p2-load/tests/outputs/C_stripped_sM.diff b/p2-load/tests/outputs/C_stripped_sM.diff new file mode 100644 index 0000000..e69de29 diff --git a/p2-load/tests/outputs/C_stripped_sM.txt b/p2-load/tests/outputs/C_stripped_sM.txt new file mode 100644 index 0000000..294e8db --- /dev/null +++ b/p2-load/tests/outputs/C_stripped_sM.txt @@ -0,0 +1,260 @@ + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 aa bb cc dd 00 00 00 dd 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p2-load/tests/private.o b/p2-load/tests/private.o new file mode 100644 index 0000000..0966f0d Binary files /dev/null and b/p2-load/tests/private.o differ diff --git a/p2-load/tests/public.c b/p2-load/tests/public.c new file mode 100644 index 0000000..1098ecf --- /dev/null +++ b/p2-load/tests/public.c @@ -0,0 +1,87 @@ +#include +#include +#include + +#include + +#include "../p2-load.h" + +/* check read_phdr (code section) */ +START_TEST (C_read_phdr_code) +{ + FILE *fp = fopen ("inputs/stripped.o", "r"); + uint16_t offset = 0x10; + elf_phdr_t phdr; + bool rc = false; + ck_assert (fp != NULL); + + rc = read_phdr (fp, offset, &phdr); + ck_assert (rc == true); + ck_assert (phdr.p_offset == 0x38); + ck_assert (phdr.p_vaddr == 0x100); + ck_assert (phdr.p_size == 0x15); + ck_assert (phdr.p_type == CODE); + ck_assert (phdr.p_flags == 0x5); // 101 + ck_assert (phdr.magic == 0xDEADBEEF); +} +END_TEST + +/* check read_phdr (data section) */ +START_TEST (C_read_phdr_data) +{ + FILE *fp = fopen ("inputs/stripped.o", "r"); + uint16_t offset = 0x10 + sizeof(elf_phdr_t); + elf_phdr_t phdr; + bool rc = false; + ck_assert (fp != NULL); + + rc = read_phdr (fp, offset, &phdr); + ck_assert (rc == true); + ck_assert (phdr.p_offset == 0x4d); + ck_assert (phdr.p_vaddr == 0x200); + ck_assert (phdr.p_size == 0x0b); + ck_assert (phdr.p_type == DATA); + ck_assert (phdr.p_flags == 0x6); // 110 + ck_assert (phdr.magic == 0xDEADBEEF); +} +END_TEST + +/* check load_segment */ +START_TEST (C_load_segment) +{ + FILE *fp = fopen ("inputs/simple.o", "r"); + ck_assert (fp != NULL); + byte_t *memory = (byte_t*) calloc (32, sizeof (uint8_t)); + elf_phdr_t phdr; + phdr.p_offset = 0x30; + phdr.p_vaddr = 0x10; + phdr.p_size = 0x10; + phdr.p_type = DATA; + phdr.p_flags = 0x6; // 110 + phdr.magic = 0xDEADBEEF; + uint8_t expected[] = { 0, 0, 6, 0, 0xef, 0xbe, 0xad, 0xde, + 0x30, 0xf3, 0xf, 0, 0, 0, 0x20, 0x31 }; + size_t i = 0; + + bool rc = load_segment (fp, memory, &phdr); + ck_assert (rc == true); + + for (i = 0; i < 16; i++) { + ck_assert (memory[i] == 0); + } + + for (i = 0; i < 16; i++) { + ck_assert (memory[i+16] == expected[i]); + } +} +END_TEST + +void public_tests (Suite *s) +{ + TCase *tc_public = tcase_create ("Public"); + tcase_add_test (tc_public, C_read_phdr_code); + tcase_add_test (tc_public, C_read_phdr_data); + tcase_add_test (tc_public, C_load_segment); + suite_add_tcase (s, tc_public); +} + diff --git a/p2-load/tests/public.o b/p2-load/tests/public.o new file mode 100644 index 0000000..335f1c1 Binary files /dev/null and b/p2-load/tests/public.o differ diff --git a/p2-load/tests/testsuite b/p2-load/tests/testsuite new file mode 100644 index 0000000..74dcd81 Binary files /dev/null and b/p2-load/tests/testsuite differ diff --git a/p2-load/tests/testsuite.c b/p2-load/tests/testsuite.c new file mode 100644 index 0000000..717c193 --- /dev/null +++ b/p2-load/tests/testsuite.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include + +#include + +extern void public_tests (Suite *s); +extern void private_tests (Suite *s); + +Suite * test_suite (void) +{ + Suite *s = suite_create ("Default"); + public_tests (s); + private_tests (s); + return s; +} + +void run_testsuite (void) +{ + Suite *s = test_suite (); + SRunner *sr = srunner_create (s); + srunner_run_all (sr, CK_NORMAL); + srunner_free (sr); +} + +int main (void) +{ + srand((unsigned)time(NULL)); + run_testsuite (); + return EXIT_SUCCESS; +} diff --git a/p2-load/tests/testsuite.o b/p2-load/tests/testsuite.o new file mode 100644 index 0000000..c05f5ab Binary files /dev/null and b/p2-load/tests/testsuite.o differ diff --git a/p2-load/tests/utests.txt b/p2-load/tests/utests.txt new file mode 100644 index 0000000..0e47d06 --- /dev/null +++ b/p2-load/tests/utests.txt @@ -0,0 +1,2 @@ +Running suite(s): Default +100%: Checks: 12, Failures: 0, Errors: 0 diff --git a/p2-load/tests/valgrind/A_bad_phdr_magic.txt b/p2-load/tests/valgrind/A_bad_phdr_magic.txt new file mode 100644 index 0000000..0e75c31 --- /dev/null +++ b/p2-load/tests/valgrind/A_bad_phdr_magic.txt @@ -0,0 +1,15 @@ +==2765188== Memcheck, a memory error detector +==2765188== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765188== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765188== Command: ../y86 -s inputs/bad-phdr_magic.o +==2765188== +Failed to read file +==2765188== +==2765188== HEAP SUMMARY: +==2765188== in use at exit: 0 bytes in 0 blocks +==2765188== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765188== +==2765188== All heap blocks were freed -- no leaks are possible +==2765188== +==2765188== For lists of detected and suppressed errors, rerun with: -s +==2765188== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_bad_phdr_short.txt b/p2-load/tests/valgrind/A_bad_phdr_short.txt new file mode 100644 index 0000000..d423c62 --- /dev/null +++ b/p2-load/tests/valgrind/A_bad_phdr_short.txt @@ -0,0 +1,15 @@ +==2765178== Memcheck, a memory error detector +==2765178== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765178== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765178== Command: ../y86 -s inputs/bad-phdr_short.o +==2765178== +Failed to read file +==2765178== +==2765178== HEAP SUMMARY: +==2765178== in use at exit: 0 bytes in 0 blocks +==2765178== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765178== +==2765178== All heap blocks were freed -- no leaks are possible +==2765178== +==2765178== For lists of detected and suppressed errors, rerun with: -s +==2765178== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_bad_phdr_vaddr.txt b/p2-load/tests/valgrind/A_bad_phdr_vaddr.txt new file mode 100644 index 0000000..ef0a551 --- /dev/null +++ b/p2-load/tests/valgrind/A_bad_phdr_vaddr.txt @@ -0,0 +1,15 @@ +==2765155== Memcheck, a memory error detector +==2765155== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765155== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765155== Command: ../y86 -m inputs/bad-phdr_vaddr.o +==2765155== +Failed to read file +==2765155== +==2765155== HEAP SUMMARY: +==2765155== in use at exit: 0 bytes in 0 blocks +==2765155== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765155== +==2765155== All heap blocks were freed -- no leaks are possible +==2765155== +==2765155== For lists of detected and suppressed errors, rerun with: -s +==2765155== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_brief_full.txt b/p2-load/tests/valgrind/A_brief_full.txt new file mode 100644 index 0000000..976de64 --- /dev/null +++ b/p2-load/tests/valgrind/A_brief_full.txt @@ -0,0 +1,23 @@ +==2765141== Memcheck, a memory error detector +==2765141== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765141== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765141== Command: ../y86 -m -M inputs/simple.o +==2765141== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2765141== +==2765141== HEAP SUMMARY: +==2765141== in use at exit: 0 bytes in 0 blocks +==2765141== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2765141== +==2765141== All heap blocks were freed -- no leaks are possible +==2765141== +==2765141== For lists of detected and suppressed errors, rerun with: -s +==2765141== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_extra_params.txt b/p2-load/tests/valgrind/A_extra_params.txt new file mode 100644 index 0000000..e0ce77f --- /dev/null +++ b/p2-load/tests/valgrind/A_extra_params.txt @@ -0,0 +1,23 @@ +==2765226== Memcheck, a memory error detector +==2765226== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765226== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765226== Command: ../y86 -a inputs/simple.o extra params +==2765226== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2765226== +==2765226== HEAP SUMMARY: +==2765226== in use at exit: 0 bytes in 0 blocks +==2765226== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2765226== +==2765226== All heap blocks were freed -- no leaks are possible +==2765226== +==2765226== For lists of detected and suppressed errors, rerun with: -s +==2765226== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_full_conflict.txt b/p2-load/tests/valgrind/A_full_conflict.txt new file mode 100644 index 0000000..d81ece7 --- /dev/null +++ b/p2-load/tests/valgrind/A_full_conflict.txt @@ -0,0 +1,23 @@ +==2765260== Memcheck, a memory error detector +==2765260== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765260== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765260== Command: ../y86 -m -f inputs/simple.o +==2765260== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2765260== +==2765260== HEAP SUMMARY: +==2765260== in use at exit: 0 bytes in 0 blocks +==2765260== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2765260== +==2765260== All heap blocks were freed -- no leaks are possible +==2765260== +==2765260== For lists of detected and suppressed errors, rerun with: -s +==2765260== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_mem_conflict.txt b/p2-load/tests/valgrind/A_mem_conflict.txt new file mode 100644 index 0000000..6a3ba22 --- /dev/null +++ b/p2-load/tests/valgrind/A_mem_conflict.txt @@ -0,0 +1,23 @@ +==2765248== Memcheck, a memory error detector +==2765248== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765248== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765248== Command: ../y86 -m -M inputs/simple.o +==2765248== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2765248== +==2765248== HEAP SUMMARY: +==2765248== in use at exit: 0 bytes in 0 blocks +==2765248== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2765248== +==2765248== All heap blocks were freed -- no leaks are possible +==2765248== +==2765248== For lists of detected and suppressed errors, rerun with: -s +==2765248== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_missing_file.txt b/p2-load/tests/valgrind/A_missing_file.txt new file mode 100644 index 0000000..b0022dc --- /dev/null +++ b/p2-load/tests/valgrind/A_missing_file.txt @@ -0,0 +1,23 @@ +==2765213== Memcheck, a memory error detector +==2765213== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765213== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765213== Command: ../y86 -a +==2765213== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2765213== +==2765213== HEAP SUMMARY: +==2765213== in use at exit: 0 bytes in 0 blocks +==2765213== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2765213== +==2765213== All heap blocks were freed -- no leaks are possible +==2765213== +==2765213== For lists of detected and suppressed errors, rerun with: -s +==2765213== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_no_flags.txt b/p2-load/tests/valgrind/A_no_flags.txt new file mode 100644 index 0000000..49a05cb --- /dev/null +++ b/p2-load/tests/valgrind/A_no_flags.txt @@ -0,0 +1,14 @@ +==2765201== Memcheck, a memory error detector +==2765201== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765201== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765201== Command: ../y86 inputs/simple.o +==2765201== +==2765201== +==2765201== HEAP SUMMARY: +==2765201== in use at exit: 0 bytes in 0 blocks +==2765201== total heap usage: 2 allocs, 2 frees, 8,664 bytes allocated +==2765201== +==2765201== All heap blocks were freed -- no leaks are possible +==2765201== +==2765201== For lists of detected and suppressed errors, rerun with: -s +==2765201== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_no_flags_bad.txt b/p2-load/tests/valgrind/A_no_flags_bad.txt new file mode 100644 index 0000000..1fc3944 --- /dev/null +++ b/p2-load/tests/valgrind/A_no_flags_bad.txt @@ -0,0 +1,15 @@ +==2765207== Memcheck, a memory error detector +==2765207== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765207== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765207== Command: ../y86 inputs/bad-phdr_short.o +==2765207== +Failed to read file +==2765207== +==2765207== HEAP SUMMARY: +==2765207== in use at exit: 0 bytes in 0 blocks +==2765207== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765207== +==2765207== All heap blocks were freed -- no leaks are possible +==2765207== +==2765207== For lists of detected and suppressed errors, rerun with: -s +==2765207== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_unaligned1.txt b/p2-load/tests/valgrind/A_unaligned1.txt new file mode 100644 index 0000000..53f3413 --- /dev/null +++ b/p2-load/tests/valgrind/A_unaligned1.txt @@ -0,0 +1,31 @@ +==2765283== Memcheck, a memory error detector +==2765283== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765283== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765283== Command: ../y86 -a inputs/unaligned.o +==2765283== +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 +==2765283== +==2765283== HEAP SUMMARY: +==2765283== in use at exit: 0 bytes in 0 blocks +==2765283== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765283== +==2765283== All heap blocks were freed -- no leaks are possible +==2765283== +==2765283== For lists of detected and suppressed errors, rerun with: -s +==2765283== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/A_unaligned2.txt b/p2-load/tests/valgrind/A_unaligned2.txt new file mode 100644 index 0000000..2814983 --- /dev/null +++ b/p2-load/tests/valgrind/A_unaligned2.txt @@ -0,0 +1,32 @@ +==2765293== Memcheck, a memory error detector +==2765293== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765293== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765293== Command: ../y86 -a inputs/unaligned2.o +==2765293== +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 +==2765293== +==2765293== HEAP SUMMARY: +==2765293== in use at exit: 0 bytes in 0 blocks +==2765293== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765293== +==2765293== All heap blocks were freed -- no leaks are possible +==2765293== +==2765293== For lists of detected and suppressed errors, rerun with: -s +==2765293== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/B_all_flags.txt b/p2-load/tests/valgrind/B_all_flags.txt new file mode 100644 index 0000000..e483c05 --- /dev/null +++ b/p2-load/tests/valgrind/B_all_flags.txt @@ -0,0 +1,28 @@ +==2765100== Memcheck, a memory error detector +==2765100== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765100== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765100== Command: ../y86 -Hsma inputs/simple.o +==2765100== +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 +==2765100== +==2765100== HEAP SUMMARY: +==2765100== in use at exit: 0 bytes in 0 blocks +==2765100== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765100== +==2765100== All heap blocks were freed -- no leaks are possible +==2765100== +==2765100== For lists of detected and suppressed errors, rerun with: -s +==2765100== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/B_repeated.txt b/p2-load/tests/valgrind/B_repeated.txt new file mode 100644 index 0000000..aac6c4b --- /dev/null +++ b/p2-load/tests/valgrind/B_repeated.txt @@ -0,0 +1,17 @@ +==2765113== Memcheck, a memory error detector +==2765113== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765113== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765113== Command: ../y86 -s -s -s inputs/simple.o +==2765113== + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +==2765113== +==2765113== HEAP SUMMARY: +==2765113== in use at exit: 0 bytes in 0 blocks +==2765113== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765113== +==2765113== All heap blocks were freed -- no leaks are possible +==2765113== +==2765113== For lists of detected and suppressed errors, rerun with: -s +==2765113== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/B_stack.txt b/p2-load/tests/valgrind/B_stack.txt new file mode 100644 index 0000000..6a87206 --- /dev/null +++ b/p2-load/tests/valgrind/B_stack.txt @@ -0,0 +1,41 @@ +==2765119== Memcheck, a memory error detector +==2765119== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765119== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765119== Command: ../y86 -a inputs/stack.o +==2765119== +01 00 00 01 10 00 05 00 f4 00 16 01 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 5 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 244 (0xf4) +There is a string table starting at offset 278 (0x116) + Segment Offset Size VirtAddr Type Flags + 00 0x0074 0x001e 0x0100 CODE R X + 01 0x0092 0x0032 0x0200 CODE R X + 02 0x00c4 0x000d 0x0300 DATA RW + 03 0x00d1 0x0023 0x0400 DATA R + 04 0x00f4 0x0000 0x0f00 STACK RW +Contents of memory from 0100 to 011e: + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f5 00 0f 00 00 + 0110 00 00 00 00 80 00 02 00 00 00 00 00 00 00 +Contents of memory from 0200 to 0232: + 0200 30 f0 02 03 00 00 00 00 00 00 50 30 00 00 00 00 + 0210 00 00 00 00 20 31 a0 0f b0 3f c0 c1 c5 40 13 fd + 0220 ff ff ff 00 00 00 00 60 31 70 1d 02 00 00 00 00 + 0230 00 00 +Contents of memory from 0300 to 030d: + 0300 bb aa 0f 0a 00 00 00 00 00 00 00 dd cc +Contents of memory from 0400 to 0423: + 0400 68 65 6c 6c 6f 20 77 6f 72 6c 64 00 67 6f 6f 64 + 0410 00 79 61 64 64 61 20 79 61 64 64 61 20 79 61 64 + 0420 64 61 00 +Contents of memory from 0f00 to 0f00: +==2765119== +==2765119== HEAP SUMMARY: +==2765119== in use at exit: 0 bytes in 0 blocks +==2765119== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765119== +==2765119== All heap blocks were freed -- no leaks are possible +==2765119== +==2765119== For lists of detected and suppressed errors, rerun with: -s +==2765119== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/B_stripped_m.txt b/p2-load/tests/valgrind/B_stripped_m.txt new file mode 100644 index 0000000..5b12257 --- /dev/null +++ b/p2-load/tests/valgrind/B_stripped_m.txt @@ -0,0 +1,19 @@ +==2765084== Memcheck, a memory error detector +==2765084== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765084== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765084== Command: ../y86 -m inputs/stripped.o +==2765084== +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 +==2765084== +==2765084== HEAP SUMMARY: +==2765084== in use at exit: 0 bytes in 0 blocks +==2765084== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765084== +==2765084== All heap blocks were freed -- no leaks are possible +==2765084== +==2765084== For lists of detected and suppressed errors, rerun with: -s +==2765084== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/B_stripped_mH.txt b/p2-load/tests/valgrind/B_stripped_mH.txt new file mode 100644 index 0000000..0646d88 --- /dev/null +++ b/p2-load/tests/valgrind/B_stripped_mH.txt @@ -0,0 +1,25 @@ +==2765094== Memcheck, a memory error detector +==2765094== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765094== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765094== Command: ../y86 -mH inputs/stripped.o +==2765094== +01 00 00 01 10 00 02 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present +Contents of memory from 0100 to 0115: + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 +Contents of memory from 0200 to 020b: + 0200 aa bb cc dd 00 00 00 dd 00 00 00 +==2765094== +==2765094== HEAP SUMMARY: +==2765094== in use at exit: 0 bytes in 0 blocks +==2765094== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765094== +==2765094== All heap blocks were freed -- no leaks are possible +==2765094== +==2765094== For lists of detected and suppressed errors, rerun with: -s +==2765094== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_help.txt b/p2-load/tests/valgrind/C_help.txt new file mode 100644 index 0000000..6fa58dd --- /dev/null +++ b/p2-load/tests/valgrind/C_help.txt @@ -0,0 +1,23 @@ +==2764894== Memcheck, a memory error detector +==2764894== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2764894== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2764894== Command: ../y86 -h +==2764894== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) +==2764894== +==2764894== HEAP SUMMARY: +==2764894== in use at exit: 0 bytes in 0 blocks +==2764894== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2764894== +==2764894== All heap blocks were freed -- no leaks are possible +==2764894== +==2764894== For lists of detected and suppressed errors, rerun with: -s +==2764894== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_more_flags_s.txt b/p2-load/tests/valgrind/C_more_flags_s.txt new file mode 100644 index 0000000..f5dd0f0 --- /dev/null +++ b/p2-load/tests/valgrind/C_more_flags_s.txt @@ -0,0 +1,19 @@ +==2765052== Memcheck, a memory error detector +==2765052== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765052== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765052== Command: ../y86 -s inputs/moreflags.o +==2765052== + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 DATA W + 01 0x0075 0x000b 0x0200 DATA X + 02 0x0080 0x0015 0x0300 DATA WX + 03 0x0090 0x000b 0x0200 DATA RWX +==2765052== +==2765052== HEAP SUMMARY: +==2765052== in use at exit: 0 bytes in 0 blocks +==2765052== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765052== +==2765052== All heap blocks were freed -- no leaks are possible +==2765052== +==2765052== For lists of detected and suppressed errors, rerun with: -s +==2765052== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_multiseg_f.txt b/p2-load/tests/valgrind/C_multiseg_f.txt new file mode 100644 index 0000000..b8459e0 --- /dev/null +++ b/p2-load/tests/valgrind/C_multiseg_f.txt @@ -0,0 +1,282 @@ +==2764995== Memcheck, a memory error detector +==2764995== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2764995== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2764995== Command: ../y86 -f inputs/multiseg.o +==2764995== +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==2764995== +==2764995== HEAP SUMMARY: +==2764995== in use at exit: 0 bytes in 0 blocks +==2764995== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2764995== +==2764995== All heap blocks were freed -- no leaks are possible +==2764995== +==2764995== For lists of detected and suppressed errors, rerun with: -s +==2764995== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_multiseg_fsHM.txt b/p2-load/tests/valgrind/C_multiseg_fsHM.txt new file mode 100644 index 0000000..cba9a0f --- /dev/null +++ b/p2-load/tests/valgrind/C_multiseg_fsHM.txt @@ -0,0 +1,282 @@ +==2765002== Memcheck, a memory error detector +==2765002== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765002== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765002== Command: ../y86 -fsHM inputs/multiseg.o +==2765002== +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 70 08 01 00 00 aa bb cc dd 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0310 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==2765002== +==2765002== HEAP SUMMARY: +==2765002== in use at exit: 0 bytes in 0 blocks +==2765002== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765002== +==2765002== All heap blocks were freed -- no leaks are possible +==2765002== +==2765002== For lists of detected and suppressed errors, rerun with: -s +==2765002== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_multiseg_sH.txt b/p2-load/tests/valgrind/C_multiseg_sH.txt new file mode 100644 index 0000000..963baed --- /dev/null +++ b/p2-load/tests/valgrind/C_multiseg_sH.txt @@ -0,0 +1,25 @@ +==2764979== Memcheck, a memory error detector +==2764979== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2764979== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2764979== Command: ../y86 -sH inputs/multiseg.o +==2764979== +01 00 00 01 10 00 04 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 4 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0060 0x0015 0x0100 CODE R X + 01 0x0075 0x000b 0x0200 DATA RW + 02 0x0080 0x0015 0x0300 CODE R X + 03 0x0090 0x000b 0x0200 DATA RW +==2764979== +==2764979== HEAP SUMMARY: +==2764979== in use at exit: 0 bytes in 0 blocks +==2764979== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2764979== +==2764979== All heap blocks were freed -- no leaks are possible +==2764979== +==2764979== For lists of detected and suppressed errors, rerun with: -s +==2764979== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_simple_H.txt b/p2-load/tests/valgrind/C_simple_H.txt new file mode 100644 index 0000000..59a0f42 --- /dev/null +++ b/p2-load/tests/valgrind/C_simple_H.txt @@ -0,0 +1,20 @@ +==2764926== Memcheck, a memory error detector +==2764926== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2764926== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2764926== Command: ../y86 -H inputs/simple.o +==2764926== +01 00 00 01 10 00 02 00 58 00 70 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 2 program headers, starting at offset 16 (0x10) +There is a symbol table starting at offset 88 (0x58) +There is a string table starting at offset 112 (0x70) +==2764926== +==2764926== HEAP SUMMARY: +==2764926== in use at exit: 0 bytes in 0 blocks +==2764926== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2764926== +==2764926== All heap blocks were freed -- no leaks are possible +==2764926== +==2764926== For lists of detected and suppressed errors, rerun with: -s +==2764926== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_simple_s.txt b/p2-load/tests/valgrind/C_simple_s.txt new file mode 100644 index 0000000..7f01334 --- /dev/null +++ b/p2-load/tests/valgrind/C_simple_s.txt @@ -0,0 +1,17 @@ +==2764935== Memcheck, a memory error detector +==2764935== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2764935== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2764935== Command: ../y86 -s inputs/simple.o +==2764935== + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +==2764935== +==2764935== HEAP SUMMARY: +==2764935== in use at exit: 0 bytes in 0 blocks +==2764935== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2764935== +==2764935== All heap blocks were freed -- no leaks are possible +==2764935== +==2764935== For lists of detected and suppressed errors, rerun with: -s +==2764935== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/tests/valgrind/C_stripped_sM.txt b/p2-load/tests/valgrind/C_stripped_sM.txt new file mode 100644 index 0000000..3aedda9 --- /dev/null +++ b/p2-load/tests/valgrind/C_stripped_sM.txt @@ -0,0 +1,274 @@ +==2765036== Memcheck, a memory error detector +==2765036== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2765036== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2765036== Command: ../y86 -sM inputs/stripped.o +==2765036== + Segment Offset Size VirtAddr Type Flags + 00 0x0038 0x0015 0x0100 CODE R X + 01 0x004d 0x000b 0x0200 DATA RW +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 aa bb cc dd 00 00 00 dd 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==2765036== +==2765036== HEAP SUMMARY: +==2765036== in use at exit: 0 bytes in 0 blocks +==2765036== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2765036== +==2765036== All heap blocks were freed -- no leaks are possible +==2765036== +==2765036== For lists of detected and suppressed errors, rerun with: -s +==2765036== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p2-load/y86 b/p2-load/y86 new file mode 100644 index 0000000..fc8ef38 Binary files /dev/null and b/p2-load/y86 differ diff --git a/p2-load/y86.h b/p2-load/y86.h new file mode 100644 index 0000000..a55a4cb --- /dev/null +++ b/p2-load/y86.h @@ -0,0 +1,12 @@ +#ifndef __CS261_Y86__ +#define __CS261_Y86__ + +#include + +#define VADDRBITS 12 +#define MEMSIZE (1 << VADDRBITS) + +/* type declarations */ +typedef uint8_t byte_t; // byte + +#endif diff --git a/p3-disas/.clang-format b/p3-disas/.clang-format new file mode 100644 index 0000000..62fb300 --- /dev/null +++ b/p3-disas/.clang-format @@ -0,0 +1,7 @@ +BasedOnStyle: LLVM +BreakBeforeBraces: Attach +IndentCaseLabels: true +IndentWidth: 4 +TabWidth: 4 +UseTab: Never +ColumnLimit: 80 \ No newline at end of file diff --git a/p3-disas/Makefile b/p3-disas/Makefile new file mode 100644 index 0000000..1080ffc --- /dev/null +++ b/p3-disas/Makefile @@ -0,0 +1,51 @@ +# +# Simple Makefile +# Mike Lam, James Madison University, August 2016 +# +# This makefile builds a simple application that contains a main module +# (specified by the EXE variable) and a predefined list of additional modules +# (specified by the MODS variable). If there are any external library +# dependencies (e.g., the math library, "-lm"), list them in the LIBS variable. +# If there are any precompiled object files, list them in the OBJS variable. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=y86 +MODS=p3-disas.o +OBJS=p1-check.o p2-load.o +LIBS= + +default: $(EXE) + +test: $(EXE) + TPREFIX=tests/ make -C tests test + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + + +# build targets + +$(EXE): main.o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(EXE) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -f $(EXE) main.o $(MODS) + make -C tests clean + +.PHONY: default clean + diff --git a/p3-disas/elf.h b/p3-disas/elf.h new file mode 100644 index 0000000..92d56bf --- /dev/null +++ b/p3-disas/elf.h @@ -0,0 +1,98 @@ +#ifndef __CS261_ELF__ +#define __CS261_ELF__ + +#include +#include + +#include "y86.h" + +/* + Mini-ELF file format (byte 0 = first byte of the file) + +----------------------------------------------+ + | header (elf_hdr_t) - 16 bytes | + +----------------------------------------------+ + | program headers (elf_phdr_t) - 20 bytes each | + +----------------------------------------------+ + | program segments - variable length of bytes | + +----------------------------------------------+ + | symbol table - each entry is 4 bytes each | + +----------------------------------------------+ + | string table - variable length of strings | + +----------------------------------------------+ + + ELF header structure: + +----------------------------------------------------------------------------+ + | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 10 11 | 12 13 14 15 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + Sample ELF header (all entries in hex, format is little endian): + +----------------------------------------------------------------------------+ + | 01 00 | 00 01 | 10 00 | 05 00 | ac 00 | c2 00 | 45 4c 46 00 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + version = 0x0001 entry = 0x0100 phdr = 0x0010 numphdr = 0x0005 + symtab = 0x00ac strtab = 0x00c2 magic = "ELF\0" + + Interpretation: + This file was created under version 1 of this format. When the program is + loaded into memory, the instruct at address 0x100 (256) will be executed + first. The first program header (which indicates segments in this file) + starts at offset 0x10 (16) into the file, and there are 5 program headers + total. The symbol table starts at offset 0xac (172) into this file, and the + string table starts at offset 0xc2 (194). The magic number is the string + "ELF\0" and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf { + uint16_t e_version; /* version should be 1 */ + uint16_t e_entry; /* entry point of program */ + uint16_t e_phdr_start; /* start of program headers */ + uint16_t e_num_phdr; /* number of program headers */ + uint16_t e_symtab; /* start of symbol table */ + uint16_t e_strtab; /* start of string table */ + uint32_t magic; /* ELF */ +} elf_hdr_t; + +typedef enum { + DATA, CODE, STACK, HEAP, UNKNOWN +} elf_segtype_t; + +/* + ELF program header structure (describing segments): + +-----------------------------------------------------------------------+ + | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 | 14 15 | 16 17 18 19 | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + Flags store segment permissions as RWX (read/write/execute) in binary. + Examples: 100 (binary) = 4 (decimal/hex) = read-only (R ) + 101 (binary) = 5 (decimal/hex) = read-execute (R X) + 110 (binary) = 6 (decimal/hex) = read-write (RW ) + + Sample ELF program header (all entries in hex, format is little endian): + +-----------------------------------------------------------------------+ + | 74 00 00 00 | 12 00 00 00 | 00 01 00 00 | 01 00 | 05 00 | ef be ad de | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + offset = 0x00000074 size = 0x00000012 virt addr = 0x00000100 + type = 0x0001 (CODE) flags = 0x0005 (RX) magic = 0xDEADBEEF + + Interpretation: + The segment starts at offset 0x74 (116) in the file, and it is 0x12 (18) + bytes in size. It will be loaded into memory address 0x100 (256). Since it + is a CODE segment, it needs to have read-execute (RX) permissions attached. + The magic number is the value 0xDEADBEEF and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf_phdr { + uint32_t p_offset; /* beginning of the segment in the file (in bytes) */ + uint32_t p_size; /* number of bytes in the segment */ + uint32_t p_vaddr; /* intended virtual address of the beginning of + the segment in a running program's memory */ + uint16_t p_type; /* segment type (e.g., code, data, etc.) */ + uint16_t p_flags; /* permissions flags */ + uint32_t magic; /* DEADBEEF */ +} elf_phdr_t; + +#endif diff --git a/p3-disas/main.c b/p3-disas/main.c new file mode 100644 index 0000000..ff0c03b --- /dev/null +++ b/p3-disas/main.c @@ -0,0 +1,170 @@ +/* + * CS 261: Main driver + * + * Name: Nicholas Tamassia + * + * This code was developed in compliance with the JMU Honor code. + */ + +#include "p1-check.h" +#include "p2-load.h" +#include "p3-disas.h" + +/* + * helper function for printing help text + */ +void usage(char **argv) { + printf("Usage: %s mini-elf-file\n", argv[0]); + printf(" Options are:\n"); + printf(" -h Display usage\n"); + printf(" -H Show the Mini-ELF header\n"); + printf(" -a Show all with brief memory\n"); + printf(" -f Show all with full memory\n"); + printf(" -s Show the program headers\n"); + printf(" -m Show the memory contents (brief)\n"); + printf(" -M Show the memory contents (full)\n"); + printf(" -d Disassemble code contents\n"); + printf(" -D Disassemble data contents\n"); +} + +void exit_file_error(FILE *file) { + if (file) { + fclose(file); + } + + printf("Failed to read file\n"); + exit(EXIT_FAILURE); +} + +int main(int argc, char **argv) { + int c; + bool show_elf_header = false; + bool show_program_header = false; + bool show_memory_brief = false; + bool show_memory_full = false; + bool show_code = false; + bool show_data = false; + + while ((c = getopt(argc, argv, "hHafsmMdD")) != -1) { + switch (c) { + case 'h': + usage(argv); + return EXIT_SUCCESS; + case 'H': + show_elf_header = true; + break; + case 'a': + show_elf_header = true; + show_program_header = true; + show_memory_brief = true; + break; + case 'f': + show_elf_header = true; + show_program_header = true; + show_memory_full = true; + break; + case 's': + show_program_header = true; + break; + case 'm': + show_memory_brief = true; + break; + case 'M': + show_memory_full = true; + break; + case 'd': + show_code = true; + break; + case 'D': + show_data = true; + break; + default: + usage(argv); + return EXIT_FAILURE; + } + } + + /* File path was not the last argument */ + bool invalid_arguments = optind != argc - 1; + /* Attempted to ask for brief and full memory at same time */ + bool memory_flag_conflict = show_memory_brief && show_memory_full; + + if (invalid_arguments || memory_flag_conflict) { + usage(argv); + return EXIT_FAILURE; + } + + elf_hdr_t header = {0}; + FILE *header_file = fopen(argv[optind], "r"); + + /* Read contents of header_file into header */ + if (!read_header(header_file, &header)) { + exit_file_error(header_file); + } + + if (show_elf_header) { + dump_header(&header); + } + + elf_phdr_t phdrs[header.e_num_phdr]; + memset(phdrs, 0, sizeof(phdrs)); + + /* Read program headers into phdrs array */ + for (int i = 0; i < header.e_num_phdr; i++) { + uint16_t offset = header.e_phdr_start + i * sizeof(elf_phdr_t); + if (!read_phdr(header_file, offset, &phdrs[i])) { + exit_file_error(header_file); + } + } + + if (show_program_header) { + dump_phdrs(header.e_num_phdr, phdrs); + } + + byte_t memory[MEMSIZE]; + memset(memory, 0, MEMSIZE); + + /* Read memory segments into memory array */ + for (int i = 0; i < header.e_num_phdr; i++) { + if (!load_segment(header_file, memory, &phdrs[i])) { + exit_file_error(header_file); + } + } + + fclose(header_file); + + if (show_memory_brief) { + for (int i = 0; i < header.e_num_phdr; i++) { + uint32_t start = phdrs[i].p_vaddr; + uint32_t end = start + phdrs[i].p_size; + + dump_memory(memory, start, end); + } + } else if (show_memory_full) { + dump_memory(memory, 0, MEMSIZE); + } + + if (show_code) { + printf("Disassembly of executable contents:\n"); + + for (int i = 0; i < header.e_num_phdr; i++) { + if (phdrs[i].p_type == CODE) { + disassemble_code(memory, &phdrs[i], &header); + } + } + } + + if (show_data) { + printf("Disassembly of data contents:\n"); + + for (int i = 0; i < header.e_num_phdr; i++) { + if (phdrs[i].p_type == DATA && phdrs[i].p_flags == 4) { + disassemble_rodata(memory, &phdrs[i]); + } else if (phdrs[i].p_type == DATA) { + disassemble_data(memory, &phdrs[i]); + } + } + } + + return EXIT_SUCCESS; +} diff --git a/p3-disas/main.o b/p3-disas/main.o new file mode 100644 index 0000000..df83110 Binary files /dev/null and b/p3-disas/main.o differ diff --git a/p3-disas/p1-check.h b/p3-disas/p1-check.h new file mode 100644 index 0000000..5ce84e9 --- /dev/null +++ b/p3-disas/p1-check.h @@ -0,0 +1,29 @@ +#ifndef __CS261_P1__ +#define __CS261_P1__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" + +/** + * @brief Load a Mini-ELF header from an open file stream + * + * @param file File stream to use for input + * @param hdr Pointer to region where the Mini-ELF header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_header (FILE *file, elf_hdr_t *hdr); + +/** + * @brief Print Mini-ELF header information to standard out + * + * @param hdr Header with info to print + */ +void dump_header (elf_hdr_t *hdr); + +#endif diff --git a/p3-disas/p1-check.o b/p3-disas/p1-check.o new file mode 100644 index 0000000..a943a48 Binary files /dev/null and b/p3-disas/p1-check.o differ diff --git a/p3-disas/p2-load.h b/p3-disas/p2-load.h new file mode 100644 index 0000000..e15cfa7 --- /dev/null +++ b/p3-disas/p2-load.h @@ -0,0 +1,52 @@ +#ifndef __CS261_P2__ +#define __CS261_P2__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Load a Mini-ELF program header from an open file stream + * + * @param file File stream to use for input + * @param offset Byte offset in file where the program header is located + * @param phdr Pointer to memory where the Mini-ELF program header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_phdr (FILE *file, uint16_t offset, elf_phdr_t *phdr); + +/** + * @brief Load a Mini-ELF program segment from an open file stream + * + * @param file File stream to use for input + * @param memory Pointer to the beginning of the Y86 address space into which + * the segment should be loaded + * @param phdr Pointer to the program header for the segment that should be loaded + * @returns True if the segment was successfully loaded, false otherwise + */ +bool load_segment (FILE *file, byte_t *memory, elf_phdr_t *phdr); + +/** + * @brief Print Mini-ELF program header information to standard out + * + * @param numphdrs Number of program headers to print + * @param phdrs Pointer to array of program headers with info to print + */ +void dump_phdrs (uint16_t numphdrs, elf_phdr_t *phdrs); + +/** + * @brief Print a portion of a Y86 address space + * + * @param memory Pointer to the beginning of the Y86 address space + * @param start Byte offset where printing should begin + * @param end Byte offset where printing should end + */ +void dump_memory (byte_t *memory, uint16_t start, uint16_t end); + +#endif diff --git a/p3-disas/p2-load.o b/p3-disas/p2-load.o new file mode 100644 index 0000000..657b810 Binary files /dev/null and b/p3-disas/p2-load.o differ diff --git a/p3-disas/p3-disas.c b/p3-disas/p3-disas.c new file mode 100644 index 0000000..606be53 --- /dev/null +++ b/p3-disas/p3-disas.c @@ -0,0 +1,574 @@ +/* + * CS 261 PA3: Mini-ELF disassembler + * + * Name: Nicholas Tamassia + * + * This code was developed in compliance with the JMU Honor code. + */ + +#include "p3-disas.h" + +/********************************************************************** + * REQUIRED FUNCTIONS + *********************************************************************/ + +bool has_register_byte(y86_inst_t ins); + +bool has_register_byte(y86_inst_t ins) { + switch (ins.icode) { + case CMOV: + case IRMOVQ: + case RMMOVQ: + case MRMOVQ: + case OPQ: + case PUSHQ: + case POPQ: + return true; + default: + return false; + } +} + +bool has_valc_bytes(y86_inst_t ins); + +bool has_valc_bytes(y86_inst_t ins) { + switch (ins.icode) { + case IRMOVQ: + case RMMOVQ: + case MRMOVQ: + case JUMP: + case CALL: + return true; + default: + return false; + } +} + +void validate_opcode(y86_inst_t *ins, byte_t *current_byte); + +void validate_opcode(y86_inst_t *ins, byte_t *current_byte) { + if (ins == NULL || current_byte == NULL) { + return; + } + + y86_icode_t opcode_high = *current_byte >> 4; + byte_t opcode_low = *current_byte & 0xF; + ins->icode = opcode_high; + + switch (ins->icode) { + case CMOV: + if (opcode_low >= BADCMOV) { + ins->icode = INVALID; + } + ins->ifun.cmov = opcode_low; + break; + + case OPQ: + if (opcode_low >= BADOP) { + ins->icode = INVALID; + } + ins->ifun.op = opcode_low; + break; + + case JUMP: + if (opcode_low >= BADJUMP) { + ins->icode = INVALID; + } + ins->ifun.jump = opcode_low; + break; + + case IOTRAP: + if (opcode_low >= BADTRAP) { + ins->icode = INVALID; + } + ins->ifun.trap = opcode_low; + break; + + case HALT: + case NOP: + case IRMOVQ: + case RMMOVQ: + case MRMOVQ: + case CALL: + case RET: + case PUSHQ: + case POPQ: + if (opcode_low != 0x0) { + ins->icode = INVALID; + } + ins->ifun.b = opcode_low; + break; + + default: + ins->icode = INVALID; + break; + } +} + +void validate_registers(y86_inst_t *ins, byte_t *current_byte); + +void validate_registers(y86_inst_t *ins, byte_t *current_byte) { + if (ins == NULL || current_byte == NULL) { + return; + } + + ins->ra = *current_byte >> 4; + ins->rb = *current_byte & 0xF; + + switch (ins->icode) { + case IRMOVQ: + if (ins->ra != NOREG || ins->rb == NOREG) { + ins->icode = INVALID; + } + break; + + case PUSHQ: + case POPQ: + if (ins->ra == NOREG || ins->rb != NOREG) { + ins->icode = INVALID; + } + break; + + case RMMOVQ: + case MRMOVQ: + if (ins->ra == NOREG) { + ins->icode = INVALID; + } + break; + + case CMOV: + case OPQ: + if (ins->ra == NOREG || ins->rb == NOREG) { + ins->icode = INVALID; + } + break; + default: + break; + } +} + +void assign_valc(y86_inst_t *ins, byte_t *current_byte); + +void assign_valc(y86_inst_t *ins, byte_t *current_byte) { + if (ins == NULL || current_byte == NULL) { + return; + } + + uint64_t valc = 0; + for (int i = 0; i < 8; i++) { + valc |= (uint64_t) * (current_byte + i) << (8 * i); + } + + switch (ins->icode) { + case IRMOVQ: + ins->valC.v = valc; + break; + case RMMOVQ: + case MRMOVQ: + ins->valC.d = valc; + break; + case JUMP: + case CALL: + ins->valC.dest = valc; + break; + default: + break; + } +} + +y86_inst_t fetch(y86_t *cpu, byte_t *memory) { + y86_inst_t ins = {0}; + + if (cpu == NULL || memory == NULL) { + ins.icode = INVALID; + return ins; + } + + if (cpu->pc > MEMSIZE - 10) { + ins.icode = INVALID; + cpu->stat = ADR; + return ins; + } + + byte_t *current_byte = &memory[cpu->pc]; + + validate_opcode(&ins, current_byte); + if (ins.icode == INVALID) { + cpu->stat = INS; + return ins; + } + + current_byte++; + + if (has_register_byte(ins)) { + validate_registers(&ins, current_byte); + + if (ins.icode == INVALID) { + cpu->stat = INS; + return ins; + } + + current_byte++; + } + + if (has_valc_bytes(ins)) { + assign_valc(&ins, current_byte); + current_byte += 8; + } + + ins.valP = current_byte - memory; + + if (ins.icode == HALT) { + cpu->stat = HLT; + } else { + cpu->stat = AOK; + } + + return ins; +} + +/********************************************************************** + * OPTIONAL FUNCTIONS + *********************************************************************/ + +void print_register(y86_regnum_t y86_register); + +void print_register(y86_regnum_t y86_register) { + switch (y86_register) { + case RAX: + printf("%%rax"); + break; + case RCX: + printf("%%rcx"); + break; + case RDX: + printf("%%rdx"); + break; + case RBX: + printf("%%rbx"); + break; + case RSP: + printf("%%rsp"); + break; + case RBP: + printf("%%rbp"); + break; + case RSI: + printf("%%rsi"); + break; + case RDI: + printf("%%rdi"); + break; + case R8: + case R9: + case R10: + case R11: + case R12: + case R13: + case R14: + printf("%%r%d", y86_register); + break; + case NOREG: + break; + } +} + +void print_cmov(y86_cmov_t cmov); + +void print_cmov(y86_cmov_t cmov) { + switch (cmov) { + case RRMOVQ: + printf("rrmovq"); + break; + case CMOVLE: + printf("cmovle"); + break; + case CMOVL: + printf("cmovl"); + break; + case CMOVE: + printf("cmove"); + break; + case CMOVNE: + printf("cmovne"); + break; + case CMOVGE: + printf("cmovge"); + break; + case CMOVG: + printf("cmovg"); + break; + case BADCMOV: + break; + } +} + +void print_opq(y86_op_t opq); + +void print_opq(y86_op_t opq) { + switch (opq) { + case ADD: + printf("addq"); + break; + case SUB: + printf("subq"); + break; + case AND: + printf("andq"); + break; + case XOR: + printf("xorq"); + break; + case BADOP: + break; + } +} + +void print_jump(y86_jump_t jump); + +void print_jump(y86_jump_t jump) { + switch (jump) { + case JMP: + printf("jmp"); + break; + case JLE: + printf("jle"); + break; + case JL: + printf("jl"); + break; + case JE: + printf("je"); + break; + case JNE: + printf("jne"); + break; + case JGE: + printf("jge"); + break; + case JG: + printf("jg"); + break; + case BADJUMP: + break; + } +} + +void disassemble(y86_inst_t *inst) { + if (inst == NULL) { + return; + } + + switch (inst->icode) { + case HALT: + printf("halt"); + break; + case NOP: + printf("nop"); + break; + case CMOV: + print_cmov(inst->ifun.cmov); + printf(" "); + print_register(inst->ra); + printf(", "); + print_register(inst->rb); + break; + case IRMOVQ: + printf("irmovq 0x%lx, ", inst->valC.v); + print_register(inst->rb); + break; + case RMMOVQ: + printf("rmmovq "); + print_register(inst->ra); + printf(", "); + printf("0x%lx", inst->valC.d); + if (inst->rb != NOREG) { + printf("("); + print_register(inst->rb); + printf(")"); + } + break; + case MRMOVQ: + printf("mrmovq 0x%lx", inst->valC.d); + if (inst->rb != NOREG) { + printf("("); + print_register(inst->rb); + printf(")"); + } + printf(", "); + print_register(inst->ra); + break; + case OPQ: + print_opq(inst->ifun.op); + printf(" "); + print_register(inst->ra); + printf(", "); + print_register(inst->rb); + break; + case JUMP: + print_jump(inst->ifun.jump); + printf(" 0x%lx", inst->valC.dest); + break; + case CALL: + printf("call 0x%lx", inst->valC.dest); + break; + case RET: + printf("ret"); + break; + case PUSHQ: + printf("pushq "); + print_register(inst->ra); + break; + case POPQ: + printf("popq "); + print_register(inst->ra); + break; + case IOTRAP: + printf("iotrap %d", inst->ifun.trap); + break; + default: + break; + } +} + +void disassemble_code(byte_t *memory, elf_phdr_t *phdr, elf_hdr_t *hdr) { + if (memory == NULL || phdr == NULL || hdr == NULL) { + printf("Failed to disassemble code\n"); + return; + } + + y86_t cpu = {0}; + y86_inst_t ins = {0}; + uint32_t p_vaddr_end = phdr->p_vaddr + phdr->p_size; + cpu.pc = phdr->p_vaddr; + + printf(" 0x%03lx:%*s| .pos 0x%03lx code\n", cpu.pc, 31, "", cpu.pc); + + while (cpu.pc < p_vaddr_end) { + if (cpu.pc == hdr->e_entry) { + printf(" 0x%03lx:%*s| _start:\n", cpu.pc, 31, ""); + } + + ins = fetch(&cpu, memory); + + if (ins.icode == INVALID) { + printf("Invalid opcode: 0x%02x\n", memory[cpu.pc]); + break; + } + + printf(" 0x%03lx: ", cpu.pc); + + int bytes_printed = 1; + printf("%02x ", ins.icode << 4 | ins.ifun.b); + + if (has_register_byte(ins)) { + printf("%02x ", (ins.ra << 4 | ins.rb)); + bytes_printed++; + } + + if (has_valc_bytes(ins)) { + for (int i = 0; i < 8; i++) { + printf("%02lx ", (ins.valC.d >> (8 * i)) & 0xFF); + } + + bytes_printed += 8; + } + + /* Print #x spaces to align the "|" */ + printf("%*s| ", 30 - 3 * bytes_printed, ""); + disassemble(&ins); + printf("\n"); + + cpu.pc = ins.valP; + } + + printf("\n"); +} + +void disassemble_data(byte_t *memory, elf_phdr_t *phdr) { + if (memory == NULL || phdr == NULL) { + printf("Failed to disassemble data\n"); + return; + } + + uint32_t pc = phdr->p_vaddr; + uint32_t p_vaddr_end = phdr->p_vaddr + phdr->p_size; + + printf(" 0x%03x:%*s| .pos 0x%03x data\n", pc, 31, "", pc); + + while (pc < p_vaddr_end) { + uint64_t byte_string = 0; + + printf(" 0x%03x: ", pc); + for (int i = 0; i < 8; i++) { + byte_string |= (uint64_t)(memory[pc + i]) << (8 * i); + printf("%02x ", memory[pc + i]); + } + printf(" | .quad 0x%lx\n", byte_string); + + pc += 8; + } + + printf("\n"); +} + +void disassemble_rodata(byte_t *memory, elf_phdr_t *phdr) { + if (memory == NULL || phdr == NULL) { + printf("Failed to disassemble read-only data\n"); + return; + } + + uint32_t pc = phdr->p_vaddr; + uint32_t p_vaddr_end = phdr->p_vaddr + phdr->p_size; + + printf(" 0x%03x:%*s| .pos 0x%03x rodata\n", pc, 31, "", pc); + + uint32_t string_address = pc; /* Address of current .string */ + uint32_t char_count = 0; + + while (pc < p_vaddr_end) { + bool on_line_start = (char_count + 1) % 10 == 1; + bool on_null_terminator = memory[pc] == 0x00; + bool break_line = on_null_terminator || (char_count + 1) % 10 == 0; + + if (on_line_start) { + printf(" 0x%03x: ", pc); + } + + printf("%02x ", memory[pc]); + + /* If reached end of line, print #x spaces to align the "|" */ + if (break_line) { + int spaces = 27 - (char_count % 10) * 3; + printf("%*s| ", spaces, ""); + } + + /* Prints out the full string if reached the end of the first line */ + if (break_line && char_count <= 9) { + byte_t *current_byte = &memory[string_address]; + + printf(" .string \""); + while (*current_byte != 0x00) { + printf("%c", *current_byte); + current_byte++; + } + printf("\""); + } + + if (break_line) { + printf("\n"); + } + + /* Reset char count to indicate new word on null terminator */ + if (on_null_terminator) { + string_address = pc + 1; + char_count = 0; + } else { + char_count++; + } + + pc++; + } + + printf("\n"); +} diff --git a/p3-disas/p3-disas.h b/p3-disas/p3-disas.h new file mode 100644 index 0000000..116ac49 --- /dev/null +++ b/p3-disas/p3-disas.h @@ -0,0 +1,55 @@ +#ifndef __CS261_P3__ +#define __CS261_P3__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Load a Y86 instruction from memory + * + * @param cpu Pointer to Y86 CPU structure with the PC address to be loaded + * @param memory Pointer to the beginning of the Y86 address space + * @returns Populated Y86 instruction structure + */ +y86_inst_t fetch (y86_t *cpu, byte_t *memory); + +/** + * @brief Print the disassembly of a Y86 instruction to standard out + * + * @param inst Pointer to Y86 instruction structure to be printed + */ +void disassemble (y86_inst_t *inst); + +/** + * @brief Print the disassembly of a Y86 code segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + * @param hdr File header (needed to detect the entry point) + */ +void disassemble_code (byte_t *memory, elf_phdr_t *phdr, elf_hdr_t *hdr); + +/** + * @brief Print the disassembly of a Y86 read/write data segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + */ +void disassemble_data (byte_t *memory, elf_phdr_t *phdr); + +/** + * @brief Print the disassembly of a Y86 read-only data segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + */ +void disassemble_rodata (byte_t *memory, elf_phdr_t *phdr); + +#endif diff --git a/p3-disas/p3-disas.o b/p3-disas/p3-disas.o new file mode 100644 index 0000000..9ffb45f Binary files /dev/null and b/p3-disas/p3-disas.o differ diff --git a/p3-disas/tests/Makefile b/p3-disas/tests/Makefile new file mode 100644 index 0000000..cf0e4f5 --- /dev/null +++ b/p3-disas/tests/Makefile @@ -0,0 +1,81 @@ +# +# Simple Test Makefile +# Mike Lam, James Madison University, August 2016 +# +# This version of the Makefile includes support for building a test suite. The +# recommended framework is Check (http://check.sourceforge.net/). To build and +# run the test suite, execute the "test" target. The test suite must be located +# in a module called "testsuite". The MODS, LIBS, and OBJS variables work as +# they do in the main Makefile. +# +# To change the default build target (which executes when you just type +# "make"), change the right-hand side of the definition of the "default" +# target. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=../y86 +TEST=testsuite +MODS=public.o +OBJS=../p1-check.o ../p2-load.o ../p3-disas.o private.o +LIBS= + +UTESTOUT=utests.txt +ITESTOUT=itests.txt + +default: $(TEST) + +$(EXE): + make -C ../ + +test: utest itest + @echo "========================================" + +utest: $(EXE) $(TEST) + @echo "========================================" + @echo " UNIT TESTS" + @./$(TEST) 2>/dev/null >$(UTESTOUT) + @cat $(UTESTOUT) | sed -n -e '/Checks/,$$p' | sed -e 's/^private.*:[EF]://g' + +itest: $(EXE) + @echo "========================================" + @echo " INTEGRATION TESTS" + @./integration.sh | tee $(ITESTOUT) + + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + +CFLAGS+=-I/opt/homebrew/include -Wno-gnu-zero-variadic-macro-arguments +LDFLAGS+=-L/opt/homebrew/lib +LIBS+=-lcheck -lm -lpthread + +ifeq ($(shell uname -s),Linux) + LIBS+=-lrt -lsubunit +endif + + +# build targets + +$(TEST): $(TEST).o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(TEST) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -rf $(TEST) $(TEST).o $(MODS) $(UTESTOUT) $(ITESTOUT) outputs valgrind + +.PHONY: default clean test unittest inttest + diff --git a/p3-disas/tests/expected/A_bad_filename.txt b/p3-disas/tests/expected/A_bad_filename.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/expected/A_bad_filename.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/expected/A_bad_no_elf.txt b/p3-disas/tests/expected/A_bad_no_elf.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/expected/A_bad_no_elf.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/expected/A_bad_phdr.txt b/p3-disas/tests/expected/A_bad_phdr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/expected/A_bad_phdr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/expected/A_bad_short_header.txt b/p3-disas/tests/expected/A_bad_short_header.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/expected/A_bad_short_header.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/expected/A_bad_short_phdr.txt b/p3-disas/tests/expected/A_bad_short_phdr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/expected/A_bad_short_phdr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/expected/A_data.txt b/p3-disas/tests/expected/A_data.txt new file mode 100644 index 0000000..f2f788c --- /dev/null +++ b/p3-disas/tests/expected/A_data.txt @@ -0,0 +1,6 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 88 77 66 55 44 33 22 11 | .quad 0x1122334455667788 + 0x208: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + 0x210: 42 00 00 00 00 00 00 00 | .quad 0x42 + diff --git a/p3-disas/tests/expected/A_data_code.txt b/p3-disas/tests/expected/A_data_code.txt new file mode 100644 index 0000000..02ccbc6 --- /dev/null +++ b/p3-disas/tests/expected/A_data_code.txt @@ -0,0 +1,5 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + diff --git a/p3-disas/tests/expected/A_extra_params.txt b/p3-disas/tests/expected/A_extra_params.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/expected/A_extra_params.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/expected/A_interleaved.txt b/p3-disas/tests/expected/A_interleaved.txt new file mode 100644 index 0000000..2a36f13 --- /dev/null +++ b/p3-disas/tests/expected/A_interleaved.txt @@ -0,0 +1,22 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + + 0x400: | .pos 0x400 code + 0x400: 10 | nop + 0x401: 00 | halt + +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 10 00 00 00 00 00 00 00 | .quad 0x10 + + 0x300: | .pos 0x300 rodata + 0x300: 74 65 73 74 00 | .string "test" + + 0x500: | .pos 0x500 data + 0x500: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + + 0x600: | .pos 0x600 rodata + 0x600: 61 67 61 69 6e 00 | .string "again" + diff --git a/p3-disas/tests/expected/A_invalid.txt b/p3-disas/tests/expected/A_invalid.txt new file mode 100644 index 0000000..1fc31b4 --- /dev/null +++ b/p3-disas/tests/expected/A_invalid.txt @@ -0,0 +1,6 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f3 0f 00 00 00 20 31 40 13 | irmovq 0x134031200000000f, %rbx +Invalid opcode: 0xfd + diff --git a/p3-disas/tests/expected/A_missing_file.txt b/p3-disas/tests/expected/A_missing_file.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/expected/A_missing_file.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/expected/A_rodata.txt b/p3-disas/tests/expected/A_rodata.txt new file mode 100644 index 0000000..6918389 --- /dev/null +++ b/p3-disas/tests/expected/A_rodata.txt @@ -0,0 +1,4 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 68 65 6c 6c 6f 00 | .string "hello" + diff --git a/p3-disas/tests/expected/A_rodata_code.txt b/p3-disas/tests/expected/A_rodata_code.txt new file mode 100644 index 0000000..02ccbc6 --- /dev/null +++ b/p3-disas/tests/expected/A_rodata_code.txt @@ -0,0 +1,5 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + diff --git a/p3-disas/tests/expected/A_rodata_long.txt b/p3-disas/tests/expected/A_rodata_long.txt new file mode 100644 index 0000000..029f49b --- /dev/null +++ b/p3-disas/tests/expected/A_rodata_long.txt @@ -0,0 +1,10 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 30 31 32 33 34 35 36 37 38 39 | .string "0123456789" + 0x20a: 00 | + 0x20b: 68 65 6c 6c 6f 20 77 6f 72 6c | .string "hello world" + 0x215: 64 00 | + 0x217: 61 62 63 64 65 66 67 68 69 6a | .string "abcdefghijklmnopqrstuvwxyz" + 0x221: 6b 6c 6d 6e 6f 70 71 72 73 74 | + 0x22b: 75 76 77 78 79 7a 00 | + diff --git a/p3-disas/tests/expected/A_rodata_multi.txt b/p3-disas/tests/expected/A_rodata_multi.txt new file mode 100644 index 0000000..2ebe064 --- /dev/null +++ b/p3-disas/tests/expected/A_rodata_multi.txt @@ -0,0 +1,6 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 66 6f 6f 00 | .string "foo" + 0x204: 77 30 30 74 00 | .string "w00t" + 0x209: 75 70 20 64 6f 77 6e 00 | .string "up down" + diff --git a/p3-disas/tests/expected/A_rodata_shakespeare.txt b/p3-disas/tests/expected/A_rodata_shakespeare.txt new file mode 100644 index 0000000..553a78f --- /dev/null +++ b/p3-disas/tests/expected/A_rodata_shakespeare.txt @@ -0,0 +1,20 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 54 6f 20 62 65 2c 20 6f 72 20 | .string "To be, or not to be: that is the question" + 0x20a: 6e 6f 74 20 74 6f 20 62 65 3a | + 0x214: 20 74 68 61 74 20 69 73 20 74 | + 0x21e: 68 65 20 71 75 65 73 74 69 6f | + 0x228: 6e 00 | + 0x22a: 57 68 61 74 27 73 20 69 6e 20 | .string "What's in a name? A rose by any other name would smell as sweet." + 0x234: 61 20 6e 61 6d 65 3f 20 41 20 | + 0x23e: 72 6f 73 65 20 62 79 20 61 6e | + 0x248: 79 20 6f 74 68 65 72 20 6e 61 | + 0x252: 6d 65 20 77 6f 75 6c 64 20 73 | + 0x25c: 6d 65 6c 6c 20 61 73 20 73 77 | + 0x266: 65 65 74 2e 00 | + 0x26b: 42 75 74 2c 20 66 6f 72 20 6d | .string "But, for my own part, it was Greek to me." + 0x275: 79 20 6f 77 6e 20 70 61 72 74 | + 0x27f: 2c 20 69 74 20 77 61 73 20 47 | + 0x289: 72 65 65 6b 20 74 6f 20 6d 65 | + 0x293: 2e 00 | + diff --git a/p3-disas/tests/expected/A_unaligned1.txt b/p3-disas/tests/expected/A_unaligned1.txt new file mode 100644 index 0000000..4f16bfd --- /dev/null +++ b/p3-disas/tests/expected/A_unaligned1.txt @@ -0,0 +1,26 @@ +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 18 01 00 00 00 00 00 00 | jmp 0x118 + + 0x118: | .pos 0x118 code + 0x118: | _start: + 0x118: 10 | nop + 0x119: 00 | halt + diff --git a/p3-disas/tests/expected/A_unaligned2.txt b/p3-disas/tests/expected/A_unaligned2.txt new file mode 100644 index 0000000..6857997 --- /dev/null +++ b/p3-disas/tests/expected/A_unaligned2.txt @@ -0,0 +1,29 @@ +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 55 05 00 00 00 00 00 00 | jmp 0x555 + + 0x555: | .pos 0x555 code + 0x555: | _start: + 0x555: 30 f0 4d 01 00 00 00 00 00 00 | irmovq 0x14d, %rax + 0x55f: 30 f3 de 00 00 00 00 00 00 00 | irmovq 0xde, %rbx + 0x569: 30 f1 6f 00 00 00 00 00 00 00 | irmovq 0x6f, %rcx + 0x573: 00 | halt + diff --git a/p3-disas/tests/expected/B_iotrap.txt b/p3-disas/tests/expected/B_iotrap.txt new file mode 100644 index 0000000..f846789 --- /dev/null +++ b/p3-disas/tests/expected/B_iotrap.txt @@ -0,0 +1,10 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: c0 | iotrap 0 + 0x101: c1 | iotrap 1 + 0x102: c2 | iotrap 2 + 0x103: c3 | iotrap 3 + 0x104: c4 | iotrap 4 + 0x105: c5 | iotrap 5 + diff --git a/p3-disas/tests/expected/B_jmp.txt b/p3-disas/tests/expected/B_jmp.txt new file mode 100644 index 0000000..0a63de6 --- /dev/null +++ b/p3-disas/tests/expected/B_jmp.txt @@ -0,0 +1,11 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 71 77 66 55 44 33 22 11 88 | jle 0x8811223344556677 + 0x112: 72 66 55 44 33 22 11 88 77 | jl 0x7788112233445566 + 0x11b: 73 55 44 33 22 11 88 77 66 | je 0x6677881122334455 + 0x124: 74 44 33 22 11 88 77 66 55 | jne 0x5566778811223344 + 0x12d: 75 33 22 11 88 77 66 55 44 | jge 0x4455667788112233 + 0x136: 76 22 11 88 77 66 55 44 33 | jg 0x3344556677881122 + diff --git a/p3-disas/tests/expected/B_ninebyte.txt b/p3-disas/tests/expected/B_ninebyte.txt new file mode 100644 index 0000000..322463d --- /dev/null +++ b/p3-disas/tests/expected/B_ninebyte.txt @@ -0,0 +1,6 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 80 11 22 33 44 55 66 77 88 | call 0x8877665544332211 + diff --git a/p3-disas/tests/expected/B_simple.txt b/p3-disas/tests/expected/B_simple.txt new file mode 100644 index 0000000..243a57e --- /dev/null +++ b/p3-disas/tests/expected/B_simple.txt @@ -0,0 +1,19 @@ +01 00 00 01 10 00 01 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 1 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0024 0x0017 0x0100 CODE R X +Contents of memory from 0100 to 0117: + 0100 30 f0 68 24 00 00 00 00 00 00 30 f3 34 12 00 00 + 0110 00 00 00 00 60 03 00 +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10a: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x114: 60 03 | addq %rax, %rbx + 0x116: 00 | halt + diff --git a/p3-disas/tests/expected/B_simple_multi.txt b/p3-disas/tests/expected/B_simple_multi.txt new file mode 100644 index 0000000..6bd9226 --- /dev/null +++ b/p3-disas/tests/expected/B_simple_multi.txt @@ -0,0 +1,17 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: 10 | nop + 0x101: 10 | nop + 0x102: 10 | nop + 0x103: | _start: + 0x103: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10d: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x117: 60 03 | addq %rax, %rbx + 0x119: 70 00 02 00 00 00 00 00 00 | jmp 0x200 + + 0x200: | .pos 0x200 code + 0x200: 30 f1 78 56 00 00 00 00 00 00 | irmovq 0x5678, %rcx + 0x20a: 30 f2 14 15 00 00 00 00 00 00 | irmovq 0x1514, %rdx + 0x214: 61 21 | subq %rdx, %rcx + 0x216: 00 | halt + diff --git a/p3-disas/tests/expected/B_tenbyte.txt b/p3-disas/tests/expected/B_tenbyte.txt new file mode 100644 index 0000000..72d4b75 --- /dev/null +++ b/p3-disas/tests/expected/B_tenbyte.txt @@ -0,0 +1,9 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 88 77 66 55 44 33 22 11 | irmovq 0x1122334455667788, %rax + 0x10a: 40 12 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321(%rdx) + 0x114: 50 12 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678(%rdx), %rcx + 0x11e: 40 1f 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321 + 0x128: 50 1f 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678, %rcx + diff --git a/p3-disas/tests/expected/C_cmov.txt b/p3-disas/tests/expected/C_cmov.txt new file mode 100644 index 0000000..abf4b94 --- /dev/null +++ b/p3-disas/tests/expected/C_cmov.txt @@ -0,0 +1,11 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 21 23 | cmovle %rdx, %rbx + 0x104: 22 45 | cmovl %rsp, %rbp + 0x106: 23 67 | cmove %rsi, %rdi + 0x108: 24 89 | cmovne %r8, %r9 + 0x10a: 25 ab | cmovge %r10, %r11 + 0x10c: 26 ce | cmovg %r12, %r14 + diff --git a/p3-disas/tests/expected/C_help.txt b/p3-disas/tests/expected/C_help.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/expected/C_help.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/expected/C_opq.txt b/p3-disas/tests/expected/C_opq.txt new file mode 100644 index 0000000..ee43e76 --- /dev/null +++ b/p3-disas/tests/expected/C_opq.txt @@ -0,0 +1,8 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 60 23 | addq %rdx, %rbx + 0x102: 61 01 | subq %rax, %rcx + 0x104: 62 45 | andq %rsp, %rbp + 0x106: 63 67 | xorq %rsi, %rdi + diff --git a/p3-disas/tests/expected/C_twobyte.txt b/p3-disas/tests/expected/C_twobyte.txt new file mode 100644 index 0000000..2960202 --- /dev/null +++ b/p3-disas/tests/expected/C_twobyte.txt @@ -0,0 +1,8 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 60 23 | addq %rdx, %rbx + 0x104: a0 6f | pushq %rsi + 0x106: b0 7f | popq %rdi + diff --git a/p3-disas/tests/expected/D_onebyte.txt b/p3-disas/tests/expected/D_onebyte.txt new file mode 100644 index 0000000..f77ec94 --- /dev/null +++ b/p3-disas/tests/expected/D_onebyte.txt @@ -0,0 +1,7 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + 0x101: 10 | nop + 0x102: 90 | ret + diff --git a/p3-disas/tests/inputs/bad-no_elf.o b/p3-disas/tests/inputs/bad-no_elf.o new file mode 100644 index 0000000..8de3a52 Binary files /dev/null and b/p3-disas/tests/inputs/bad-no_elf.o differ diff --git a/p3-disas/tests/inputs/bad-phdr.o b/p3-disas/tests/inputs/bad-phdr.o new file mode 100644 index 0000000..2abcf6e Binary files /dev/null and b/p3-disas/tests/inputs/bad-phdr.o differ diff --git a/p3-disas/tests/inputs/bad-short_header.o b/p3-disas/tests/inputs/bad-short_header.o new file mode 100644 index 0000000..f9d0e54 Binary files /dev/null and b/p3-disas/tests/inputs/bad-short_header.o differ diff --git a/p3-disas/tests/inputs/bad-short_phdr.o b/p3-disas/tests/inputs/bad-short_phdr.o new file mode 100644 index 0000000..f22f9bc Binary files /dev/null and b/p3-disas/tests/inputs/bad-short_phdr.o differ diff --git a/p3-disas/tests/inputs/cmov.o b/p3-disas/tests/inputs/cmov.o new file mode 100644 index 0000000..d444d12 Binary files /dev/null and b/p3-disas/tests/inputs/cmov.o differ diff --git a/p3-disas/tests/inputs/data.o b/p3-disas/tests/inputs/data.o new file mode 100644 index 0000000..244e88f Binary files /dev/null and b/p3-disas/tests/inputs/data.o differ diff --git a/p3-disas/tests/inputs/interleaved.o b/p3-disas/tests/inputs/interleaved.o new file mode 100644 index 0000000..709d3d3 Binary files /dev/null and b/p3-disas/tests/inputs/interleaved.o differ diff --git a/p3-disas/tests/inputs/invalid.o b/p3-disas/tests/inputs/invalid.o new file mode 100644 index 0000000..6f00342 Binary files /dev/null and b/p3-disas/tests/inputs/invalid.o differ diff --git a/p3-disas/tests/inputs/iotrap.o b/p3-disas/tests/inputs/iotrap.o new file mode 100644 index 0000000..d0afc04 Binary files /dev/null and b/p3-disas/tests/inputs/iotrap.o differ diff --git a/p3-disas/tests/inputs/jmp.o b/p3-disas/tests/inputs/jmp.o new file mode 100644 index 0000000..2aadfed Binary files /dev/null and b/p3-disas/tests/inputs/jmp.o differ diff --git a/p3-disas/tests/inputs/ninebyte.o b/p3-disas/tests/inputs/ninebyte.o new file mode 100644 index 0000000..e6a1c0a Binary files /dev/null and b/p3-disas/tests/inputs/ninebyte.o differ diff --git a/p3-disas/tests/inputs/onebyte.o b/p3-disas/tests/inputs/onebyte.o new file mode 100644 index 0000000..67bf3fc Binary files /dev/null and b/p3-disas/tests/inputs/onebyte.o differ diff --git a/p3-disas/tests/inputs/opq.o b/p3-disas/tests/inputs/opq.o new file mode 100644 index 0000000..7893536 Binary files /dev/null and b/p3-disas/tests/inputs/opq.o differ diff --git a/p3-disas/tests/inputs/rodata.o b/p3-disas/tests/inputs/rodata.o new file mode 100644 index 0000000..8bbce56 Binary files /dev/null and b/p3-disas/tests/inputs/rodata.o differ diff --git a/p3-disas/tests/inputs/rodata_long.o b/p3-disas/tests/inputs/rodata_long.o new file mode 100644 index 0000000..49c9921 Binary files /dev/null and b/p3-disas/tests/inputs/rodata_long.o differ diff --git a/p3-disas/tests/inputs/rodata_multi.o b/p3-disas/tests/inputs/rodata_multi.o new file mode 100644 index 0000000..a506647 Binary files /dev/null and b/p3-disas/tests/inputs/rodata_multi.o differ diff --git a/p3-disas/tests/inputs/rodata_shakespeare.o b/p3-disas/tests/inputs/rodata_shakespeare.o new file mode 100644 index 0000000..689aaa4 Binary files /dev/null and b/p3-disas/tests/inputs/rodata_shakespeare.o differ diff --git a/p3-disas/tests/inputs/simple.o b/p3-disas/tests/inputs/simple.o new file mode 100644 index 0000000..0801eb1 Binary files /dev/null and b/p3-disas/tests/inputs/simple.o differ diff --git a/p3-disas/tests/inputs/simple_multi.o b/p3-disas/tests/inputs/simple_multi.o new file mode 100644 index 0000000..5634161 Binary files /dev/null and b/p3-disas/tests/inputs/simple_multi.o differ diff --git a/p3-disas/tests/inputs/tenbyte.o b/p3-disas/tests/inputs/tenbyte.o new file mode 100644 index 0000000..3be1315 Binary files /dev/null and b/p3-disas/tests/inputs/tenbyte.o differ diff --git a/p3-disas/tests/inputs/twobyte.o b/p3-disas/tests/inputs/twobyte.o new file mode 100644 index 0000000..97ca6f5 Binary files /dev/null and b/p3-disas/tests/inputs/twobyte.o differ diff --git a/p3-disas/tests/inputs/unaligned.o b/p3-disas/tests/inputs/unaligned.o new file mode 100644 index 0000000..079af97 Binary files /dev/null and b/p3-disas/tests/inputs/unaligned.o differ diff --git a/p3-disas/tests/inputs/unaligned2.o b/p3-disas/tests/inputs/unaligned2.o new file mode 100644 index 0000000..2d03189 Binary files /dev/null and b/p3-disas/tests/inputs/unaligned2.o differ diff --git a/p3-disas/tests/integration.sh b/p3-disas/tests/integration.sh new file mode 100644 index 0000000..ed5a430 --- /dev/null +++ b/p3-disas/tests/integration.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# extract executable name from Makefile +EXE=$(grep "EXE=" Makefile | sed -e "s/EXE=//") + +# detect timeout utility (i.e., "timeout" on Linux and "gtimeout" on MacOS) +# and set timeout interval +TIMEOUT="timeout" +TIMEOUT_INTERVAL="3s" +$TIMEOUT --help &>/dev/null +if [[ $? -ne 0 ]]; then + TIMEOUT="gtimeout" +fi + +# Valgrind additional output flags +VG_FLAGS="--leak-check=full --track-origins=yes" + +function run_test { + + # parameters + TAG=$1 + ARGS=$2 + PTAG=$(printf '%-30s' "$TAG") + + # file paths + OUTPUT=outputs/$TAG.txt + DIFF=outputs/$TAG.diff + EXPECT=expected/$TAG.txt + VALGRND=valgrind/$TAG.txt + + # run test with timeout + $TIMEOUT $TIMEOUT_INTERVAL $EXE $ARGS 2>/dev/null >"$OUTPUT" + if [ "$?" -lt 124 ]; then + + # no timeout; compare output to the expected version + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + + # try alternative solution (if it exists) + EXPECT=expected/$TAG-2.txt + if [ -e "$EXPECT" ]; then + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + else + echo "$PTAG pass" + fi + else + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + fi + else + echo "$PTAG pass" + fi + + # run valgrind + $TIMEOUT $TIMEOUT_INTERVAL valgrind $VG_FLAGS $EXE $ARGS &>$VALGRND + else + echo "$PTAG FAIL (crash or timeout)" + fi +} + +# initialize output folders +mkdir -p outputs +mkdir -p valgrind +rm -f outputs/* valgrind/* + +# run individual tests +source itests.include + +# check for memory leaks +LEAK=`cat valgrind/*.txt | grep 'definitely lost' | grep -v ' 0 bytes in 0 blocks'` +if [ -z "$LEAK" ]; then + echo "No memory leak found." +else + echo "Memory leak(s) found. See files listed below for details." + grep 'definitely lost' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + +# check for uninitialized values +LEAK=`cat valgrind/*.txt | grep 'uninitialised value'` +if [ -z "$LEAK" ]; then + echo "No uninitialized value found." +else + echo "Uninitialized value(s) found. See files listed below for details." + grep 'uninitialised value' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + diff --git a/p3-disas/tests/itests.include b/p3-disas/tests/itests.include new file mode 100644 index 0000000..12f5443 --- /dev/null +++ b/p3-disas/tests/itests.include @@ -0,0 +1,34 @@ +# list of integration tests +# format: run_test +# used as the root for all filenames (i.e., "expected/$TAG.txt") +# command-line arguments to test + +run_test D_onebyte "-d inputs/onebyte.o" +run_test C_help "-h" +run_test C_twobyte "-d inputs/twobyte.o" +run_test C_cmov "-d inputs/cmov.o" +run_test C_opq "-d inputs/opq.o" +run_test B_ninebyte "-d inputs/ninebyte.o" +run_test B_jmp "-d inputs/jmp.o" +run_test B_tenbyte "-d inputs/tenbyte.o" +run_test B_simple "-a -d inputs/simple.o" +run_test B_simple_multi "-d inputs/simple_multi.o" +run_test B_iotrap "-d inputs/iotrap.o" +run_test A_data_code "-d inputs/data.o" +run_test A_rodata_code "-d inputs/rodata.o" +run_test A_data "-D inputs/data.o" +run_test A_rodata "-D inputs/rodata.o" +run_test A_rodata_multi "-D inputs/rodata_multi.o" +run_test A_interleaved "-d -D inputs/interleaved.o" +run_test A_invalid "-d inputs/invalid.o" +run_test A_bad_no_elf "-d inputs/bad-no_elf.o" +run_test A_bad_phdr "-d inputs/bad-phdr.o" +run_test A_bad_short_header "-d inputs/bad-short_header.o" +run_test A_bad_short_phdr "-d inputs/bad-short_phdr.o" +run_test A_bad_filename "-d inputs/bad-nonexist.o" +run_test A_missing_file "-d" +run_test A_extra_params "-d inputs/onebyte.o extra params" +run_test A_unaligned1 "-a -d inputs/unaligned.o" +run_test A_unaligned2 "-a -d inputs/unaligned2.o" +run_test A_rodata_long "-D inputs/rodata_long.o" +run_test A_rodata_shakespeare "-D inputs/rodata_shakespeare.o" diff --git a/p3-disas/tests/itests.txt b/p3-disas/tests/itests.txt new file mode 100644 index 0000000..7003399 --- /dev/null +++ b/p3-disas/tests/itests.txt @@ -0,0 +1,31 @@ +D_onebyte pass +C_help pass +C_twobyte pass +C_cmov pass +C_opq pass +B_ninebyte pass +B_jmp pass +B_tenbyte pass +B_simple pass +B_simple_multi pass +B_iotrap pass +A_data_code pass +A_rodata_code pass +A_data pass +A_rodata pass +A_rodata_multi pass +A_interleaved pass +A_invalid pass +A_bad_no_elf pass +A_bad_phdr pass +A_bad_short_header pass +A_bad_short_phdr pass +A_bad_filename pass +A_missing_file pass +A_extra_params pass +A_unaligned1 pass +A_unaligned2 pass +A_rodata_long pass +A_rodata_shakespeare pass +No memory leak found. +No uninitialized value found. diff --git a/p3-disas/tests/outputs/A_bad_filename.diff b/p3-disas/tests/outputs/A_bad_filename.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_bad_filename.txt b/p3-disas/tests/outputs/A_bad_filename.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/outputs/A_bad_filename.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/outputs/A_bad_no_elf.diff b/p3-disas/tests/outputs/A_bad_no_elf.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_bad_no_elf.txt b/p3-disas/tests/outputs/A_bad_no_elf.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/outputs/A_bad_no_elf.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/outputs/A_bad_phdr.diff b/p3-disas/tests/outputs/A_bad_phdr.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_bad_phdr.txt b/p3-disas/tests/outputs/A_bad_phdr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/outputs/A_bad_phdr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/outputs/A_bad_short_header.diff b/p3-disas/tests/outputs/A_bad_short_header.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_bad_short_header.txt b/p3-disas/tests/outputs/A_bad_short_header.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/outputs/A_bad_short_header.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/outputs/A_bad_short_phdr.diff b/p3-disas/tests/outputs/A_bad_short_phdr.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_bad_short_phdr.txt b/p3-disas/tests/outputs/A_bad_short_phdr.txt new file mode 100644 index 0000000..127d3fc --- /dev/null +++ b/p3-disas/tests/outputs/A_bad_short_phdr.txt @@ -0,0 +1 @@ +Failed to read file diff --git a/p3-disas/tests/outputs/A_data.diff b/p3-disas/tests/outputs/A_data.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_data.txt b/p3-disas/tests/outputs/A_data.txt new file mode 100644 index 0000000..f2f788c --- /dev/null +++ b/p3-disas/tests/outputs/A_data.txt @@ -0,0 +1,6 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 88 77 66 55 44 33 22 11 | .quad 0x1122334455667788 + 0x208: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + 0x210: 42 00 00 00 00 00 00 00 | .quad 0x42 + diff --git a/p3-disas/tests/outputs/A_data_code.diff b/p3-disas/tests/outputs/A_data_code.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_data_code.txt b/p3-disas/tests/outputs/A_data_code.txt new file mode 100644 index 0000000..02ccbc6 --- /dev/null +++ b/p3-disas/tests/outputs/A_data_code.txt @@ -0,0 +1,5 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + diff --git a/p3-disas/tests/outputs/A_extra_params.diff b/p3-disas/tests/outputs/A_extra_params.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_extra_params.txt b/p3-disas/tests/outputs/A_extra_params.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/outputs/A_extra_params.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/outputs/A_interleaved.diff b/p3-disas/tests/outputs/A_interleaved.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_interleaved.txt b/p3-disas/tests/outputs/A_interleaved.txt new file mode 100644 index 0000000..2a36f13 --- /dev/null +++ b/p3-disas/tests/outputs/A_interleaved.txt @@ -0,0 +1,22 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + + 0x400: | .pos 0x400 code + 0x400: 10 | nop + 0x401: 00 | halt + +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 10 00 00 00 00 00 00 00 | .quad 0x10 + + 0x300: | .pos 0x300 rodata + 0x300: 74 65 73 74 00 | .string "test" + + 0x500: | .pos 0x500 data + 0x500: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + + 0x600: | .pos 0x600 rodata + 0x600: 61 67 61 69 6e 00 | .string "again" + diff --git a/p3-disas/tests/outputs/A_invalid.diff b/p3-disas/tests/outputs/A_invalid.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_invalid.txt b/p3-disas/tests/outputs/A_invalid.txt new file mode 100644 index 0000000..1fc31b4 --- /dev/null +++ b/p3-disas/tests/outputs/A_invalid.txt @@ -0,0 +1,6 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f3 0f 00 00 00 20 31 40 13 | irmovq 0x134031200000000f, %rbx +Invalid opcode: 0xfd + diff --git a/p3-disas/tests/outputs/A_missing_file.diff b/p3-disas/tests/outputs/A_missing_file.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_missing_file.txt b/p3-disas/tests/outputs/A_missing_file.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/outputs/A_missing_file.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/outputs/A_rodata.diff b/p3-disas/tests/outputs/A_rodata.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_rodata.txt b/p3-disas/tests/outputs/A_rodata.txt new file mode 100644 index 0000000..6918389 --- /dev/null +++ b/p3-disas/tests/outputs/A_rodata.txt @@ -0,0 +1,4 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 68 65 6c 6c 6f 00 | .string "hello" + diff --git a/p3-disas/tests/outputs/A_rodata_code.diff b/p3-disas/tests/outputs/A_rodata_code.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_rodata_code.txt b/p3-disas/tests/outputs/A_rodata_code.txt new file mode 100644 index 0000000..02ccbc6 --- /dev/null +++ b/p3-disas/tests/outputs/A_rodata_code.txt @@ -0,0 +1,5 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + diff --git a/p3-disas/tests/outputs/A_rodata_long.diff b/p3-disas/tests/outputs/A_rodata_long.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_rodata_long.txt b/p3-disas/tests/outputs/A_rodata_long.txt new file mode 100644 index 0000000..029f49b --- /dev/null +++ b/p3-disas/tests/outputs/A_rodata_long.txt @@ -0,0 +1,10 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 30 31 32 33 34 35 36 37 38 39 | .string "0123456789" + 0x20a: 00 | + 0x20b: 68 65 6c 6c 6f 20 77 6f 72 6c | .string "hello world" + 0x215: 64 00 | + 0x217: 61 62 63 64 65 66 67 68 69 6a | .string "abcdefghijklmnopqrstuvwxyz" + 0x221: 6b 6c 6d 6e 6f 70 71 72 73 74 | + 0x22b: 75 76 77 78 79 7a 00 | + diff --git a/p3-disas/tests/outputs/A_rodata_multi.diff b/p3-disas/tests/outputs/A_rodata_multi.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_rodata_multi.txt b/p3-disas/tests/outputs/A_rodata_multi.txt new file mode 100644 index 0000000..2ebe064 --- /dev/null +++ b/p3-disas/tests/outputs/A_rodata_multi.txt @@ -0,0 +1,6 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 66 6f 6f 00 | .string "foo" + 0x204: 77 30 30 74 00 | .string "w00t" + 0x209: 75 70 20 64 6f 77 6e 00 | .string "up down" + diff --git a/p3-disas/tests/outputs/A_rodata_shakespeare.diff b/p3-disas/tests/outputs/A_rodata_shakespeare.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_rodata_shakespeare.txt b/p3-disas/tests/outputs/A_rodata_shakespeare.txt new file mode 100644 index 0000000..553a78f --- /dev/null +++ b/p3-disas/tests/outputs/A_rodata_shakespeare.txt @@ -0,0 +1,20 @@ +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 54 6f 20 62 65 2c 20 6f 72 20 | .string "To be, or not to be: that is the question" + 0x20a: 6e 6f 74 20 74 6f 20 62 65 3a | + 0x214: 20 74 68 61 74 20 69 73 20 74 | + 0x21e: 68 65 20 71 75 65 73 74 69 6f | + 0x228: 6e 00 | + 0x22a: 57 68 61 74 27 73 20 69 6e 20 | .string "What's in a name? A rose by any other name would smell as sweet." + 0x234: 61 20 6e 61 6d 65 3f 20 41 20 | + 0x23e: 72 6f 73 65 20 62 79 20 61 6e | + 0x248: 79 20 6f 74 68 65 72 20 6e 61 | + 0x252: 6d 65 20 77 6f 75 6c 64 20 73 | + 0x25c: 6d 65 6c 6c 20 61 73 20 73 77 | + 0x266: 65 65 74 2e 00 | + 0x26b: 42 75 74 2c 20 66 6f 72 20 6d | .string "But, for my own part, it was Greek to me." + 0x275: 79 20 6f 77 6e 20 70 61 72 74 | + 0x27f: 2c 20 69 74 20 77 61 73 20 47 | + 0x289: 72 65 65 6b 20 74 6f 20 6d 65 | + 0x293: 2e 00 | + diff --git a/p3-disas/tests/outputs/A_unaligned1.diff b/p3-disas/tests/outputs/A_unaligned1.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_unaligned1.txt b/p3-disas/tests/outputs/A_unaligned1.txt new file mode 100644 index 0000000..4f16bfd --- /dev/null +++ b/p3-disas/tests/outputs/A_unaligned1.txt @@ -0,0 +1,26 @@ +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 18 01 00 00 00 00 00 00 | jmp 0x118 + + 0x118: | .pos 0x118 code + 0x118: | _start: + 0x118: 10 | nop + 0x119: 00 | halt + diff --git a/p3-disas/tests/outputs/A_unaligned2.diff b/p3-disas/tests/outputs/A_unaligned2.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/A_unaligned2.txt b/p3-disas/tests/outputs/A_unaligned2.txt new file mode 100644 index 0000000..6857997 --- /dev/null +++ b/p3-disas/tests/outputs/A_unaligned2.txt @@ -0,0 +1,29 @@ +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 55 05 00 00 00 00 00 00 | jmp 0x555 + + 0x555: | .pos 0x555 code + 0x555: | _start: + 0x555: 30 f0 4d 01 00 00 00 00 00 00 | irmovq 0x14d, %rax + 0x55f: 30 f3 de 00 00 00 00 00 00 00 | irmovq 0xde, %rbx + 0x569: 30 f1 6f 00 00 00 00 00 00 00 | irmovq 0x6f, %rcx + 0x573: 00 | halt + diff --git a/p3-disas/tests/outputs/B_iotrap.diff b/p3-disas/tests/outputs/B_iotrap.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_iotrap.txt b/p3-disas/tests/outputs/B_iotrap.txt new file mode 100644 index 0000000..f846789 --- /dev/null +++ b/p3-disas/tests/outputs/B_iotrap.txt @@ -0,0 +1,10 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: c0 | iotrap 0 + 0x101: c1 | iotrap 1 + 0x102: c2 | iotrap 2 + 0x103: c3 | iotrap 3 + 0x104: c4 | iotrap 4 + 0x105: c5 | iotrap 5 + diff --git a/p3-disas/tests/outputs/B_jmp.diff b/p3-disas/tests/outputs/B_jmp.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_jmp.txt b/p3-disas/tests/outputs/B_jmp.txt new file mode 100644 index 0000000..0a63de6 --- /dev/null +++ b/p3-disas/tests/outputs/B_jmp.txt @@ -0,0 +1,11 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 71 77 66 55 44 33 22 11 88 | jle 0x8811223344556677 + 0x112: 72 66 55 44 33 22 11 88 77 | jl 0x7788112233445566 + 0x11b: 73 55 44 33 22 11 88 77 66 | je 0x6677881122334455 + 0x124: 74 44 33 22 11 88 77 66 55 | jne 0x5566778811223344 + 0x12d: 75 33 22 11 88 77 66 55 44 | jge 0x4455667788112233 + 0x136: 76 22 11 88 77 66 55 44 33 | jg 0x3344556677881122 + diff --git a/p3-disas/tests/outputs/B_ninebyte.diff b/p3-disas/tests/outputs/B_ninebyte.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_ninebyte.txt b/p3-disas/tests/outputs/B_ninebyte.txt new file mode 100644 index 0000000..322463d --- /dev/null +++ b/p3-disas/tests/outputs/B_ninebyte.txt @@ -0,0 +1,6 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 80 11 22 33 44 55 66 77 88 | call 0x8877665544332211 + diff --git a/p3-disas/tests/outputs/B_simple.diff b/p3-disas/tests/outputs/B_simple.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_simple.txt b/p3-disas/tests/outputs/B_simple.txt new file mode 100644 index 0000000..243a57e --- /dev/null +++ b/p3-disas/tests/outputs/B_simple.txt @@ -0,0 +1,19 @@ +01 00 00 01 10 00 01 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 1 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0024 0x0017 0x0100 CODE R X +Contents of memory from 0100 to 0117: + 0100 30 f0 68 24 00 00 00 00 00 00 30 f3 34 12 00 00 + 0110 00 00 00 00 60 03 00 +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10a: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x114: 60 03 | addq %rax, %rbx + 0x116: 00 | halt + diff --git a/p3-disas/tests/outputs/B_simple_multi.diff b/p3-disas/tests/outputs/B_simple_multi.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_simple_multi.txt b/p3-disas/tests/outputs/B_simple_multi.txt new file mode 100644 index 0000000..6bd9226 --- /dev/null +++ b/p3-disas/tests/outputs/B_simple_multi.txt @@ -0,0 +1,17 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: 10 | nop + 0x101: 10 | nop + 0x102: 10 | nop + 0x103: | _start: + 0x103: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10d: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x117: 60 03 | addq %rax, %rbx + 0x119: 70 00 02 00 00 00 00 00 00 | jmp 0x200 + + 0x200: | .pos 0x200 code + 0x200: 30 f1 78 56 00 00 00 00 00 00 | irmovq 0x5678, %rcx + 0x20a: 30 f2 14 15 00 00 00 00 00 00 | irmovq 0x1514, %rdx + 0x214: 61 21 | subq %rdx, %rcx + 0x216: 00 | halt + diff --git a/p3-disas/tests/outputs/B_tenbyte.diff b/p3-disas/tests/outputs/B_tenbyte.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/B_tenbyte.txt b/p3-disas/tests/outputs/B_tenbyte.txt new file mode 100644 index 0000000..72d4b75 --- /dev/null +++ b/p3-disas/tests/outputs/B_tenbyte.txt @@ -0,0 +1,9 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 88 77 66 55 44 33 22 11 | irmovq 0x1122334455667788, %rax + 0x10a: 40 12 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321(%rdx) + 0x114: 50 12 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678(%rdx), %rcx + 0x11e: 40 1f 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321 + 0x128: 50 1f 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678, %rcx + diff --git a/p3-disas/tests/outputs/C_cmov.diff b/p3-disas/tests/outputs/C_cmov.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/C_cmov.txt b/p3-disas/tests/outputs/C_cmov.txt new file mode 100644 index 0000000..abf4b94 --- /dev/null +++ b/p3-disas/tests/outputs/C_cmov.txt @@ -0,0 +1,11 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 21 23 | cmovle %rdx, %rbx + 0x104: 22 45 | cmovl %rsp, %rbp + 0x106: 23 67 | cmove %rsi, %rdi + 0x108: 24 89 | cmovne %r8, %r9 + 0x10a: 25 ab | cmovge %r10, %r11 + 0x10c: 26 ce | cmovg %r12, %r14 + diff --git a/p3-disas/tests/outputs/C_help.diff b/p3-disas/tests/outputs/C_help.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/C_help.txt b/p3-disas/tests/outputs/C_help.txt new file mode 100644 index 0000000..d8cdcea --- /dev/null +++ b/p3-disas/tests/outputs/C_help.txt @@ -0,0 +1,11 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents diff --git a/p3-disas/tests/outputs/C_opq.diff b/p3-disas/tests/outputs/C_opq.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/C_opq.txt b/p3-disas/tests/outputs/C_opq.txt new file mode 100644 index 0000000..ee43e76 --- /dev/null +++ b/p3-disas/tests/outputs/C_opq.txt @@ -0,0 +1,8 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 60 23 | addq %rdx, %rbx + 0x102: 61 01 | subq %rax, %rcx + 0x104: 62 45 | andq %rsp, %rbp + 0x106: 63 67 | xorq %rsi, %rdi + diff --git a/p3-disas/tests/outputs/C_twobyte.diff b/p3-disas/tests/outputs/C_twobyte.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/C_twobyte.txt b/p3-disas/tests/outputs/C_twobyte.txt new file mode 100644 index 0000000..2960202 --- /dev/null +++ b/p3-disas/tests/outputs/C_twobyte.txt @@ -0,0 +1,8 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 60 23 | addq %rdx, %rbx + 0x104: a0 6f | pushq %rsi + 0x106: b0 7f | popq %rdi + diff --git a/p3-disas/tests/outputs/D_onebyte.diff b/p3-disas/tests/outputs/D_onebyte.diff new file mode 100644 index 0000000..e69de29 diff --git a/p3-disas/tests/outputs/D_onebyte.txt b/p3-disas/tests/outputs/D_onebyte.txt new file mode 100644 index 0000000..f77ec94 --- /dev/null +++ b/p3-disas/tests/outputs/D_onebyte.txt @@ -0,0 +1,7 @@ +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + 0x101: 10 | nop + 0x102: 90 | ret + diff --git a/p3-disas/tests/private.o b/p3-disas/tests/private.o new file mode 100644 index 0000000..492d544 Binary files /dev/null and b/p3-disas/tests/private.o differ diff --git a/p3-disas/tests/public.c b/p3-disas/tests/public.c new file mode 100644 index 0000000..3d7620b --- /dev/null +++ b/p3-disas/tests/public.c @@ -0,0 +1,148 @@ +#include +#include +#include + +#include + +#include "../p3-disas.h" + +#define testsuite_memsize 24 +uint8_t array[testsuite_memsize]; +byte_t *testsuite_memory = array; + +/* check HALT handling */ +START_TEST (D_fetch_halt) +{ + y86_t cpu; + uint8_t opcode = HALT << 4; + uint8_t opsize = 1; + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + memset (testsuite_memory, 0, testsuite_memsize); + memset (&cpu, 0, sizeof (cpu)); + testsuite_memory[cpu.pc] = opcode; + + y86_inst_t inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == HALT); + ck_assert (inst.ifun.b == 0); + ck_assert (inst.valP == cpu.pc + opsize); +} +END_TEST + +/* check NOP handling */ +START_TEST (D_fetch_nop) +{ + y86_t cpu; + uint8_t opcode = NOP << 4; + uint8_t opsize = 1; + memset (testsuite_memory, 0, testsuite_memsize); + memset (&cpu, 0, sizeof (cpu)); + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + testsuite_memory[cpu.pc] = opcode; + + y86_inst_t inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == NOP); + ck_assert (inst.ifun.b == 0); + ck_assert (inst.valP == cpu.pc + opsize); +} +END_TEST + +/* check RET handling */ +START_TEST (D_fetch_ret) +{ + y86_t cpu; + uint8_t opcode = RET << 4; + uint8_t opsize = 1; + memset (testsuite_memory, 0, testsuite_memsize); + memset (&cpu, 0, sizeof (cpu)); + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + testsuite_memory[cpu.pc] = opcode; + + y86_inst_t inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == RET); + ck_assert (inst.ifun.b == 0); + ck_assert (inst.valP == cpu.pc + opsize); +} +END_TEST + +/* check HALT handling w/ errors */ +START_TEST (D_errors_fetch_halt) +{ + y86_t cpu; + uint8_t opcode; + memset (&cpu, 0, sizeof (cpu)); + uint8_t i; + size_t opsize = 1; + + for (i = 1; i < 16; i++) + { + opcode = (HALT << 4) | i; // set low-order bits to non-zero + memset (testsuite_memory, 0, testsuite_memsize); + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + testsuite_memory[cpu.pc] = opcode; + cpu.stat = AOK; + y86_inst_t inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == INVALID); + ck_assert (cpu.stat == INS); + } +} +END_TEST + +/* check NOP handling w/ errors */ +START_TEST (D_errors_fetch_nop) +{ + y86_t cpu; + uint8_t opcode; + memset (&cpu, 0, sizeof (cpu)); + uint8_t i; + size_t opsize = 1; + + for (i = 1; i < 16; i++) + { + opcode = (NOP << 4) | i; // set low-order bits to non-zero + memset (testsuite_memory, 0, testsuite_memsize); + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + testsuite_memory[cpu.pc] = opcode; + cpu.stat = AOK; + y86_inst_t inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == INVALID); + ck_assert (cpu.stat == INS); + } +} +END_TEST + +/* check NOP handling w/ errors */ +START_TEST (D_errors_fetch_ret) +{ + y86_t cpu; + uint8_t opcode; + uint8_t opsize = 1; + uint8_t i; + y86_inst_t inst; + memset (testsuite_memory, 0, testsuite_memsize); + memset (&cpu, 0, sizeof (cpu)); + cpu.pc = (y86_reg_t) (rand () % (testsuite_memsize - opsize + 1)); + + for (i = 1; i < 16; i++) + { + opcode = (RET << 4) | i; // set low-order bits to non-zero + testsuite_memory[cpu.pc] = opcode; + cpu.stat = AOK; + inst = fetch (&cpu, testsuite_memory); + ck_assert (inst.icode == INVALID); + ck_assert (cpu.stat == INS); + } +} +END_TEST + +void public_tests (Suite *s) +{ + TCase *tc_public = tcase_create ("Public"); + tcase_add_test (tc_public, D_fetch_halt); + tcase_add_test (tc_public, D_fetch_nop); + tcase_add_test (tc_public, D_fetch_ret); + tcase_add_test (tc_public, D_errors_fetch_halt); + tcase_add_test (tc_public, D_errors_fetch_nop); + tcase_add_test (tc_public, D_errors_fetch_ret); + suite_add_tcase (s, tc_public); +} + diff --git a/p3-disas/tests/public.o b/p3-disas/tests/public.o new file mode 100644 index 0000000..23d5d9d Binary files /dev/null and b/p3-disas/tests/public.o differ diff --git a/p3-disas/tests/testsuite b/p3-disas/tests/testsuite new file mode 100644 index 0000000..5bf7ac5 Binary files /dev/null and b/p3-disas/tests/testsuite differ diff --git a/p3-disas/tests/testsuite.c b/p3-disas/tests/testsuite.c new file mode 100644 index 0000000..717c193 --- /dev/null +++ b/p3-disas/tests/testsuite.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include + +#include + +extern void public_tests (Suite *s); +extern void private_tests (Suite *s); + +Suite * test_suite (void) +{ + Suite *s = suite_create ("Default"); + public_tests (s); + private_tests (s); + return s; +} + +void run_testsuite (void) +{ + Suite *s = test_suite (); + SRunner *sr = srunner_create (s); + srunner_run_all (sr, CK_NORMAL); + srunner_free (sr); +} + +int main (void) +{ + srand((unsigned)time(NULL)); + run_testsuite (); + return EXIT_SUCCESS; +} diff --git a/p3-disas/tests/testsuite.o b/p3-disas/tests/testsuite.o new file mode 100644 index 0000000..1e1c8c9 Binary files /dev/null and b/p3-disas/tests/testsuite.o differ diff --git a/p3-disas/tests/utests.txt b/p3-disas/tests/utests.txt new file mode 100644 index 0000000..fde36ad --- /dev/null +++ b/p3-disas/tests/utests.txt @@ -0,0 +1,3 @@ +Running suite(s): Default +20 ff = 13 +100%: Checks: 34, Failures: 0, Errors: 0 diff --git a/p3-disas/tests/valgrind/A_bad_filename.txt b/p3-disas/tests/valgrind/A_bad_filename.txt new file mode 100644 index 0000000..595dc34 --- /dev/null +++ b/p3-disas/tests/valgrind/A_bad_filename.txt @@ -0,0 +1,15 @@ +==2061914== Memcheck, a memory error detector +==2061914== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061914== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061914== Command: ../y86 -d inputs/bad-nonexist.o +==2061914== +Failed to read file +==2061914== +==2061914== HEAP SUMMARY: +==2061914== in use at exit: 0 bytes in 0 blocks +==2061914== total heap usage: 2 allocs, 2 frees, 8,664 bytes allocated +==2061914== +==2061914== All heap blocks were freed -- no leaks are possible +==2061914== +==2061914== For lists of detected and suppressed errors, rerun with: -s +==2061914== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_bad_no_elf.txt b/p3-disas/tests/valgrind/A_bad_no_elf.txt new file mode 100644 index 0000000..d7a9623 --- /dev/null +++ b/p3-disas/tests/valgrind/A_bad_no_elf.txt @@ -0,0 +1,15 @@ +==2061781== Memcheck, a memory error detector +==2061781== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061781== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061781== Command: ../y86 -d inputs/bad-no_elf.o +==2061781== +Failed to read file +==2061781== +==2061781== HEAP SUMMARY: +==2061781== in use at exit: 0 bytes in 0 blocks +==2061781== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061781== +==2061781== All heap blocks were freed -- no leaks are possible +==2061781== +==2061781== For lists of detected and suppressed errors, rerun with: -s +==2061781== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_bad_phdr.txt b/p3-disas/tests/valgrind/A_bad_phdr.txt new file mode 100644 index 0000000..36e5d25 --- /dev/null +++ b/p3-disas/tests/valgrind/A_bad_phdr.txt @@ -0,0 +1,15 @@ +==2061802== Memcheck, a memory error detector +==2061802== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061802== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061802== Command: ../y86 -d inputs/bad-phdr.o +==2061802== +Failed to read file +==2061802== +==2061802== HEAP SUMMARY: +==2061802== in use at exit: 0 bytes in 0 blocks +==2061802== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061802== +==2061802== All heap blocks were freed -- no leaks are possible +==2061802== +==2061802== For lists of detected and suppressed errors, rerun with: -s +==2061802== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_bad_short_header.txt b/p3-disas/tests/valgrind/A_bad_short_header.txt new file mode 100644 index 0000000..fd80c36 --- /dev/null +++ b/p3-disas/tests/valgrind/A_bad_short_header.txt @@ -0,0 +1,15 @@ +==2061820== Memcheck, a memory error detector +==2061820== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061820== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061820== Command: ../y86 -d inputs/bad-short_header.o +==2061820== +Failed to read file +==2061820== +==2061820== HEAP SUMMARY: +==2061820== in use at exit: 0 bytes in 0 blocks +==2061820== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061820== +==2061820== All heap blocks were freed -- no leaks are possible +==2061820== +==2061820== For lists of detected and suppressed errors, rerun with: -s +==2061820== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_bad_short_phdr.txt b/p3-disas/tests/valgrind/A_bad_short_phdr.txt new file mode 100644 index 0000000..588ec96 --- /dev/null +++ b/p3-disas/tests/valgrind/A_bad_short_phdr.txt @@ -0,0 +1,15 @@ +==2061857== Memcheck, a memory error detector +==2061857== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061857== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061857== Command: ../y86 -d inputs/bad-short_phdr.o +==2061857== +Failed to read file +==2061857== +==2061857== HEAP SUMMARY: +==2061857== in use at exit: 0 bytes in 0 blocks +==2061857== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061857== +==2061857== All heap blocks were freed -- no leaks are possible +==2061857== +==2061857== For lists of detected and suppressed errors, rerun with: -s +==2061857== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_data.txt b/p3-disas/tests/valgrind/A_data.txt new file mode 100644 index 0000000..9ae5373 --- /dev/null +++ b/p3-disas/tests/valgrind/A_data.txt @@ -0,0 +1,20 @@ +==2061441== Memcheck, a memory error detector +==2061441== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061441== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061441== Command: ../y86 -D inputs/data.o +==2061441== +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 88 77 66 55 44 33 22 11 | .quad 0x1122334455667788 + 0x208: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + 0x210: 42 00 00 00 00 00 00 00 | .quad 0x42 + +==2061441== +==2061441== HEAP SUMMARY: +==2061441== in use at exit: 0 bytes in 0 blocks +==2061441== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061441== +==2061441== All heap blocks were freed -- no leaks are possible +==2061441== +==2061441== For lists of detected and suppressed errors, rerun with: -s +==2061441== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_data_code.txt b/p3-disas/tests/valgrind/A_data_code.txt new file mode 100644 index 0000000..c2ecc31 --- /dev/null +++ b/p3-disas/tests/valgrind/A_data_code.txt @@ -0,0 +1,19 @@ +==2061311== Memcheck, a memory error detector +==2061311== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061311== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061311== Command: ../y86 -d inputs/data.o +==2061311== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + +==2061311== +==2061311== HEAP SUMMARY: +==2061311== in use at exit: 0 bytes in 0 blocks +==2061311== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061311== +==2061311== All heap blocks were freed -- no leaks are possible +==2061311== +==2061311== For lists of detected and suppressed errors, rerun with: -s +==2061311== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_extra_params.txt b/p3-disas/tests/valgrind/A_extra_params.txt new file mode 100644 index 0000000..7327399 --- /dev/null +++ b/p3-disas/tests/valgrind/A_extra_params.txt @@ -0,0 +1,25 @@ +==2062039== Memcheck, a memory error detector +==2062039== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2062039== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2062039== Command: ../y86 -d inputs/onebyte.o extra params +==2062039== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents +==2062039== +==2062039== HEAP SUMMARY: +==2062039== in use at exit: 0 bytes in 0 blocks +==2062039== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2062039== +==2062039== All heap blocks were freed -- no leaks are possible +==2062039== +==2062039== For lists of detected and suppressed errors, rerun with: -s +==2062039== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_interleaved.txt b/p3-disas/tests/valgrind/A_interleaved.txt new file mode 100644 index 0000000..2187f88 --- /dev/null +++ b/p3-disas/tests/valgrind/A_interleaved.txt @@ -0,0 +1,36 @@ +==2061697== Memcheck, a memory error detector +==2061697== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061697== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061697== Command: ../y86 -d -D inputs/interleaved.o +==2061697== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + + 0x400: | .pos 0x400 code + 0x400: 10 | nop + 0x401: 00 | halt + +Disassembly of data contents: + 0x200: | .pos 0x200 data + 0x200: 10 00 00 00 00 00 00 00 | .quad 0x10 + + 0x300: | .pos 0x300 rodata + 0x300: 74 65 73 74 00 | .string "test" + + 0x500: | .pos 0x500 data + 0x500: 78 56 34 12 00 00 00 00 | .quad 0x12345678 + + 0x600: | .pos 0x600 rodata + 0x600: 61 67 61 69 6e 00 | .string "again" + +==2061697== +==2061697== HEAP SUMMARY: +==2061697== in use at exit: 0 bytes in 0 blocks +==2061697== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061697== +==2061697== All heap blocks were freed -- no leaks are possible +==2061697== +==2061697== For lists of detected and suppressed errors, rerun with: -s +==2061697== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_invalid.txt b/p3-disas/tests/valgrind/A_invalid.txt new file mode 100644 index 0000000..bc7af64 --- /dev/null +++ b/p3-disas/tests/valgrind/A_invalid.txt @@ -0,0 +1,20 @@ +==2061744== Memcheck, a memory error detector +==2061744== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061744== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061744== Command: ../y86 -d inputs/invalid.o +==2061744== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f3 0f 00 00 00 20 31 40 13 | irmovq 0x134031200000000f, %rbx +Invalid opcode: 0xfd + +==2061744== +==2061744== HEAP SUMMARY: +==2061744== in use at exit: 0 bytes in 0 blocks +==2061744== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061744== +==2061744== All heap blocks were freed -- no leaks are possible +==2061744== +==2061744== For lists of detected and suppressed errors, rerun with: -s +==2061744== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_missing_file.txt b/p3-disas/tests/valgrind/A_missing_file.txt new file mode 100644 index 0000000..e12054b --- /dev/null +++ b/p3-disas/tests/valgrind/A_missing_file.txt @@ -0,0 +1,25 @@ +==2061946== Memcheck, a memory error detector +==2061946== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061946== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061946== Command: ../y86 -d +==2061946== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents +==2061946== +==2061946== HEAP SUMMARY: +==2061946== in use at exit: 0 bytes in 0 blocks +==2061946== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2061946== +==2061946== All heap blocks were freed -- no leaks are possible +==2061946== +==2061946== For lists of detected and suppressed errors, rerun with: -s +==2061946== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_rodata.txt b/p3-disas/tests/valgrind/A_rodata.txt new file mode 100644 index 0000000..ddd3a53 --- /dev/null +++ b/p3-disas/tests/valgrind/A_rodata.txt @@ -0,0 +1,18 @@ +==2061510== Memcheck, a memory error detector +==2061510== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061510== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061510== Command: ../y86 -D inputs/rodata.o +==2061510== +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 68 65 6c 6c 6f 00 | .string "hello" + +==2061510== +==2061510== HEAP SUMMARY: +==2061510== in use at exit: 0 bytes in 0 blocks +==2061510== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061510== +==2061510== All heap blocks were freed -- no leaks are possible +==2061510== +==2061510== For lists of detected and suppressed errors, rerun with: -s +==2061510== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_rodata_code.txt b/p3-disas/tests/valgrind/A_rodata_code.txt new file mode 100644 index 0000000..8f01cae --- /dev/null +++ b/p3-disas/tests/valgrind/A_rodata_code.txt @@ -0,0 +1,19 @@ +==2061349== Memcheck, a memory error detector +==2061349== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061349== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061349== Command: ../y86 -d inputs/rodata.o +==2061349== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + +==2061349== +==2061349== HEAP SUMMARY: +==2061349== in use at exit: 0 bytes in 0 blocks +==2061349== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061349== +==2061349== All heap blocks were freed -- no leaks are possible +==2061349== +==2061349== For lists of detected and suppressed errors, rerun with: -s +==2061349== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_rodata_long.txt b/p3-disas/tests/valgrind/A_rodata_long.txt new file mode 100644 index 0000000..99947e5 --- /dev/null +++ b/p3-disas/tests/valgrind/A_rodata_long.txt @@ -0,0 +1,24 @@ +==2062146== Memcheck, a memory error detector +==2062146== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2062146== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2062146== Command: ../y86 -D inputs/rodata_long.o +==2062146== +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 30 31 32 33 34 35 36 37 38 39 | .string "0123456789" + 0x20a: 00 | + 0x20b: 68 65 6c 6c 6f 20 77 6f 72 6c | .string "hello world" + 0x215: 64 00 | + 0x217: 61 62 63 64 65 66 67 68 69 6a | .string "abcdefghijklmnopqrstuvwxyz" + 0x221: 6b 6c 6d 6e 6f 70 71 72 73 74 | + 0x22b: 75 76 77 78 79 7a 00 | + +==2062146== +==2062146== HEAP SUMMARY: +==2062146== in use at exit: 0 bytes in 0 blocks +==2062146== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2062146== +==2062146== All heap blocks were freed -- no leaks are possible +==2062146== +==2062146== For lists of detected and suppressed errors, rerun with: -s +==2062146== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_rodata_multi.txt b/p3-disas/tests/valgrind/A_rodata_multi.txt new file mode 100644 index 0000000..50e347f --- /dev/null +++ b/p3-disas/tests/valgrind/A_rodata_multi.txt @@ -0,0 +1,20 @@ +==2061670== Memcheck, a memory error detector +==2061670== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061670== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061670== Command: ../y86 -D inputs/rodata_multi.o +==2061670== +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 66 6f 6f 00 | .string "foo" + 0x204: 77 30 30 74 00 | .string "w00t" + 0x209: 75 70 20 64 6f 77 6e 00 | .string "up down" + +==2061670== +==2061670== HEAP SUMMARY: +==2061670== in use at exit: 0 bytes in 0 blocks +==2061670== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061670== +==2061670== All heap blocks were freed -- no leaks are possible +==2061670== +==2061670== For lists of detected and suppressed errors, rerun with: -s +==2061670== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_rodata_shakespeare.txt b/p3-disas/tests/valgrind/A_rodata_shakespeare.txt new file mode 100644 index 0000000..33aacc7 --- /dev/null +++ b/p3-disas/tests/valgrind/A_rodata_shakespeare.txt @@ -0,0 +1,34 @@ +==2062177== Memcheck, a memory error detector +==2062177== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2062177== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2062177== Command: ../y86 -D inputs/rodata_shakespeare.o +==2062177== +Disassembly of data contents: + 0x200: | .pos 0x200 rodata + 0x200: 54 6f 20 62 65 2c 20 6f 72 20 | .string "To be, or not to be: that is the question" + 0x20a: 6e 6f 74 20 74 6f 20 62 65 3a | + 0x214: 20 74 68 61 74 20 69 73 20 74 | + 0x21e: 68 65 20 71 75 65 73 74 69 6f | + 0x228: 6e 00 | + 0x22a: 57 68 61 74 27 73 20 69 6e 20 | .string "What's in a name? A rose by any other name would smell as sweet." + 0x234: 61 20 6e 61 6d 65 3f 20 41 20 | + 0x23e: 72 6f 73 65 20 62 79 20 61 6e | + 0x248: 79 20 6f 74 68 65 72 20 6e 61 | + 0x252: 6d 65 20 77 6f 75 6c 64 20 73 | + 0x25c: 6d 65 6c 6c 20 61 73 20 73 77 | + 0x266: 65 65 74 2e 00 | + 0x26b: 42 75 74 2c 20 66 6f 72 20 6d | .string "But, for my own part, it was Greek to me." + 0x275: 79 20 6f 77 6e 20 70 61 72 74 | + 0x27f: 2c 20 69 74 20 77 61 73 20 47 | + 0x289: 72 65 65 6b 20 74 6f 20 6d 65 | + 0x293: 2e 00 | + +==2062177== +==2062177== HEAP SUMMARY: +==2062177== in use at exit: 0 bytes in 0 blocks +==2062177== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2062177== +==2062177== All heap blocks were freed -- no leaks are possible +==2062177== +==2062177== For lists of detected and suppressed errors, rerun with: -s +==2062177== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_unaligned1.txt b/p3-disas/tests/valgrind/A_unaligned1.txt new file mode 100644 index 0000000..dc7d534 --- /dev/null +++ b/p3-disas/tests/valgrind/A_unaligned1.txt @@ -0,0 +1,40 @@ +==2062084== Memcheck, a memory error detector +==2062084== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2062084== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2062084== Command: ../y86 -a -d inputs/unaligned.o +==2062084== +01 00 18 01 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x118 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x0002 0x0118 CODE R X + 02 0x0057 0x0008 0x013a DATA RW +Contents of memory from 0000 to 0009: + 0000 70 18 01 00 00 00 00 00 00 +Contents of memory from 0118 to 011a: + 0110 10 00 +Contents of memory from 013a to 0142: + 0130 39 30 00 00 00 00 + 0140 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 18 01 00 00 00 00 00 00 | jmp 0x118 + + 0x118: | .pos 0x118 code + 0x118: | _start: + 0x118: 10 | nop + 0x119: 00 | halt + +==2062084== +==2062084== HEAP SUMMARY: +==2062084== in use at exit: 0 bytes in 0 blocks +==2062084== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2062084== +==2062084== All heap blocks were freed -- no leaks are possible +==2062084== +==2062084== For lists of detected and suppressed errors, rerun with: -s +==2062084== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/A_unaligned2.txt b/p3-disas/tests/valgrind/A_unaligned2.txt new file mode 100644 index 0000000..c5768ff --- /dev/null +++ b/p3-disas/tests/valgrind/A_unaligned2.txt @@ -0,0 +1,43 @@ +==2062113== Memcheck, a memory error detector +==2062113== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2062113== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2062113== Command: ../y86 -a -d inputs/unaligned2.o +==2062113== +01 00 55 05 10 00 03 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x555 +There are 3 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x004c 0x0009 0x0000 CODE R X + 01 0x0055 0x001f 0x0555 CODE R X + 02 0x0074 0x0008 0x0987 DATA RW +Contents of memory from 0000 to 0009: + 0000 70 55 05 00 00 00 00 00 00 +Contents of memory from 0555 to 0574: + 0550 30 f0 4d 01 00 00 00 00 00 00 30 + 0560 f3 de 00 00 00 00 00 00 00 30 f1 6f 00 00 00 00 + 0570 00 00 00 00 +Contents of memory from 0987 to 098f: + 0980 dd cc bb aa 00 00 00 00 +Disassembly of executable contents: + 0x000: | .pos 0x000 code + 0x000: 70 55 05 00 00 00 00 00 00 | jmp 0x555 + + 0x555: | .pos 0x555 code + 0x555: | _start: + 0x555: 30 f0 4d 01 00 00 00 00 00 00 | irmovq 0x14d, %rax + 0x55f: 30 f3 de 00 00 00 00 00 00 00 | irmovq 0xde, %rbx + 0x569: 30 f1 6f 00 00 00 00 00 00 00 | irmovq 0x6f, %rcx + 0x573: 00 | halt + +==2062113== +==2062113== HEAP SUMMARY: +==2062113== in use at exit: 0 bytes in 0 blocks +==2062113== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2062113== +==2062113== All heap blocks were freed -- no leaks are possible +==2062113== +==2062113== For lists of detected and suppressed errors, rerun with: -s +==2062113== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_iotrap.txt b/p3-disas/tests/valgrind/B_iotrap.txt new file mode 100644 index 0000000..3058acc --- /dev/null +++ b/p3-disas/tests/valgrind/B_iotrap.txt @@ -0,0 +1,24 @@ +==2061103== Memcheck, a memory error detector +==2061103== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061103== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061103== Command: ../y86 -d inputs/iotrap.o +==2061103== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: c0 | iotrap 0 + 0x101: c1 | iotrap 1 + 0x102: c2 | iotrap 2 + 0x103: c3 | iotrap 3 + 0x104: c4 | iotrap 4 + 0x105: c5 | iotrap 5 + +==2061103== +==2061103== HEAP SUMMARY: +==2061103== in use at exit: 0 bytes in 0 blocks +==2061103== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061103== +==2061103== All heap blocks were freed -- no leaks are possible +==2061103== +==2061103== For lists of detected and suppressed errors, rerun with: -s +==2061103== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_jmp.txt b/p3-disas/tests/valgrind/B_jmp.txt new file mode 100644 index 0000000..8feba32 --- /dev/null +++ b/p3-disas/tests/valgrind/B_jmp.txt @@ -0,0 +1,25 @@ +==2060908== Memcheck, a memory error detector +==2060908== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060908== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060908== Command: ../y86 -d inputs/jmp.o +==2060908== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 71 77 66 55 44 33 22 11 88 | jle 0x8811223344556677 + 0x112: 72 66 55 44 33 22 11 88 77 | jl 0x7788112233445566 + 0x11b: 73 55 44 33 22 11 88 77 66 | je 0x6677881122334455 + 0x124: 74 44 33 22 11 88 77 66 55 | jne 0x5566778811223344 + 0x12d: 75 33 22 11 88 77 66 55 44 | jge 0x4455667788112233 + 0x136: 76 22 11 88 77 66 55 44 33 | jg 0x3344556677881122 + +==2060908== +==2060908== HEAP SUMMARY: +==2060908== in use at exit: 0 bytes in 0 blocks +==2060908== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060908== +==2060908== All heap blocks were freed -- no leaks are possible +==2060908== +==2060908== For lists of detected and suppressed errors, rerun with: -s +==2060908== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_ninebyte.txt b/p3-disas/tests/valgrind/B_ninebyte.txt new file mode 100644 index 0000000..dfa8a3e --- /dev/null +++ b/p3-disas/tests/valgrind/B_ninebyte.txt @@ -0,0 +1,20 @@ +==2060882== Memcheck, a memory error detector +==2060882== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060882== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060882== Command: ../y86 -d inputs/ninebyte.o +==2060882== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 70 88 77 66 55 44 33 22 11 | jmp 0x1122334455667788 + 0x109: 80 11 22 33 44 55 66 77 88 | call 0x8877665544332211 + +==2060882== +==2060882== HEAP SUMMARY: +==2060882== in use at exit: 0 bytes in 0 blocks +==2060882== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060882== +==2060882== All heap blocks were freed -- no leaks are possible +==2060882== +==2060882== For lists of detected and suppressed errors, rerun with: -s +==2060882== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_simple.txt b/p3-disas/tests/valgrind/B_simple.txt new file mode 100644 index 0000000..e98d6e7 --- /dev/null +++ b/p3-disas/tests/valgrind/B_simple.txt @@ -0,0 +1,33 @@ +==2061005== Memcheck, a memory error detector +==2061005== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061005== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061005== Command: ../y86 -a -d inputs/simple.o +==2061005== +01 00 00 01 10 00 01 00 00 00 00 00 45 4c 46 00 +Mini-ELF version 1 +Entry point 0x100 +There are 1 program headers, starting at offset 16 (0x10) +There is no symbol table present +There is no string table present + Segment Offset Size VirtAddr Type Flags + 00 0x0024 0x0017 0x0100 CODE R X +Contents of memory from 0100 to 0117: + 0100 30 f0 68 24 00 00 00 00 00 00 30 f3 34 12 00 00 + 0110 00 00 00 00 60 03 00 +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10a: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x114: 60 03 | addq %rax, %rbx + 0x116: 00 | halt + +==2061005== +==2061005== HEAP SUMMARY: +==2061005== in use at exit: 0 bytes in 0 blocks +==2061005== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061005== +==2061005== All heap blocks were freed -- no leaks are possible +==2061005== +==2061005== For lists of detected and suppressed errors, rerun with: -s +==2061005== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_simple_multi.txt b/p3-disas/tests/valgrind/B_simple_multi.txt new file mode 100644 index 0000000..310f461 --- /dev/null +++ b/p3-disas/tests/valgrind/B_simple_multi.txt @@ -0,0 +1,31 @@ +==2061025== Memcheck, a memory error detector +==2061025== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2061025== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2061025== Command: ../y86 -d inputs/simple_multi.o +==2061025== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: 10 | nop + 0x101: 10 | nop + 0x102: 10 | nop + 0x103: | _start: + 0x103: 30 f0 68 24 00 00 00 00 00 00 | irmovq 0x2468, %rax + 0x10d: 30 f3 34 12 00 00 00 00 00 00 | irmovq 0x1234, %rbx + 0x117: 60 03 | addq %rax, %rbx + 0x119: 70 00 02 00 00 00 00 00 00 | jmp 0x200 + + 0x200: | .pos 0x200 code + 0x200: 30 f1 78 56 00 00 00 00 00 00 | irmovq 0x5678, %rcx + 0x20a: 30 f2 14 15 00 00 00 00 00 00 | irmovq 0x1514, %rdx + 0x214: 61 21 | subq %rdx, %rcx + 0x216: 00 | halt + +==2061025== +==2061025== HEAP SUMMARY: +==2061025== in use at exit: 0 bytes in 0 blocks +==2061025== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2061025== +==2061025== All heap blocks were freed -- no leaks are possible +==2061025== +==2061025== For lists of detected and suppressed errors, rerun with: -s +==2061025== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/B_tenbyte.txt b/p3-disas/tests/valgrind/B_tenbyte.txt new file mode 100644 index 0000000..2f6b38b --- /dev/null +++ b/p3-disas/tests/valgrind/B_tenbyte.txt @@ -0,0 +1,23 @@ +==2060938== Memcheck, a memory error detector +==2060938== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060938== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060938== Command: ../y86 -d inputs/tenbyte.o +==2060938== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 30 f0 88 77 66 55 44 33 22 11 | irmovq 0x1122334455667788, %rax + 0x10a: 40 12 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321(%rdx) + 0x114: 50 12 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678(%rdx), %rcx + 0x11e: 40 1f 21 43 65 87 78 56 34 12 | rmmovq %rcx, 0x1234567887654321 + 0x128: 50 1f 78 56 34 12 21 43 65 87 | mrmovq 0x8765432112345678, %rcx + +==2060938== +==2060938== HEAP SUMMARY: +==2060938== in use at exit: 0 bytes in 0 blocks +==2060938== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060938== +==2060938== All heap blocks were freed -- no leaks are possible +==2060938== +==2060938== For lists of detected and suppressed errors, rerun with: -s +==2060938== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/C_cmov.txt b/p3-disas/tests/valgrind/C_cmov.txt new file mode 100644 index 0000000..1fdca0b --- /dev/null +++ b/p3-disas/tests/valgrind/C_cmov.txt @@ -0,0 +1,25 @@ +==2060830== Memcheck, a memory error detector +==2060830== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060830== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060830== Command: ../y86 -d inputs/cmov.o +==2060830== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 21 23 | cmovle %rdx, %rbx + 0x104: 22 45 | cmovl %rsp, %rbp + 0x106: 23 67 | cmove %rsi, %rdi + 0x108: 24 89 | cmovne %r8, %r9 + 0x10a: 25 ab | cmovge %r10, %r11 + 0x10c: 26 ce | cmovg %r12, %r14 + +==2060830== +==2060830== HEAP SUMMARY: +==2060830== in use at exit: 0 bytes in 0 blocks +==2060830== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060830== +==2060830== All heap blocks were freed -- no leaks are possible +==2060830== +==2060830== For lists of detected and suppressed errors, rerun with: -s +==2060830== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/C_help.txt b/p3-disas/tests/valgrind/C_help.txt new file mode 100644 index 0000000..19a1f54 --- /dev/null +++ b/p3-disas/tests/valgrind/C_help.txt @@ -0,0 +1,25 @@ +==2060717== Memcheck, a memory error detector +==2060717== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060717== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060717== Command: ../y86 -h +==2060717== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents +==2060717== +==2060717== HEAP SUMMARY: +==2060717== in use at exit: 0 bytes in 0 blocks +==2060717== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==2060717== +==2060717== All heap blocks were freed -- no leaks are possible +==2060717== +==2060717== For lists of detected and suppressed errors, rerun with: -s +==2060717== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/C_opq.txt b/p3-disas/tests/valgrind/C_opq.txt new file mode 100644 index 0000000..cbe538e --- /dev/null +++ b/p3-disas/tests/valgrind/C_opq.txt @@ -0,0 +1,22 @@ +==2060854== Memcheck, a memory error detector +==2060854== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060854== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060854== Command: ../y86 -d inputs/opq.o +==2060854== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 60 23 | addq %rdx, %rbx + 0x102: 61 01 | subq %rax, %rcx + 0x104: 62 45 | andq %rsp, %rbp + 0x106: 63 67 | xorq %rsi, %rdi + +==2060854== +==2060854== HEAP SUMMARY: +==2060854== in use at exit: 0 bytes in 0 blocks +==2060854== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060854== +==2060854== All heap blocks were freed -- no leaks are possible +==2060854== +==2060854== For lists of detected and suppressed errors, rerun with: -s +==2060854== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/C_twobyte.txt b/p3-disas/tests/valgrind/C_twobyte.txt new file mode 100644 index 0000000..0a8e39b --- /dev/null +++ b/p3-disas/tests/valgrind/C_twobyte.txt @@ -0,0 +1,22 @@ +==2060757== Memcheck, a memory error detector +==2060757== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060757== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060757== Command: ../y86 -d inputs/twobyte.o +==2060757== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 20 01 | rrmovq %rax, %rcx + 0x102: 60 23 | addq %rdx, %rbx + 0x104: a0 6f | pushq %rsi + 0x106: b0 7f | popq %rdi + +==2060757== +==2060757== HEAP SUMMARY: +==2060757== in use at exit: 0 bytes in 0 blocks +==2060757== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060757== +==2060757== All heap blocks were freed -- no leaks are possible +==2060757== +==2060757== For lists of detected and suppressed errors, rerun with: -s +==2060757== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/tests/valgrind/D_onebyte.txt b/p3-disas/tests/valgrind/D_onebyte.txt new file mode 100644 index 0000000..153f11c --- /dev/null +++ b/p3-disas/tests/valgrind/D_onebyte.txt @@ -0,0 +1,21 @@ +==2060670== Memcheck, a memory error detector +==2060670== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==2060670== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==2060670== Command: ../y86 -d inputs/onebyte.o +==2060670== +Disassembly of executable contents: + 0x100: | .pos 0x100 code + 0x100: | _start: + 0x100: 00 | halt + 0x101: 10 | nop + 0x102: 90 | ret + +==2060670== +==2060670== HEAP SUMMARY: +==2060670== in use at exit: 0 bytes in 0 blocks +==2060670== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==2060670== +==2060670== All heap blocks were freed -- no leaks are possible +==2060670== +==2060670== For lists of detected and suppressed errors, rerun with: -s +==2060670== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p3-disas/y86 b/p3-disas/y86 new file mode 100644 index 0000000..909f9af Binary files /dev/null and b/p3-disas/y86 differ diff --git a/p3-disas/y86.h b/p3-disas/y86.h new file mode 100644 index 0000000..32c2464 --- /dev/null +++ b/p3-disas/y86.h @@ -0,0 +1,97 @@ +#ifndef __CS261_Y86__ +#define __CS261_Y86__ + +#include +#include + +#define VADDRBITS 12 +#define MEMSIZE (1 << VADDRBITS) +#define NUMREGS 15 + +/* type declarations */ +typedef uint8_t byte_t; // byte +typedef uint64_t y86_reg_t; // register +typedef uint64_t address_t; // address +typedef bool flag_t; // CPU flag + +/* possible CPU statuses */ +typedef enum { AOK = 1, HLT, ADR, INS } y86_stat_t; + +/* y86 CPU data storage structure */ +typedef struct y86 { + + y86_reg_t reg[NUMREGS]; // 64-bit general-purpose registers + + flag_t zf; // zero flag + flag_t sf; // negative flag + flag_t of; // overflow flag + + y86_reg_t pc; // program counter + + y86_stat_t stat; // program status + +} y86_t; + +/* These enums are specified to match the order of the numbers for all Y86 + instructions and operands. As such, they can be used as constants throughout + the code. */ +typedef enum { + HALT = 0, NOP, CMOV, IRMOVQ, RMMOVQ, MRMOVQ, OPQ, JUMP, CALL, RET, PUSHQ, + POPQ, IOTRAP, INVALID +} y86_icode_t; + +typedef enum { + RRMOVQ = 0, CMOVLE, CMOVL, CMOVE, CMOVNE, CMOVGE, CMOVG, BADCMOV +} y86_cmov_t; + +typedef enum { + ADD = 0, SUB, AND, XOR, BADOP +} y86_op_t; + +typedef enum { + JMP = 0, JLE, JL, JE, JNE, JGE, JG, BADJUMP +} y86_jump_t; + +typedef enum { + CHAROUT = 0, CHARIN, DECOUT, DECIN, STROUT, FLUSH, BADTRAP +} y86_iotrap_t; + +typedef enum { + RAX = 0, RCX, RDX, RBX, RSP, RBP, RSI, RDI, + R8, R9, R10, R11, R12, R13, R14, NOREG +} y86_regnum_t; + +/* Instruction storage structure; use the constants defined in enums above. + Comments reflect correlated information from y86 ISA sheet. See the sheet + for more details. */ +typedef struct y86_inst { + + // opcode (first byte) + + y86_icode_t icode; // high-order 4 bits of opcode (instruction code) + union { + int b; // low-order 4 bits of opcode (instruction function) + y86_cmov_t cmov; // (cmovXX only) + y86_op_t op; // (OPq only) + y86_jump_t jump; // (jXX only) + y86_iotrap_t trap; // (iotrap only) + } ifun; + + // registers (second byte, if present based on icode) + + y86_regnum_t ra; // rA (high-order 4 bits) + y86_regnum_t rb; // rB (low-order 4 bits) + + // valC (eight bytes, if present, starting at either second or third byte) + + union { + address_t dest; // Dest (jXX and call only) + int64_t v; // V (irmovq only) + int64_t d; // D (rmmovq and mrmovq only) + } valC; + + address_t valP; // valP (address of next instruction) + +} y86_inst_t; + +#endif diff --git a/p4-interp/.clang-format b/p4-interp/.clang-format new file mode 100644 index 0000000..62fb300 --- /dev/null +++ b/p4-interp/.clang-format @@ -0,0 +1,7 @@ +BasedOnStyle: LLVM +BreakBeforeBraces: Attach +IndentCaseLabels: true +IndentWidth: 4 +TabWidth: 4 +UseTab: Never +ColumnLimit: 80 \ No newline at end of file diff --git a/p4-interp/Makefile b/p4-interp/Makefile new file mode 100644 index 0000000..3061743 --- /dev/null +++ b/p4-interp/Makefile @@ -0,0 +1,51 @@ +# +# Simple Makefile +# Mike Lam, James Madison University, August 2016 +# +# This makefile builds a simple application that contains a main module +# (specified by the EXE variable) and a predefined list of additional modules +# (specified by the MODS variable). If there are any external library +# dependencies (e.g., the math library, "-lm"), list them in the LIBS variable. +# If there are any precompiled object files, list them in the OBJS variable. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=y86 +MODS=p4-interp.o +OBJS=p1-check.o p2-load.o p3-disas.o +LIBS= + +default: $(EXE) + +test: $(EXE) + TPREFIX=tests/ make -C tests test + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + + +# build targets + +$(EXE): main.o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(EXE) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -f $(EXE) main.o $(MODS) + make -C tests clean + +.PHONY: default clean + diff --git a/p4-interp/elf.h b/p4-interp/elf.h new file mode 100644 index 0000000..92d56bf --- /dev/null +++ b/p4-interp/elf.h @@ -0,0 +1,98 @@ +#ifndef __CS261_ELF__ +#define __CS261_ELF__ + +#include +#include + +#include "y86.h" + +/* + Mini-ELF file format (byte 0 = first byte of the file) + +----------------------------------------------+ + | header (elf_hdr_t) - 16 bytes | + +----------------------------------------------+ + | program headers (elf_phdr_t) - 20 bytes each | + +----------------------------------------------+ + | program segments - variable length of bytes | + +----------------------------------------------+ + | symbol table - each entry is 4 bytes each | + +----------------------------------------------+ + | string table - variable length of strings | + +----------------------------------------------+ + + ELF header structure: + +----------------------------------------------------------------------------+ + | 0 1 | 2 3 | 4 5 | 6 7 | 8 9 | 10 11 | 12 13 14 15 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + Sample ELF header (all entries in hex, format is little endian): + +----------------------------------------------------------------------------+ + | 01 00 | 00 01 | 10 00 | 05 00 | ac 00 | c2 00 | 45 4c 46 00 | + | version | entry | phdr | numphdr | symtab | strtab | magic number | + +----------------------------------------------------------------------------+ + + version = 0x0001 entry = 0x0100 phdr = 0x0010 numphdr = 0x0005 + symtab = 0x00ac strtab = 0x00c2 magic = "ELF\0" + + Interpretation: + This file was created under version 1 of this format. When the program is + loaded into memory, the instruct at address 0x100 (256) will be executed + first. The first program header (which indicates segments in this file) + starts at offset 0x10 (16) into the file, and there are 5 program headers + total. The symbol table starts at offset 0xac (172) into this file, and the + string table starts at offset 0xc2 (194). The magic number is the string + "ELF\0" and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf { + uint16_t e_version; /* version should be 1 */ + uint16_t e_entry; /* entry point of program */ + uint16_t e_phdr_start; /* start of program headers */ + uint16_t e_num_phdr; /* number of program headers */ + uint16_t e_symtab; /* start of symbol table */ + uint16_t e_strtab; /* start of string table */ + uint32_t magic; /* ELF */ +} elf_hdr_t; + +typedef enum { + DATA, CODE, STACK, HEAP, UNKNOWN +} elf_segtype_t; + +/* + ELF program header structure (describing segments): + +-----------------------------------------------------------------------+ + | 0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 | 14 15 | 16 17 18 19 | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + Flags store segment permissions as RWX (read/write/execute) in binary. + Examples: 100 (binary) = 4 (decimal/hex) = read-only (R ) + 101 (binary) = 5 (decimal/hex) = read-execute (R X) + 110 (binary) = 6 (decimal/hex) = read-write (RW ) + + Sample ELF program header (all entries in hex, format is little endian): + +-----------------------------------------------------------------------+ + | 74 00 00 00 | 12 00 00 00 | 00 01 00 00 | 01 00 | 05 00 | ef be ad de | + | offset | size | virt addr | type | flags | magic number| + +-----------------------------------------------------------------------+ + + offset = 0x00000074 size = 0x00000012 virt addr = 0x00000100 + type = 0x0001 (CODE) flags = 0x0005 (RX) magic = 0xDEADBEEF + + Interpretation: + The segment starts at offset 0x74 (116) in the file, and it is 0x12 (18) + bytes in size. It will be loaded into memory address 0x100 (256). Since it + is a CODE segment, it needs to have read-execute (RX) permissions attached. + The magic number is the value 0xDEADBEEF and is for error checking. +*/ +typedef struct __attribute__((__packed__)) elf_phdr { + uint32_t p_offset; /* beginning of the segment in the file (in bytes) */ + uint32_t p_size; /* number of bytes in the segment */ + uint32_t p_vaddr; /* intended virtual address of the beginning of + the segment in a running program's memory */ + uint16_t p_type; /* segment type (e.g., code, data, etc.) */ + uint16_t p_flags; /* permissions flags */ + uint32_t magic; /* DEADBEEF */ +} elf_phdr_t; + +#endif diff --git a/p4-interp/main.c b/p4-interp/main.c new file mode 100644 index 0000000..45f4cc3 --- /dev/null +++ b/p4-interp/main.c @@ -0,0 +1,246 @@ +/* + * CS 261: Main driver + * + * Name: Nicholas Tamassia + * + * This code was developed in compliance with the JMU honor code + */ + +#include "p1-check.h" +#include "p2-load.h" +#include "p3-disas.h" +#include "p4-interp.h" + +/* + * helper function for printing help text + */ +void usage(char **argv) { + printf("Usage: %s mini-elf-file\n", argv[0]); + printf(" Options are:\n"); + printf(" -h Display usage\n"); + printf(" -H Show the Mini-ELF header\n"); + printf(" -a Show all with brief memory\n"); + printf(" -f Show all with full memory\n"); + printf(" -s Show the program headers\n"); + printf(" -m Show the memory contents (brief)\n"); + printf(" -M Show the memory contents (full)\n"); + printf(" -d Disassemble code contents\n"); + printf(" -D Disassemble data contents\n"); + printf(" -e Execute program\n"); + printf(" -E Execute program (trace mode)\n"); +} + +void exit_file_error(FILE *file) { + if (file) { + fclose(file); + } + + printf("Failed to read file\n"); + exit(EXIT_FAILURE); +} + +void execute_y86(y86_t *cpu, byte_t *memory, bool trace) { + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + + printf("Beginning execution at 0x%04lx\n", cpu->pc); + + /* Dump initial state of cpu */ + if (trace) { + dump_cpu_state(cpu); + } + + int execution_count = 0; + + while (cpu->stat == AOK) { + y86_inst_t inst = fetch(cpu, memory); + + if (cpu->stat == ADR || cpu->stat == INS) { + if (trace) { + printf("\nInvalid instruction at 0x%04lx\n", cpu->pc); + } + break; + } + + if (trace) { + printf("\nExecuting: "); + disassemble(&inst); + printf("\n"); + } + + valE = decode_execute(cpu, &inst, &cnd, &valA); + memory_wb_pc(cpu, &inst, memory, cnd, valA, valE); + + if (inst.icode == IOTRAP && cpu->stat == HLT) { + printf("I/O Error\n"); + } + + if (trace && cpu->stat == AOK) { + dump_cpu_state(cpu); + } + + execution_count++; + } + + /* Final state of the cpu */ + dump_cpu_state(cpu); + + printf("Total execution count: %d\n", execution_count); + + if (trace) { + printf("\n"); + dump_memory(memory, 0, MEMSIZE); + } +} + +int main(int argc, char **argv) { + int c; + bool show_elf_header = false; + bool show_program_header = false; + bool show_memory_brief = false; + bool show_memory_full = false; + bool show_code = false; + bool show_data = false; + bool execute_default = false; + bool execute_trace = false; + + while ((c = getopt(argc, argv, "hHafsmMdDeE")) != -1) { + switch (c) { + case 'h': + usage(argv); + return EXIT_SUCCESS; + case 'H': + show_elf_header = true; + break; + case 'a': + show_elf_header = true; + show_program_header = true; + show_memory_brief = true; + break; + case 'f': + show_elf_header = true; + show_program_header = true; + show_memory_full = true; + break; + case 's': + show_program_header = true; + break; + case 'm': + show_memory_brief = true; + break; + case 'M': + show_memory_full = true; + break; + case 'd': + show_code = true; + break; + case 'D': + show_data = true; + break; + case 'e': + execute_default = true; + break; + case 'E': + execute_trace = true; + break; + default: + usage(argv); + return EXIT_FAILURE; + } + } + + /* File path was not the last argument */ + bool invalid_arguments = optind != argc - 1; + /* Attempted to ask for brief and full memory at same time */ + bool memory_flag_conflict = show_memory_brief && show_memory_full; + /* Attempted to execute program in both default and trace mode */ + bool execute_flag_conflict = execute_default && execute_trace; + + if (invalid_arguments || memory_flag_conflict || execute_flag_conflict) { + usage(argv); + return EXIT_FAILURE; + } + + elf_hdr_t header = {0}; + FILE *header_file = fopen(argv[optind], "r"); + + /* Read contents of header_file into header */ + if (!read_header(header_file, &header)) { + exit_file_error(header_file); + } + + if (show_elf_header) { + dump_header(&header); + } + + elf_phdr_t phdrs[header.e_num_phdr]; + memset(phdrs, 0, sizeof(phdrs)); + + /* Read program headers into phdrs array */ + for (int i = 0; i < header.e_num_phdr; i++) { + uint16_t offset = header.e_phdr_start + i * sizeof(elf_phdr_t); + if (!read_phdr(header_file, offset, &phdrs[i])) { + exit_file_error(header_file); + } + } + + if (show_program_header) { + dump_phdrs(header.e_num_phdr, phdrs); + } + + byte_t memory[MEMSIZE]; + memset(memory, 0, MEMSIZE); + + /* Read memory segments into memory array */ + for (int i = 0; i < header.e_num_phdr; i++) { + if (!load_segment(header_file, memory, &phdrs[i])) { + exit_file_error(header_file); + } + } + + fclose(header_file); + + if (show_memory_brief) { + for (int i = 0; i < header.e_num_phdr; i++) { + uint32_t start = phdrs[i].p_vaddr; + uint32_t end = start + phdrs[i].p_size; + + dump_memory(memory, start, end); + } + } else if (show_memory_full) { + dump_memory(memory, 0, MEMSIZE); + } + + if (show_code) { + printf("Disassembly of executable contents:\n"); + + for (int i = 0; i < header.e_num_phdr; i++) { + if (phdrs[i].p_type == CODE) { + disassemble_code(memory, &phdrs[i], &header); + } + } + } + + if (show_data) { + printf("Disassembly of data contents:\n"); + + for (int i = 0; i < header.e_num_phdr; i++) { + if (phdrs[i].p_type == DATA && phdrs[i].p_flags == 4) { + disassemble_rodata(memory, &phdrs[i]); + } else if (phdrs[i].p_type == DATA) { + disassemble_data(memory, &phdrs[i]); + } + } + } + + if (execute_default || execute_trace) { + y86_t cpu = {0}; + cpu.stat = AOK; + cpu.pc = header.e_entry; + + execute_y86(&cpu, memory, execute_trace); + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/p4-interp/main.o b/p4-interp/main.o new file mode 100644 index 0000000..5812569 Binary files /dev/null and b/p4-interp/main.o differ diff --git a/p4-interp/p1-check.h b/p4-interp/p1-check.h new file mode 100644 index 0000000..5ce84e9 --- /dev/null +++ b/p4-interp/p1-check.h @@ -0,0 +1,29 @@ +#ifndef __CS261_P1__ +#define __CS261_P1__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" + +/** + * @brief Load a Mini-ELF header from an open file stream + * + * @param file File stream to use for input + * @param hdr Pointer to region where the Mini-ELF header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_header (FILE *file, elf_hdr_t *hdr); + +/** + * @brief Print Mini-ELF header information to standard out + * + * @param hdr Header with info to print + */ +void dump_header (elf_hdr_t *hdr); + +#endif diff --git a/p4-interp/p1-check.o b/p4-interp/p1-check.o new file mode 100644 index 0000000..a943a48 Binary files /dev/null and b/p4-interp/p1-check.o differ diff --git a/p4-interp/p2-load.h b/p4-interp/p2-load.h new file mode 100644 index 0000000..e15cfa7 --- /dev/null +++ b/p4-interp/p2-load.h @@ -0,0 +1,52 @@ +#ifndef __CS261_P2__ +#define __CS261_P2__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Load a Mini-ELF program header from an open file stream + * + * @param file File stream to use for input + * @param offset Byte offset in file where the program header is located + * @param phdr Pointer to memory where the Mini-ELF program header should be loaded + * @returns True if the header was successfully loaded and verified, false otherwise + */ +bool read_phdr (FILE *file, uint16_t offset, elf_phdr_t *phdr); + +/** + * @brief Load a Mini-ELF program segment from an open file stream + * + * @param file File stream to use for input + * @param memory Pointer to the beginning of the Y86 address space into which + * the segment should be loaded + * @param phdr Pointer to the program header for the segment that should be loaded + * @returns True if the segment was successfully loaded, false otherwise + */ +bool load_segment (FILE *file, byte_t *memory, elf_phdr_t *phdr); + +/** + * @brief Print Mini-ELF program header information to standard out + * + * @param numphdrs Number of program headers to print + * @param phdrs Pointer to array of program headers with info to print + */ +void dump_phdrs (uint16_t numphdrs, elf_phdr_t *phdrs); + +/** + * @brief Print a portion of a Y86 address space + * + * @param memory Pointer to the beginning of the Y86 address space + * @param start Byte offset where printing should begin + * @param end Byte offset where printing should end + */ +void dump_memory (byte_t *memory, uint16_t start, uint16_t end); + +#endif diff --git a/p4-interp/p2-load.o b/p4-interp/p2-load.o new file mode 100644 index 0000000..657b810 Binary files /dev/null and b/p4-interp/p2-load.o differ diff --git a/p4-interp/p3-disas.h b/p4-interp/p3-disas.h new file mode 100644 index 0000000..116ac49 --- /dev/null +++ b/p4-interp/p3-disas.h @@ -0,0 +1,55 @@ +#ifndef __CS261_P3__ +#define __CS261_P3__ + +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Load a Y86 instruction from memory + * + * @param cpu Pointer to Y86 CPU structure with the PC address to be loaded + * @param memory Pointer to the beginning of the Y86 address space + * @returns Populated Y86 instruction structure + */ +y86_inst_t fetch (y86_t *cpu, byte_t *memory); + +/** + * @brief Print the disassembly of a Y86 instruction to standard out + * + * @param inst Pointer to Y86 instruction structure to be printed + */ +void disassemble (y86_inst_t *inst); + +/** + * @brief Print the disassembly of a Y86 code segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + * @param hdr File header (needed to detect the entry point) + */ +void disassemble_code (byte_t *memory, elf_phdr_t *phdr, elf_hdr_t *hdr); + +/** + * @brief Print the disassembly of a Y86 read/write data segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + */ +void disassemble_data (byte_t *memory, elf_phdr_t *phdr); + +/** + * @brief Print the disassembly of a Y86 read-only data segment + * + * @param memory Pointer to the beginning of the Y86 address space + * @param phdr Program header of segment to be printed + */ +void disassemble_rodata (byte_t *memory, elf_phdr_t *phdr); + +#endif diff --git a/p4-interp/p3-disas.o b/p4-interp/p3-disas.o new file mode 100644 index 0000000..b890251 Binary files /dev/null and b/p4-interp/p3-disas.o differ diff --git a/p4-interp/p4-interp.c b/p4-interp/p4-interp.c new file mode 100644 index 0000000..6fa69ea --- /dev/null +++ b/p4-interp/p4-interp.c @@ -0,0 +1,355 @@ +/* + * CS 261 PA4: Mini-ELF interpreter + * + * Name: Nicholas Tamassia + * + * This code was developed in compliance with the JMU honor code + */ + +#include "p4-interp.h" + +/********************************************************************** + * REQUIRED FUNCTIONS + *********************************************************************/ + +bool cmov_cond(y86_t *cpu, y86_cmov_t ifun); + +bool cmov_cond(y86_t *cpu, y86_cmov_t ifun) { + bool equals = cpu->zf; + bool less_than = cpu->sf != cpu->of; + + switch (ifun) { + case RRMOVQ: + return true; + case CMOVLE: + return less_than || equals; + case CMOVL: + return less_than && !equals; + case CMOVE: + return equals; + case CMOVNE: + return !equals; + case CMOVGE: + return !less_than || equals; + case CMOVG: + return !less_than && !equals; + case BADCMOV: + default: + cpu->stat = INS; + return false; + } +} + +int64_t OP(y86_t *cpu, y86_op_t ifun, int64_t valA, int64_t valB); + +int64_t OP(y86_t *cpu, y86_op_t ifun, int64_t valA, int64_t valB) { + int64_t result = 0; + + switch (ifun) { + case ADD: + result = valA + valB; + cpu->of = ((valA > 0 && valB > 0 && result < 0) || + (valA < 0 && valB < 0 && result > 0)); + break; + case SUB: + result = valB - valA; + cpu->of = ((valA < 0 && valB > 0 && result < 0) || + (valA > 0 && valB < 0 && result > 0)); + break; + case AND: + result = valA & valB; + cpu->of = false; + break; + case XOR: + result = valA ^ valB; + cpu->of = false; + break; + case BADOP: + default: + cpu->stat = INS; + return 0; + } + + cpu->sf = result < 0; + cpu->zf = result == 0; + return result; +} + +bool jmp_cond(y86_t *cpu, y86_jump_t ifun); + +bool jmp_cond(y86_t *cpu, y86_jump_t ifun) { + bool equals = cpu->zf; + bool less_than = cpu->sf != cpu->of; + + switch (ifun) { + case JMP: + return true; + case JLE: + return less_than || equals; + case JL: + return less_than && !equals; + case JE: + return equals; + case JNE: + return !equals; + case JGE: + return !less_than || equals; + case JG: + return !less_than && !equals; + case BADJUMP: + default: + cpu->stat = INS; + return false; + } +} + +y86_reg_t decode_execute(y86_t *cpu, y86_inst_t *inst, bool *cnd, + y86_reg_t *valA) { + + y86_reg_t valE = 0; + + if (cpu == NULL) { + return valE; + } + + if (inst == NULL || cnd == NULL || valA == NULL) { + cpu->stat = INS; + return valE; + } + + switch (inst->icode) { + case HALT: + cpu->stat = HLT; + break; + case NOP: + break; + case CMOV: + *valA = cpu->reg[inst->ra]; + valE = *valA; + *cnd = cmov_cond(cpu, inst->ifun.cmov); + break; + case IRMOVQ: + valE = inst->valC.v; + break; + case RMMOVQ: + *valA = cpu->reg[inst->ra]; + valE = cpu->reg[inst->rb] + inst->valC.d; + break; + case MRMOVQ: + valE = cpu->reg[inst->rb] + inst->valC.d; + break; + case OPQ: + *valA = cpu->reg[inst->ra]; + valE = OP(cpu, inst->ifun.op, *valA, cpu->reg[inst->rb]); + break; + case JUMP: + *cnd = jmp_cond(cpu, inst->ifun.jump); + break; + case CALL: + valE = cpu->reg[RSP] - 8; + break; + case PUSHQ: + *valA = cpu->reg[inst->ra]; + valE = cpu->reg[RSP] - 8; + break; + case POPQ: + case RET: + *valA = cpu->reg[RSP]; + valE = cpu->reg[RSP] + 8; + break; + case IOTRAP: + break; + case INVALID: + default: + cpu->stat = INS; + break; + } + + return valE; +} + +bool validate_address(y86_reg_t dest_address, size_t size, y86_t *cpu); + +bool validate_address(y86_reg_t dest_address, size_t size, y86_t *cpu) { + bool valid = dest_address <= MEMSIZE - size; + if (!valid) { + cpu->stat = ADR; + } + return valid; +} + +char buffer[100]; +int buffer_offset = 0; + +void iotrap(y86_t *cpu, y86_iotrap_t ifun, byte_t *memory); + +void iotrap(y86_t *cpu, y86_iotrap_t ifun, byte_t *memory) { + int64_t dec = 0; + y86_reg_t rdi = cpu->reg[RDI]; + y86_reg_t rsi = cpu->reg[RSI]; + + char *start = buffer + buffer_offset; + size_t space = sizeof(buffer) - buffer_offset; + + switch (ifun) { + case CHAROUT: + if (validate_address(rsi, 1, cpu)) { + buffer[buffer_offset++] = memory[rsi]; + } + break; + case CHARIN: + if (validate_address(rdi, 1, cpu) && + scanf("%c", memory + rdi) <= 0) { + cpu->stat = HLT; + } + break; + case DECOUT: + if (validate_address(rsi, sizeof(dec), cpu)) { + memcpy(&dec, memory + rsi, sizeof(dec)); + buffer_offset += snprintf(start, space, "%ld", dec); + } + break; + case DECIN: + if (!validate_address(rdi, sizeof(dec), cpu)) { + break; + } + + if (scanf("%ld", &dec) <= 0) { + cpu->stat = HLT; + } else { + memcpy(memory + rdi, &dec, sizeof(dec)); + } + break; + case STROUT: + if (validate_address(rsi, 1, cpu)) { + buffer_offset += snprintf(start, space, "%s", memory + rsi); + } + break; + case FLUSH: + printf("%s", buffer); + memset(buffer, 0, sizeof(buffer)); + buffer_offset = 0; + break; + case BADTRAP: + default: + cpu->stat = INS; + break; + } +} + +void memory_wb_pc(y86_t *cpu, y86_inst_t *inst, byte_t *memory, bool cnd, + y86_reg_t valA, y86_reg_t valE) { + + if (cpu == NULL) { + return; + } + + if (inst == NULL || memory == NULL) { + cpu->stat = INS; + return; + } + + y86_reg_t *RA = &cpu->reg[inst->ra]; + y86_reg_t *RB = &cpu->reg[inst->rb]; + + switch (inst->icode) { + case HALT: + case NOP: + cpu->pc = inst->valP; + break; + case CMOV: + if (cnd) { + *RB = valE; + } + cpu->pc = inst->valP; + break; + case IRMOVQ: + case OPQ: + *RB = valE; + cpu->pc = inst->valP; + break; + case RMMOVQ: + if (validate_address(valE, sizeof(valA), cpu)) { + memcpy(memory + valE, &valA, sizeof(valA)); + } + cpu->pc = inst->valP; + break; + case MRMOVQ: + if (validate_address(valE, sizeof(*RA), cpu)) { + memcpy(RA, memory + valE, sizeof(*RA)); + } + cpu->pc = inst->valP; + break; + case JUMP: + cpu->pc = cnd ? inst->valC.dest : inst->valP; + break; + case CALL: + if (validate_address(valE, sizeof(inst->valP), cpu)) { + memcpy(memory + valE, &inst->valP, sizeof(inst->valP)); + cpu->reg[RSP] = valE; + } + cpu->pc = inst->valC.dest; + break; + case RET: + if (validate_address(valA, sizeof(cpu->pc), cpu)) { + memcpy(&cpu->pc, memory + valA, sizeof(cpu->pc)); + cpu->reg[RSP] = valE; + } + break; + case PUSHQ: + if (validate_address(valE, sizeof(valA), cpu)) { + memcpy(memory + valE, &valA, sizeof(valA)); + cpu->reg[RSP] = valE; + } + cpu->pc = inst->valP; + break; + case POPQ: + if (validate_address(valA, sizeof(*RA), cpu)) { + memcpy(RA, memory + valA, sizeof(*RA)); + cpu->reg[RSP] = valE; + } + cpu->pc = inst->valP; + break; + case IOTRAP: + iotrap(cpu, inst->ifun.trap, memory); + cpu->pc = inst->valP; + break; + case INVALID: + default: + break; + } +} + +/********************************************************************** + * OPTIONAL FUNCTIONS + *********************************************************************/ + +const char *registers[] = {"rax", "rcx", "rdx", "rbx", "rsp", + "rbp", "rsi", "rdi", "r8", "r9", + "r10", "r11", "r12", "r13", "r14"}; + +const char *status_codes[] = {"INVALID", "AOK", "HLT", "ADR", "INS"}; + +void dump_cpu_state(y86_t *cpu) { + printf("Y86 CPU state:\n"); + + char buffer[50]; + + snprintf(buffer, sizeof(buffer), "PC: %016lx", cpu->pc); + + printf("%24s", buffer); + + snprintf(buffer, sizeof(buffer), "flags: Z%d S%d O%d %3s", cpu->zf, + cpu->sf, cpu->of, status_codes[cpu->stat]); + + printf(" %24s\n", buffer); + + for (int i = 0; i < NUMREGS; i++) { + snprintf(buffer, sizeof(buffer), "%%%s: %016lx", registers[i], + cpu->reg[i]); + + printf("%24s", buffer); + + printf((i % 2 == 0 && i < NUMREGS - 1) ? " " : "\n"); + } +} diff --git a/p4-interp/p4-interp.h b/p4-interp/p4-interp.h new file mode 100644 index 0000000..de136f9 --- /dev/null +++ b/p4-interp/p4-interp.h @@ -0,0 +1,47 @@ +#ifndef __CS261_P4__ +#define __CS261_P4__ + +#include +#include +#include +#include +#include +#include +#include + +#include "elf.h" +#include "y86.h" + +/** + * @brief Read register values and execute ALU operation + * + * @param cpu Y86 CPU structure + * @param inst Y86 instruction structure for currently-executing instruction + * @param cnd Pointer to boolean flag to be set for conditional jumps and moves + * @param valA Pointer to Y86 register for passing valA to later stages + * @returns Result of execute phase (valE) + */ +y86_reg_t decode_execute (y86_t *cpu, y86_inst_t *inst, bool *cnd, y86_reg_t *valA); + +/** + * @brief Perform any memory read/write, write register values, and update the PC + * + * @param cpu Y86 CPU structure + * @param inst Y86 instruction structure for currently-executing instruction + * @param memory Pointer to beginning of the Y86 address space + * @param cnd Flag that indicates whether a conditional jumps or move should happen + * @param valA Register with valA from earlier stages + * @param valE Register with valE from earlier stages + */ + +void memory_wb_pc (y86_t *cpu, y86_inst_t *inst, byte_t *memory, + bool cnd, y86_reg_t valA, y86_reg_t valE); + +/** + * @brief Print info about a Y86 CPU to standard out + * + * @param cpu Pointer to Y86 CPU structure to print + */ +void dump_cpu_state (y86_t *cpu); + +#endif diff --git a/p4-interp/p4-interp.o b/p4-interp/p4-interp.o new file mode 100644 index 0000000..3aab9c7 Binary files /dev/null and b/p4-interp/p4-interp.o differ diff --git a/p4-interp/tests/Makefile b/p4-interp/tests/Makefile new file mode 100644 index 0000000..4ccd4e1 --- /dev/null +++ b/p4-interp/tests/Makefile @@ -0,0 +1,81 @@ +# +# Simple Test Makefile +# Mike Lam, James Madison University, August 2016 +# +# This version of the Makefile includes support for building a test suite. The +# recommended framework is Check (http://check.sourceforge.net/). To build and +# run the test suite, execute the "test" target. The test suite must be located +# in a module called "testsuite". The MODS, LIBS, and OBJS variables work as +# they do in the main Makefile. +# +# To change the default build target (which executes when you just type +# "make"), change the right-hand side of the definition of the "default" +# target. +# +# By default, this makefile will build the project with debugging symbols and +# without optimization. To change this, edit or remove the "-g" and "-O0" +# options in CFLAGS and LDFLAGS accordingly. +# +# By default, this makefile build the application using the GNU C compiler, +# adhering to the C99 standard with all warnings enabled. + + +# application-specific settings and run target + +EXE=../y86 +TEST=testsuite +MODS=public.o +OBJS=../p1-check.o ../p2-load.o ../p3-disas.o ../p4-interp.o private.o +LIBS= + +UTESTOUT=utests.txt +ITESTOUT=itests.txt + +default: $(TEST) + +$(EXE): + make -C ../ + +test: utest itest + @echo "========================================" + +utest: $(EXE) $(TEST) + @echo "========================================" + @echo " UNIT TESTS" + @./$(TEST) 2>/dev/null >$(UTESTOUT) + @cat $(UTESTOUT) | sed -n -e '/Checks/,$$p' | sed -e 's/^private.*:[EF]://g' + +itest: $(EXE) + @echo "========================================" + @echo " INTEGRATION TESTS" + @./integration.sh | tee $(ITESTOUT) + + +# compiler/linker settings + +CC=gcc +CFLAGS=-g -O0 -Wall --std=c99 -pedantic +LDFLAGS=-g -O0 + +CFLAGS+=-I/opt/homebrew/include -Wno-gnu-zero-variadic-macro-arguments +LDFLAGS+=-L/opt/homebrew/lib +LIBS+=-lcheck -lm -lpthread + +ifeq ($(shell uname -s),Linux) + LIBS+=-lrt -lsubunit +endif + + +# build targets + +$(TEST): $(TEST).o $(MODS) $(OBJS) + $(CC) $(LDFLAGS) -o $(TEST) $^ $(LIBS) + +%.o: %.c + $(CC) -c $(CFLAGS) $< + +clean: + rm -rf $(TEST) $(TEST).o $(MODS) $(UTESTOUT) $(ITESTOUT) outputs valgrind + +.PHONY: default clean test unittest inttest + diff --git a/p4-interp/tests/expected/A_bad_addr.txt b/p4-interp/tests/expected/A_bad_addr.txt new file mode 100644 index 0000000..411787d --- /dev/null +++ b/p4-interp/tests/expected/A_bad_addr.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 diff --git a/p4-interp/tests/expected/A_bad_addr_debug.txt b/p4-interp/tests/expected/A_bad_addr_debug.txt new file mode 100644 index 0000000..b7fcdc2 --- /dev/null +++ b/p4-interp/tests/expected/A_bad_addr_debug.txt @@ -0,0 +1,294 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1e240, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 40 e2 01 00 00 00 00 00 50 03 00 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_bad_insn.txt b/p4-interp/tests/expected/A_bad_insn.txt new file mode 100644 index 0000000..079b685 --- /dev/null +++ b/p4-interp/tests/expected/A_bad_insn.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 INS + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 diff --git a/p4-interp/tests/expected/A_bad_insn_debug.txt b/p4-interp/tests/expected/A_bad_insn_debug.txt new file mode 100644 index 0000000..fec2c75 --- /dev/null +++ b/p4-interp/tests/expected/A_bad_insn_debug.txt @@ -0,0 +1,294 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x134031200000000f, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Invalid instruction at 0x010a +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 INS + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 + +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 aa bb cc dd 00 00 00 dd 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_bad_nostack.txt b/p4-interp/tests/expected/A_bad_nostack.txt new file mode 100644 index 0000000..4006202 --- /dev/null +++ b/p4-interp/tests/expected/A_bad_nostack.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 diff --git a/p4-interp/tests/expected/A_both_flags.txt b/p4-interp/tests/expected/A_both_flags.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/expected/A_both_flags.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/expected/A_cjmp_debug.txt b/p4-interp/tests/expected/A_cjmp_debug.txt new file mode 100644 index 0000000..d5f23a8 --- /dev/null +++ b/p4-interp/tests/expected/A_cjmp_debug.txt @@ -0,0 +1,798 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015d flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000185 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000172 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017b flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000017c flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 44 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 70 54 01 00 00 00 + 0150 00 00 00 10 71 5e 01 00 00 00 00 00 00 10 72 68 + 0160 01 00 00 00 00 00 00 10 73 72 01 00 00 00 00 00 + 0170 00 10 74 7c 01 00 00 00 00 00 00 10 75 86 01 00 + 0180 00 00 00 00 00 10 76 90 01 00 00 00 00 00 00 10 + 0190 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_cmov_debug.txt b/p4-interp/tests/expected/A_cmov_debug.txt new file mode 100644 index 0000000..b5fba8d --- /dev/null +++ b/p4-interp/tests/expected/A_cmov_debug.txt @@ -0,0 +1,906 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 53 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 30 f0 01 00 00 00 + 0150 00 00 00 00 30 f2 00 00 00 00 00 00 00 00 21 02 + 0160 30 f2 00 00 00 00 00 00 00 00 22 02 30 f2 00 00 + 0170 00 00 00 00 00 00 23 02 30 f2 00 00 00 00 00 00 + 0180 00 00 24 02 30 f2 00 00 00 00 00 00 00 00 25 02 + 0190 30 f2 00 00 00 00 00 00 00 00 26 02 90 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_extra_params.txt b/p4-interp/tests/expected/A_extra_params.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/expected/A_extra_params.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/expected/A_iotrap_buf2_debug.txt b/p4-interp/tests/expected/A_iotrap_buf2_debug.txt new file mode 100644 index 0000000..258a56d --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_buf2_debug.txt @@ -0,0 +1,402 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +1234512345aaabcdefghY86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000011b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000011c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 02 00 00 00 00 00 00 c2 c2 30 f6 00 03 + 0110 00 00 00 00 00 00 c0 c0 c4 c5 c2 c4 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 39 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_iotrap_buf_debug.txt b/p4-interp/tests/expected/A_iotrap_buf_debug.txt new file mode 100644 index 0000000..24aa32f --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_buf_debug.txt @@ -0,0 +1,330 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghY86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c5 c4 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_iotrap_char_debug.txt b/p4-interp/tests/expected/A_iotrap_char_debug.txt new file mode 100644 index 0000000..c780e01 --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_char_debug.txt @@ -0,0 +1,354 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +YYY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 1 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c0 c0 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c1 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 59 00 00 00 00 00 00 00 79 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_iotrap_dec_bad.txt b/p4-interp/tests/expected/A_iotrap_dec_bad.txt new file mode 100644 index 0000000..8369d5c --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_dec_bad.txt @@ -0,0 +1,13 @@ +Beginning execution at 0x0100 +256256I/O Error +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 diff --git a/p4-interp/tests/expected/A_iotrap_dec_debug.txt b/p4-interp/tests/expected/A_iotrap_dec_debug.txt new file mode 100644 index 0000000..395583e --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_dec_debug.txt @@ -0,0 +1,354 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +256256Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 3 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c2 c2 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c3 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 01 00 00 00 00 00 00 2a 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_iotrap_escaped_string.txt b/p4-interp/tests/expected/A_iotrap_escaped_string.txt new file mode 100644 index 0000000..855776a --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_escaped_string.txt @@ -0,0 +1,15 @@ +Beginning execution at 0x0100 +hello! +ab c +'str\ing' +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 diff --git a/p4-interp/tests/expected/A_iotrap_str_debug.txt b/p4-interp/tests/expected/A_iotrap_str_debug.txt new file mode 100644 index 0000000..d8c6608 --- /dev/null +++ b/p4-interp/tests/expected/A_iotrap_str_debug.txt @@ -0,0 +1,330 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghabcdefghY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c4 c5 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_missing_file.txt b/p4-interp/tests/expected/A_missing_file.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/expected/A_missing_file.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/expected/A_movflags_debug.txt b/p4-interp/tests/expected/A_movflags_debug.txt new file mode 100644 index 0000000..cb82d6d --- /dev/null +++ b/p4-interp/tests/expected/A_movflags_debug.txt @@ -0,0 +1,438 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000162 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000163 flags: Z0 S0 O0 HLT + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 14 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 00 00 00 00 + 0110 00 00 00 00 30 f3 00 02 00 00 00 00 00 00 40 03 + 0120 00 00 00 00 00 00 00 00 50 13 00 00 00 00 00 00 + 0130 00 00 a0 0f b0 2f 30 f0 ff ff ff ff ff ff ff ff + 0140 30 f3 00 02 00 00 00 00 00 00 40 03 00 00 00 00 + 0150 00 00 00 00 50 13 00 00 00 00 00 00 00 00 a0 0f + 0160 b0 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_opq_of_debug.txt b/p4-interp/tests/expected/A_opq_of_debug.txt new file mode 100644 index 0000000..a61a9dc --- /dev/null +++ b/p4-interp/tests/expected/A_opq_of_debug.txt @@ -0,0 +1,402 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rbx +Y86 CPU state: + PC: 000000000000012c flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000142 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000144 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000145 flags: Z0 S1 O1 HLT + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 01 00 00 00 00 00 00 00 30 f0 ff ff ff ff + 0110 ff ff ff 7f 60 30 30 f0 00 00 00 00 00 00 00 80 + 0120 61 30 30 f3 ff ff ff ff ff ff ff ff 30 f0 00 00 + 0130 00 00 00 00 00 80 60 30 30 f0 ff ff ff ff ff ff + 0140 ff 7f 61 30 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_pushpop_rsp_debug.txt b/p4-interp/tests/expected/A_pushpop_rsp_debug.txt new file mode 100644 index 0000000..09827c1 --- /dev/null +++ b/p4-interp/tests/expected/A_pushpop_rsp_debug.txt @@ -0,0 +1,318 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rsp +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rax +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 AOK + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010f flags: Z0 S0 O0 HLT + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 a0 4f b0 0f 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/A_unaligned1.txt b/p4-interp/tests/expected/A_unaligned1.txt new file mode 100644 index 0000000..9cb3e52 --- /dev/null +++ b/p4-interp/tests/expected/A_unaligned1.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0118 +Y86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 diff --git a/p4-interp/tests/expected/A_unaligned2.txt b/p4-interp/tests/expected/A_unaligned2.txt new file mode 100644 index 0000000..776899c --- /dev/null +++ b/p4-interp/tests/expected/A_unaligned2.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0555 +Y86 CPU state: + PC: 0000000000000574 flags: Z0 S0 O0 HLT + %rax: 000000000000014d %rcx: 000000000000006f + %rdx: 0000000000000000 %rbx: 00000000000000de + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 diff --git a/p4-interp/tests/expected/B_func_debug.txt b/p4-interp/tests/expected/B_func_debug.txt new file mode 100644 index 0000000..e190928 --- /dev/null +++ b/p4-interp/tests/expected/B_func_debug.txt @@ -0,0 +1,342 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x114 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x11e +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000113 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 80 14 01 00 00 00 + 0110 00 00 00 00 80 1e 01 00 00 00 00 00 00 90 90 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 1d 01 00 00 00 00 00 00 13 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/B_memreg.txt b/p4-interp/tests/expected/B_memreg.txt new file mode 100644 index 0000000..d3ed785 --- /dev/null +++ b/p4-interp/tests/expected/B_memreg.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 diff --git a/p4-interp/tests/expected/B_memreg_debug.txt b/p4-interp/tests/expected/B_memreg_debug.txt new file mode 100644 index 0000000..366e104 --- /dev/null +++ b/p4-interp/tests/expected/B_memreg_debug.txt @@ -0,0 +1,366 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xfedcba9876543210, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x8(%rbx), %rdx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rdx, 0x210 +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x210, %rdi +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 10 32 54 76 98 ba dc fe 30 f3 00 02 00 00 + 0110 00 00 00 00 40 03 00 00 00 00 00 00 00 00 50 13 + 0120 00 00 00 00 00 00 00 00 50 23 08 00 00 00 00 00 + 0130 00 00 40 2f 10 02 00 00 00 00 00 00 50 7f 10 02 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 10 32 54 76 98 ba dc fe ef cd ab 89 67 45 23 01 + 0210 ef cd ab 89 67 45 23 01 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/B_pushpop.txt b/p4-interp/tests/expected/B_pushpop.txt new file mode 100644 index 0000000..d6724c3 --- /dev/null +++ b/p4-interp/tests/expected/B_pushpop.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 diff --git a/p4-interp/tests/expected/B_pushpop_debug.txt b/p4-interp/tests/expected/B_pushpop_debug.txt new file mode 100644 index 0000000..9e8fcfd --- /dev/null +++ b/p4-interp/tests/expected/B_pushpop_debug.txt @@ -0,0 +1,366 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x123456789abcdef, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rbx +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rcx +Y86 CPU state: + PC: 0000000000000124 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000126 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 30 f3 ef cd ab 89 67 45 23 01 a0 0f + 0120 a0 3f b0 1f b0 2f 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 ef cd ab 89 67 45 23 01 01 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/B_simple.txt b/p4-interp/tests/expected/B_simple.txt new file mode 100644 index 0000000..db77842 --- /dev/null +++ b/p4-interp/tests/expected/B_simple.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 diff --git a/p4-interp/tests/expected/B_simple_entry.txt b/p4-interp/tests/expected/B_simple_entry.txt new file mode 100644 index 0000000..46910e2 --- /dev/null +++ b/p4-interp/tests/expected/B_simple_entry.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0250 +Y86 CPU state: + PC: 0000000000000264 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 diff --git a/p4-interp/tests/expected/C_irmovq.txt b/p4-interp/tests/expected/C_irmovq.txt new file mode 100644 index 0000000..7681b9f --- /dev/null +++ b/p4-interp/tests/expected/C_irmovq.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 diff --git a/p4-interp/tests/expected/C_irmovq_debug.txt b/p4-interp/tests/expected/C_irmovq_debug.txt new file mode 100644 index 0000000..49e4d1d --- /dev/null +++ b/p4-interp/tests/expected/C_irmovq_debug.txt @@ -0,0 +1,378 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1234, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1122334455667788, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8877665544332211, %rsi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rdi +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rbp +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xdeadbeef, %rsp +Y86 CPU state: + PC: 0000000000000150 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 01 00 00 00 00 00 00 00 30 f3 0f 00 00 00 + 0110 00 00 00 00 30 f1 34 12 00 00 00 00 00 00 30 f2 + 0120 88 77 66 55 44 33 22 11 30 f6 11 22 33 44 55 66 + 0130 77 88 30 f7 ff ff ff ff ff ff ff ff 30 f5 00 00 + 0140 00 00 00 00 00 00 30 f4 ef be ad de 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/C_opq.txt b/p4-interp/tests/expected/C_opq.txt new file mode 100644 index 0000000..8d2da4f --- /dev/null +++ b/p4-interp/tests/expected/C_opq.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 diff --git a/p4-interp/tests/expected/C_opq_debug.txt b/p4-interp/tests/expected/C_opq_debug.txt new file mode 100644 index 0000000..e5a122f --- /dev/null +++ b/p4-interp/tests/expected/C_opq_debug.txt @@ -0,0 +1,390 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x3, %rdi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rdi, %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rdi, %rbx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rdi, %rcx +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: xorq %rdi, %rdx +Y86 CPU state: + PC: 000000000000013a flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 05 00 00 00 00 00 00 00 30 f3 05 00 00 00 + 0110 00 00 00 00 30 f1 05 00 00 00 00 00 00 00 30 f2 + 0120 05 00 00 00 00 00 00 00 30 f7 03 00 00 00 00 00 + 0130 00 00 60 70 61 73 62 71 63 72 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/expected/D_help.txt b/p4-interp/tests/expected/D_help.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/expected/D_help.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/expected/D_nop_hlt.txt b/p4-interp/tests/expected/D_nop_hlt.txt new file mode 100644 index 0000000..16f14a7 --- /dev/null +++ b/p4-interp/tests/expected/D_nop_hlt.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 diff --git a/p4-interp/tests/expected/D_nop_hlt_debug.txt b/p4-interp/tests/expected/D_nop_hlt_debug.txt new file mode 100644 index 0000000..3012b2f --- /dev/null +++ b/p4-interp/tests/expected/D_nop_hlt_debug.txt @@ -0,0 +1,294 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000101 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/inputs/bad_addr.o b/p4-interp/tests/inputs/bad_addr.o new file mode 100644 index 0000000..c3b59e6 Binary files /dev/null and b/p4-interp/tests/inputs/bad_addr.o differ diff --git a/p4-interp/tests/inputs/bad_insn.o b/p4-interp/tests/inputs/bad_insn.o new file mode 100644 index 0000000..6f00342 Binary files /dev/null and b/p4-interp/tests/inputs/bad_insn.o differ diff --git a/p4-interp/tests/inputs/bad_nostack.o b/p4-interp/tests/inputs/bad_nostack.o new file mode 100644 index 0000000..26e441a Binary files /dev/null and b/p4-interp/tests/inputs/bad_nostack.o differ diff --git a/p4-interp/tests/inputs/cjmp.o b/p4-interp/tests/inputs/cjmp.o new file mode 100644 index 0000000..f89a59a Binary files /dev/null and b/p4-interp/tests/inputs/cjmp.o differ diff --git a/p4-interp/tests/inputs/cmov.o b/p4-interp/tests/inputs/cmov.o new file mode 100644 index 0000000..7c6fba2 Binary files /dev/null and b/p4-interp/tests/inputs/cmov.o differ diff --git a/p4-interp/tests/inputs/func.o b/p4-interp/tests/inputs/func.o new file mode 100644 index 0000000..3974530 Binary files /dev/null and b/p4-interp/tests/inputs/func.o differ diff --git a/p4-interp/tests/inputs/iotrap_buf.o b/p4-interp/tests/inputs/iotrap_buf.o new file mode 100644 index 0000000..5de659a Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_buf.o differ diff --git a/p4-interp/tests/inputs/iotrap_buf2.o b/p4-interp/tests/inputs/iotrap_buf2.o new file mode 100644 index 0000000..f9904e9 Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_buf2.o differ diff --git a/p4-interp/tests/inputs/iotrap_char.o b/p4-interp/tests/inputs/iotrap_char.o new file mode 100644 index 0000000..161b36b Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_char.o differ diff --git a/p4-interp/tests/inputs/iotrap_char.txt b/p4-interp/tests/inputs/iotrap_char.txt new file mode 100644 index 0000000..975fbec --- /dev/null +++ b/p4-interp/tests/inputs/iotrap_char.txt @@ -0,0 +1 @@ +y diff --git a/p4-interp/tests/inputs/iotrap_dec.o b/p4-interp/tests/inputs/iotrap_dec.o new file mode 100644 index 0000000..8c81a80 Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_dec.o differ diff --git a/p4-interp/tests/inputs/iotrap_dec.txt b/p4-interp/tests/inputs/iotrap_dec.txt new file mode 100644 index 0000000..d81cc07 --- /dev/null +++ b/p4-interp/tests/inputs/iotrap_dec.txt @@ -0,0 +1 @@ +42 diff --git a/p4-interp/tests/inputs/iotrap_str.o b/p4-interp/tests/inputs/iotrap_str.o new file mode 100644 index 0000000..7cdc6fa Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_str.o differ diff --git a/p4-interp/tests/inputs/iotrap_str_esc.o b/p4-interp/tests/inputs/iotrap_str_esc.o new file mode 100644 index 0000000..d94c49b Binary files /dev/null and b/p4-interp/tests/inputs/iotrap_str_esc.o differ diff --git a/p4-interp/tests/inputs/irmovq.o b/p4-interp/tests/inputs/irmovq.o new file mode 100644 index 0000000..2b1592a Binary files /dev/null and b/p4-interp/tests/inputs/irmovq.o differ diff --git a/p4-interp/tests/inputs/memreg.o b/p4-interp/tests/inputs/memreg.o new file mode 100644 index 0000000..a1dd30c Binary files /dev/null and b/p4-interp/tests/inputs/memreg.o differ diff --git a/p4-interp/tests/inputs/movflags.o b/p4-interp/tests/inputs/movflags.o new file mode 100644 index 0000000..280ef52 Binary files /dev/null and b/p4-interp/tests/inputs/movflags.o differ diff --git a/p4-interp/tests/inputs/nop_hlt.o b/p4-interp/tests/inputs/nop_hlt.o new file mode 100644 index 0000000..c67fdad Binary files /dev/null and b/p4-interp/tests/inputs/nop_hlt.o differ diff --git a/p4-interp/tests/inputs/opq.o b/p4-interp/tests/inputs/opq.o new file mode 100644 index 0000000..7a35e23 Binary files /dev/null and b/p4-interp/tests/inputs/opq.o differ diff --git a/p4-interp/tests/inputs/opq_of.o b/p4-interp/tests/inputs/opq_of.o new file mode 100644 index 0000000..377059e Binary files /dev/null and b/p4-interp/tests/inputs/opq_of.o differ diff --git a/p4-interp/tests/inputs/pushpop.o b/p4-interp/tests/inputs/pushpop.o new file mode 100644 index 0000000..74854a1 Binary files /dev/null and b/p4-interp/tests/inputs/pushpop.o differ diff --git a/p4-interp/tests/inputs/pushpop_rsp.o b/p4-interp/tests/inputs/pushpop_rsp.o new file mode 100644 index 0000000..ed3555e Binary files /dev/null and b/p4-interp/tests/inputs/pushpop_rsp.o differ diff --git a/p4-interp/tests/inputs/simple.o b/p4-interp/tests/inputs/simple.o new file mode 100644 index 0000000..ada13d5 Binary files /dev/null and b/p4-interp/tests/inputs/simple.o differ diff --git a/p4-interp/tests/inputs/simple_entry.o b/p4-interp/tests/inputs/simple_entry.o new file mode 100644 index 0000000..615c43e Binary files /dev/null and b/p4-interp/tests/inputs/simple_entry.o differ diff --git a/p4-interp/tests/inputs/unaligned.o b/p4-interp/tests/inputs/unaligned.o new file mode 100644 index 0000000..079af97 Binary files /dev/null and b/p4-interp/tests/inputs/unaligned.o differ diff --git a/p4-interp/tests/inputs/unaligned2.o b/p4-interp/tests/inputs/unaligned2.o new file mode 100644 index 0000000..2d03189 Binary files /dev/null and b/p4-interp/tests/inputs/unaligned2.o differ diff --git a/p4-interp/tests/integration.sh b/p4-interp/tests/integration.sh new file mode 100644 index 0000000..ed5a430 --- /dev/null +++ b/p4-interp/tests/integration.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# extract executable name from Makefile +EXE=$(grep "EXE=" Makefile | sed -e "s/EXE=//") + +# detect timeout utility (i.e., "timeout" on Linux and "gtimeout" on MacOS) +# and set timeout interval +TIMEOUT="timeout" +TIMEOUT_INTERVAL="3s" +$TIMEOUT --help &>/dev/null +if [[ $? -ne 0 ]]; then + TIMEOUT="gtimeout" +fi + +# Valgrind additional output flags +VG_FLAGS="--leak-check=full --track-origins=yes" + +function run_test { + + # parameters + TAG=$1 + ARGS=$2 + PTAG=$(printf '%-30s' "$TAG") + + # file paths + OUTPUT=outputs/$TAG.txt + DIFF=outputs/$TAG.diff + EXPECT=expected/$TAG.txt + VALGRND=valgrind/$TAG.txt + + # run test with timeout + $TIMEOUT $TIMEOUT_INTERVAL $EXE $ARGS 2>/dev/null >"$OUTPUT" + if [ "$?" -lt 124 ]; then + + # no timeout; compare output to the expected version + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + + # try alternative solution (if it exists) + EXPECT=expected/$TAG-2.txt + if [ -e "$EXPECT" ]; then + diff -u "$OUTPUT" "$EXPECT" >"$DIFF" + if [ -s "$DIFF" ]; then + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + else + echo "$PTAG pass" + fi + else + echo "$PTAG FAIL (see ${TPREFIX}$DIFF for details)" + fi + else + echo "$PTAG pass" + fi + + # run valgrind + $TIMEOUT $TIMEOUT_INTERVAL valgrind $VG_FLAGS $EXE $ARGS &>$VALGRND + else + echo "$PTAG FAIL (crash or timeout)" + fi +} + +# initialize output folders +mkdir -p outputs +mkdir -p valgrind +rm -f outputs/* valgrind/* + +# run individual tests +source itests.include + +# check for memory leaks +LEAK=`cat valgrind/*.txt | grep 'definitely lost' | grep -v ' 0 bytes in 0 blocks'` +if [ -z "$LEAK" ]; then + echo "No memory leak found." +else + echo "Memory leak(s) found. See files listed below for details." + grep 'definitely lost' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + +# check for uninitialized values +LEAK=`cat valgrind/*.txt | grep 'uninitialised value'` +if [ -z "$LEAK" ]; then + echo "No uninitialized value found." +else + echo "Uninitialized value(s) found. See files listed below for details." + grep 'uninitialised value' valgrind/*.txt | sed -e 's/:.*$//g' | awk "{print \" - ${TPREFIX}\" \$0}" +fi + diff --git a/p4-interp/tests/itests.include b/p4-interp/tests/itests.include new file mode 100644 index 0000000..67ce48b --- /dev/null +++ b/p4-interp/tests/itests.include @@ -0,0 +1,41 @@ +# list of integration tests +# format: run_test +# used as the root for all filenames (i.e., "expected/$TAG.txt") +# command-line arguments to test + +run_test D_help "-h" +run_test D_nop_hlt "-e inputs/nop_hlt.o" +run_test D_nop_hlt_debug "-E inputs/nop_hlt.o" +run_test C_irmovq "-e inputs/irmovq.o" +run_test C_irmovq_debug "-E inputs/irmovq.o" +run_test C_opq "-e inputs/opq.o" +run_test C_opq_debug "-E inputs/opq.o" +run_test B_pushpop "-e inputs/pushpop.o" +run_test B_pushpop_debug "-E inputs/pushpop.o" +run_test B_memreg "-e inputs/memreg.o" +run_test B_memreg_debug "-E inputs/memreg.o" +run_test B_simple "-e inputs/simple.o" +run_test B_simple_entry "-e inputs/simple_entry.o" +run_test B_func_debug "-E inputs/func.o" +run_test A_cmov_debug "-E inputs/cmov.o" +run_test A_cjmp_debug "-E inputs/cjmp.o" +run_test A_opq_of_debug "-E inputs/opq_of.o" +run_test A_movflags_debug "-E inputs/movflags.o" +run_test A_pushpop_rsp_debug "-E inputs/pushpop_rsp.o" +run_test A_bad_addr "-e inputs/bad_addr.o" +run_test A_bad_addr_debug "-E inputs/bad_addr.o" +run_test A_bad_insn "-e inputs/bad_insn.o" +run_test A_bad_insn_debug "-E inputs/bad_insn.o" +run_test A_bad_nostack "-e inputs/bad_nostack.o" +run_test A_missing_file "-e" +run_test A_both_flags "-e -E inputs/simple.o" +run_test A_extra_params "-e inputs/nop_hlt.o extra params" +run_test A_unaligned1 "-e inputs/unaligned.o" +run_test A_unaligned2 "-e inputs/unaligned2.o" +run_test A_iotrap_char_debug "-E inputs/iotrap_char.o" mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/outputs/A_cjmp_debug.diff b/p4-interp/tests/outputs/A_cjmp_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_cjmp_debug.txt b/p4-interp/tests/outputs/A_cjmp_debug.txt new file mode 100644 index 0000000..d5f23a8 --- /dev/null +++ b/p4-interp/tests/outputs/A_cjmp_debug.txt @@ -0,0 +1,798 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015d flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000185 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000172 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017b flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000017c flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 44 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 70 54 01 00 00 00 + 0150 00 00 00 10 71 5e 01 00 00 00 00 00 00 10 72 68 + 0160 01 00 00 00 00 00 00 10 73 72 01 00 00 00 00 00 + 0170 00 10 74 7c 01 00 00 00 00 00 00 10 75 86 01 00 + 0180 00 00 00 00 00 10 76 90 01 00 00 00 00 00 00 10 + 0190 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_cmov_debug.diff b/p4-interp/tests/outputs/A_cmov_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_cmov_debug.txt b/p4-interp/tests/outputs/A_cmov_debug.txt new file mode 100644 index 0000000..b5fba8d --- /dev/null +++ b/p4-interp/tests/outputs/A_cmov_debug.txt @@ -0,0 +1,906 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 53 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 30 f0 01 00 00 00 + 0150 00 00 00 00 30 f2 00 00 00 00 00 00 00 00 21 02 + 0160 30 f2 00 00 00 00 00 00 00 00 22 02 30 f2 00 00 + 0170 00 00 00 00 00 00 23 02 30 f2 00 00 00 00 00 00 + 0180 00 00 24 02 30 f2 00 00 00 00 00 00 00 00 25 02 + 0190 30 f2 00 00 00 00 00 00 00 00 26 02 90 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_extra_params.diff b/p4-interp/tests/outputs/A_extra_params.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_extra_params.txt b/p4-interp/tests/outputs/A_extra_params.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/outputs/A_extra_params.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/outputs/A_iotrap_buf2_debug.diff b/p4-interp/tests/outputs/A_iotrap_buf2_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_buf2_debug.txt b/p4-interp/tests/outputs/A_iotrap_buf2_debug.txt new file mode 100644 index 0000000..258a56d --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_buf2_debug.txt @@ -0,0 +1,402 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +1234512345aaabcdefghY86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000011b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000011c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 02 00 00 00 00 00 00 c2 c2 30 f6 00 03 + 0110 00 00 00 00 00 00 c0 c0 c4 c5 c2 c4 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 39 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_iotrap_buf_debug.diff b/p4-interp/tests/outputs/A_iotrap_buf_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_buf_debug.txt b/p4-interp/tests/outputs/A_iotrap_buf_debug.txt new file mode 100644 index 0000000..24aa32f --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_buf_debug.txt @@ -0,0 +1,330 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghY86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c5 c4 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_iotrap_char_debug.diff b/p4-interp/tests/outputs/A_iotrap_char_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_char_debug.txt b/p4-interp/tests/outputs/A_iotrap_char_debug.txt new file mode 100644 index 0000000..c780e01 --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_char_debug.txt @@ -0,0 +1,354 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +YYY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 1 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c0 c0 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c1 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 59 00 00 00 00 00 00 00 79 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_iotrap_dec_bad.diff b/p4-interp/tests/outputs/A_iotrap_dec_bad.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_dec_bad.txt b/p4-interp/tests/outputs/A_iotrap_dec_bad.txt new file mode 100644 index 0000000..8369d5c --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_dec_bad.txt @@ -0,0 +1,13 @@ +Beginning execution at 0x0100 +256256I/O Error +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 diff --git a/p4-interp/tests/outputs/A_iotrap_dec_debug.diff b/p4-interp/tests/outputs/A_iotrap_dec_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_dec_debug.txt b/p4-interp/tests/outputs/A_iotrap_dec_debug.txt new file mode 100644 index 0000000..395583e --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_dec_debug.txt @@ -0,0 +1,354 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +256256Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 3 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c2 c2 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c3 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 01 00 00 00 00 00 00 2a 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_iotrap_escaped_string.diff b/p4-interp/tests/outputs/A_iotrap_escaped_string.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_escaped_string.txt b/p4-interp/tests/outputs/A_iotrap_escaped_string.txt new file mode 100644 index 0000000..855776a --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_escaped_string.txt @@ -0,0 +1,15 @@ +Beginning execution at 0x0100 +hello! +ab c +'str\ing' +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 diff --git a/p4-interp/tests/outputs/A_iotrap_str_debug.diff b/p4-interp/tests/outputs/A_iotrap_str_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_iotrap_str_debug.txt b/p4-interp/tests/outputs/A_iotrap_str_debug.txt new file mode 100644 index 0000000..d8c6608 --- /dev/null +++ b/p4-interp/tests/outputs/A_iotrap_str_debug.txt @@ -0,0 +1,330 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghabcdefghY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c4 c5 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_missing_file.diff b/p4-interp/tests/outputs/A_missing_file.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_missing_file.txt b/p4-interp/tests/outputs/A_missing_file.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/outputs/A_missing_file.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/outputs/A_movflags_debug.diff b/p4-interp/tests/outputs/A_movflags_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_movflags_debug.txt b/p4-interp/tests/outputs/A_movflags_debug.txt new file mode 100644 index 0000000..cb82d6d --- /dev/null +++ b/p4-interp/tests/outputs/A_movflags_debug.txt @@ -0,0 +1,438 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000162 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000163 flags: Z0 S0 O0 HLT + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 14 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 00 00 00 00 + 0110 00 00 00 00 30 f3 00 02 00 00 00 00 00 00 40 03 + 0120 00 00 00 00 00 00 00 00 50 13 00 00 00 00 00 00 + 0130 00 00 a0 0f b0 2f 30 f0 ff ff ff ff ff ff ff ff + 0140 30 f3 00 02 00 00 00 00 00 00 40 03 00 00 00 00 + 0150 00 00 00 00 50 13 00 00 00 00 00 00 00 00 a0 0f + 0160 b0 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_opq_of_debug.diff b/p4-interp/tests/outputs/A_opq_of_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_opq_of_debug.txt b/p4-interp/tests/outputs/A_opq_of_debug.txt new file mode 100644 index 0000000..a61a9dc --- /dev/null +++ b/p4-interp/tests/outputs/A_opq_of_debug.txt @@ -0,0 +1,402 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rbx +Y86 CPU state: + PC: 000000000000012c flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000142 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000144 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000145 flags: Z0 S1 O1 HLT + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 01 00 00 00 00 00 00 00 30 f0 ff ff ff ff + 0110 ff ff ff 7f 60 30 30 f0 00 00 00 00 00 00 00 80 + 0120 61 30 30 f3 ff ff ff ff ff ff ff ff 30 f0 00 00 + 0130 00 00 00 00 00 80 60 30 30 f0 ff ff ff ff ff ff + 0140 ff 7f 61 30 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_pushpop_rsp_debug.diff b/p4-interp/tests/outputs/A_pushpop_rsp_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_pushpop_rsp_debug.txt b/p4-interp/tests/outputs/A_pushpop_rsp_debug.txt new file mode 100644 index 0000000..09827c1 --- /dev/null +++ b/p4-interp/tests/outputs/A_pushpop_rsp_debug.txt @@ -0,0 +1,318 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rsp +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rax +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 AOK + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010f flags: Z0 S0 O0 HLT + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 a0 4f b0 0f 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/A_unaligned1.diff b/p4-interp/tests/outputs/A_unaligned1.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_unaligned1.txt b/p4-interp/tests/outputs/A_unaligned1.txt new file mode 100644 index 0000000..9cb3e52 --- /dev/null +++ b/p4-interp/tests/outputs/A_unaligned1.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0118 +Y86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 diff --git a/p4-interp/tests/outputs/A_unaligned2.diff b/p4-interp/tests/outputs/A_unaligned2.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/A_unaligned2.txt b/p4-interp/tests/outputs/A_unaligned2.txt new file mode 100644 index 0000000..776899c --- /dev/null +++ b/p4-interp/tests/outputs/A_unaligned2.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0555 +Y86 CPU state: + PC: 0000000000000574 flags: Z0 S0 O0 HLT + %rax: 000000000000014d %rcx: 000000000000006f + %rdx: 0000000000000000 %rbx: 00000000000000de + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 diff --git a/p4-interp/tests/outputs/B_func_debug.diff b/p4-interp/tests/outputs/B_func_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_func_debug.txt b/p4-interp/tests/outputs/B_func_debug.txt new file mode 100644 index 0000000..e190928 --- /dev/null +++ b/p4-interp/tests/outputs/B_func_debug.txt @@ -0,0 +1,342 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x114 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x11e +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000113 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 80 14 01 00 00 00 + 0110 00 00 00 00 80 1e 01 00 00 00 00 00 00 90 90 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 1d 01 00 00 00 00 00 00 13 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/B_memreg.diff b/p4-interp/tests/outputs/B_memreg.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_memreg.txt b/p4-interp/tests/outputs/B_memreg.txt new file mode 100644 index 0000000..d3ed785 --- /dev/null +++ b/p4-interp/tests/outputs/B_memreg.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 diff --git a/p4-interp/tests/outputs/B_memreg_debug.diff b/p4-interp/tests/outputs/B_memreg_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_memreg_debug.txt b/p4-interp/tests/outputs/B_memreg_debug.txt new file mode 100644 index 0000000..366e104 --- /dev/null +++ b/p4-interp/tests/outputs/B_memreg_debug.txt @@ -0,0 +1,366 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xfedcba9876543210, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x8(%rbx), %rdx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rdx, 0x210 +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x210, %rdi +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 10 32 54 76 98 ba dc fe 30 f3 00 02 00 00 + 0110 00 00 00 00 40 03 00 00 00 00 00 00 00 00 50 13 + 0120 00 00 00 00 00 00 00 00 50 23 08 00 00 00 00 00 + 0130 00 00 40 2f 10 02 00 00 00 00 00 00 50 7f 10 02 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 10 32 54 76 98 ba dc fe ef cd ab 89 67 45 23 01 + 0210 ef cd ab 89 67 45 23 01 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/B_pushpop.diff b/p4-interp/tests/outputs/B_pushpop.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_pushpop.txt b/p4-interp/tests/outputs/B_pushpop.txt new file mode 100644 index 0000000..d6724c3 --- /dev/null +++ b/p4-interp/tests/outputs/B_pushpop.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 diff --git a/p4-interp/tests/outputs/B_pushpop_debug.diff b/p4-interp/tests/outputs/B_pushpop_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_pushpop_debug.txt b/p4-interp/tests/outputs/B_pushpop_debug.txt new file mode 100644 index 0000000..9e8fcfd --- /dev/null +++ b/p4-interp/tests/outputs/B_pushpop_debug.txt @@ -0,0 +1,366 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x123456789abcdef, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rbx +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rcx +Y86 CPU state: + PC: 0000000000000124 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000126 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 30 f3 ef cd ab 89 67 45 23 01 a0 0f + 0120 a0 3f b0 1f b0 2f 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 ef cd ab 89 67 45 23 01 01 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/B_simple.diff b/p4-interp/tests/outputs/B_simple.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_simple.txt b/p4-interp/tests/outputs/B_simple.txt new file mode 100644 index 0000000..db77842 --- /dev/null +++ b/p4-interp/tests/outputs/B_simple.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 diff --git a/p4-interp/tests/outputs/B_simple_entry.diff b/p4-interp/tests/outputs/B_simple_entry.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/B_simple_entry.txt b/p4-interp/tests/outputs/B_simple_entry.txt new file mode 100644 index 0000000..46910e2 --- /dev/null +++ b/p4-interp/tests/outputs/B_simple_entry.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0250 +Y86 CPU state: + PC: 0000000000000264 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 diff --git a/p4-interp/tests/outputs/C_irmovq.diff b/p4-interp/tests/outputs/C_irmovq.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/C_irmovq.txt b/p4-interp/tests/outputs/C_irmovq.txt new file mode 100644 index 0000000..7681b9f --- /dev/null +++ b/p4-interp/tests/outputs/C_irmovq.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 diff --git a/p4-interp/tests/outputs/C_irmovq_debug.diff b/p4-interp/tests/outputs/C_irmovq_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/C_irmovq_debug.txt b/p4-interp/tests/outputs/C_irmovq_debug.txt new file mode 100644 index 0000000..49e4d1d --- /dev/null +++ b/p4-interp/tests/outputs/C_irmovq_debug.txt @@ -0,0 +1,378 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1234, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1122334455667788, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8877665544332211, %rsi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rdi +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rbp +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xdeadbeef, %rsp +Y86 CPU state: + PC: 0000000000000150 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 01 00 00 00 00 00 00 00 30 f3 0f 00 00 00 + 0110 00 00 00 00 30 f1 34 12 00 00 00 00 00 00 30 f2 + 0120 88 77 66 55 44 33 22 11 30 f6 11 22 33 44 55 66 + 0130 77 88 30 f7 ff ff ff ff ff ff ff ff 30 f5 00 00 + 0140 00 00 00 00 00 00 30 f4 ef be ad de 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/C_opq.diff b/p4-interp/tests/outputs/C_opq.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/C_opq.txt b/p4-interp/tests/outputs/C_opq.txt new file mode 100644 index 0000000..8d2da4f --- /dev/null +++ b/p4-interp/tests/outputs/C_opq.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 diff --git a/p4-interp/tests/outputs/C_opq_debug.diff b/p4-interp/tests/outputs/C_opq_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/C_opq_debug.txt b/p4-interp/tests/outputs/C_opq_debug.txt new file mode 100644 index 0000000..e5a122f --- /dev/null +++ b/p4-interp/tests/outputs/C_opq_debug.txt @@ -0,0 +1,390 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x3, %rdi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rdi, %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rdi, %rbx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rdi, %rcx +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: xorq %rdi, %rdx +Y86 CPU state: + PC: 000000000000013a flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 05 00 00 00 00 00 00 00 30 f3 05 00 00 00 + 0110 00 00 00 00 30 f1 05 00 00 00 00 00 00 00 30 f2 + 0120 05 00 00 00 00 00 00 00 30 f7 03 00 00 00 00 00 + 0130 00 00 60 70 61 73 62 71 63 72 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/outputs/D_help.diff b/p4-interp/tests/outputs/D_help.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/D_help.txt b/p4-interp/tests/outputs/D_help.txt new file mode 100644 index 0000000..a976979 --- /dev/null +++ b/p4-interp/tests/outputs/D_help.txt @@ -0,0 +1,13 @@ +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) diff --git a/p4-interp/tests/outputs/D_nop_hlt.diff b/p4-interp/tests/outputs/D_nop_hlt.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/D_nop_hlt.txt b/p4-interp/tests/outputs/D_nop_hlt.txt new file mode 100644 index 0000000..16f14a7 --- /dev/null +++ b/p4-interp/tests/outputs/D_nop_hlt.txt @@ -0,0 +1,12 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 diff --git a/p4-interp/tests/outputs/D_nop_hlt_debug.diff b/p4-interp/tests/outputs/D_nop_hlt_debug.diff new file mode 100644 index 0000000..e69de29 diff --git a/p4-interp/tests/outputs/D_nop_hlt_debug.txt b/p4-interp/tests/outputs/D_nop_hlt_debug.txt new file mode 100644 index 0000000..3012b2f --- /dev/null +++ b/p4-interp/tests/outputs/D_nop_hlt_debug.txt @@ -0,0 +1,294 @@ +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000101 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/p4-interp/tests/private.o b/p4-interp/tests/private.o new file mode 100644 index 0000000..69e18e9 Binary files /dev/null and b/p4-interp/tests/private.o differ diff --git a/p4-interp/tests/public.c b/p4-interp/tests/public.c new file mode 100644 index 0000000..253a694 --- /dev/null +++ b/p4-interp/tests/public.c @@ -0,0 +1,329 @@ +#include +#include +#include + +#include + +#include "../p4-interp.h" + +/* check decoding and execution of the HALT instruction */ +START_TEST (D_func_decode_halt) +{ + y86_t cpu; + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + + memset (&inst, 0, sizeof (inst)); + inst.icode = HALT; + + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == 0 || valE != 0); + ck_assert (cpu.stat == HLT); +} +END_TEST + +/* check decoding and execution of the NOP instruction */ +START_TEST (D_func_decode_nop) +{ + y86_t cpu; + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + + memset (&inst, 0, sizeof (inst)); + inst.icode = NOP; + + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == 0 || valE != 0); + ck_assert (cpu.stat == AOK); +} +END_TEST + +/* check memory, writeback, and PC update of the HALT instruction */ +START_TEST (D_func_memory_halt) +{ + y86_t cpu; + byte_t *memory = malloc (MEMSIZE); + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA; + y86_reg_t valE; + + memset (&cpu, 0, sizeof (cpu)); + memset (memory, 0, MEMSIZE); + memset (&inst, 0, sizeof (inst)); + cpu.stat = AOK; + valA = valE = 0; + + inst.icode = HALT; + inst.valP = rand() % MEMSIZE; + memory_wb_pc (&cpu, &inst, memory, cnd, valA, valE); + ck_assert (cpu.pc == inst.valP); +} +END_TEST + +/* check memory, writeback, and PC update of the NOP instruction */ +START_TEST (D_func_memory_nop) +{ + y86_t cpu; + byte_t *memory = malloc (MEMSIZE); + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA; + y86_reg_t valE; + + memset (&cpu, 0, sizeof (cpu)); + memset (memory, 0, MEMSIZE); + memset (&inst, 0, sizeof (inst)); + cpu.stat = AOK; + valA = valE = 0; + + inst.icode = NOP; + inst.valP = rand() % MEMSIZE; + memory_wb_pc (&cpu, &inst, memory, cnd, valA, valE); + ck_assert (cpu.pc == inst.valP); +} +END_TEST + +/* check for null-pointer handling */ +START_TEST (D_error_decode_NULL_cnd_valA) +{ + y86_t cpu; + y86_inst_t inst; + y86_reg_t valE = 0; + + memset (&inst, 0, sizeof (inst)); + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + + inst.icode = NOP; + valE = decode_execute (&cpu, &inst, NULL, NULL); + ck_assert (valE == 0 || valE != 0); + ck_assert (cpu.stat == INS); +} +END_TEST + +/* helper function: extract the given register value from a CPU state */ +static y86_reg_t _check_get_reg (y86_t *cpu, y86_regnum_t num) +{ + return cpu->reg[num]; +} + +/* check decoding and execution of the IRMOVQ instruction */ +START_TEST (C_func_decode_irmovq) +{ + y86_t cpu; + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + + /* assemble test instruction and initial CPU state */ + memset (&inst, 0, sizeof (inst)); + inst.icode = IRMOVQ; + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + inst.valC.v = 0 + rand(); + inst.rb = (y86_regnum_t)(rand() % NOREG); /* random register */ + + /* test: load a positive value */ + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == (y86_reg_t)inst.valC.v); + ck_assert (cpu.sf == 0); + ck_assert (cpu.zf == 0); + ck_assert (_check_get_reg (&cpu, inst.rb) == 0); + + /* test: load a negative value */ + inst.valC.v = -inst.valC.v; + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == (y86_reg_t)inst.valC.v); + ck_assert (cpu.sf == 0); + ck_assert (cpu.zf == 0); + ck_assert (_check_get_reg (&cpu, inst.rb) == 0); + + /* test: load a zero value */ + inst.valC.v = 0; + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == (y86_reg_t)inst.valC.v); + ck_assert (cpu.sf == 0); + ck_assert (cpu.zf == 0); + ck_assert (_check_get_reg (&cpu, inst.rb) == 0); +} +END_TEST + +/* helper function: set the given register value in a CPU state */ +static void _check_set_reg (y86_t *cpu, y86_regnum_t num, y86_reg_t val) +{ + cpu->reg[num] = val; +} + +/* check decoding and execution of the OPq instructions (no CC testing) */ +START_TEST (C_func_decode_opq) +{ + y86_t cpu; + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + y86_reg_t expected_valE = 0; + y86_reg_t regs[NOREG]; + uint8_t i = 0; + + memset (&inst, 0, sizeof (inst)); + inst.icode = OPQ; + + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + for (i = RAX; i < NOREG; i++) + { + /* set registers to random values */ + regs[i] = (((int64_t)rand()) << 32) | rand(); + _check_set_reg (&cpu, i, regs[i]); + } + + /* addition */ + inst.ra = (y86_regnum_t)(rand() % NOREG); + inst.rb = (y86_regnum_t)(rand() % NOREG); + inst.ifun.op = ADD; + expected_valE = _check_get_reg (&cpu, inst.ra) + _check_get_reg (&cpu, inst.rb); + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == expected_valE); + ck_assert (regs[inst.ra] == _check_get_reg (&cpu, inst.ra)); + ck_assert (regs[inst.rb] == _check_get_reg (&cpu, inst.rb)); + + /* subtraction */ + inst.ra = (y86_regnum_t)(rand() % NOREG); + inst.rb = (y86_regnum_t)(rand() % NOREG); + inst.ifun.op = SUB; + expected_valE = _check_get_reg (&cpu, inst.rb) - _check_get_reg (&cpu, inst.ra); + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == expected_valE); + ck_assert (regs[inst.ra] == _check_get_reg (&cpu, inst.ra)); + ck_assert (regs[inst.rb] == _check_get_reg (&cpu, inst.rb)); + + /* bitwise AND */ + inst.ra = (y86_regnum_t)(rand() % NOREG); + inst.rb = (y86_regnum_t)(rand() % NOREG); + inst.ifun.op = AND; + expected_valE = _check_get_reg (&cpu, inst.ra) & _check_get_reg (&cpu, inst.rb); + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == expected_valE); + ck_assert (regs[inst.ra] == _check_get_reg (&cpu, inst.ra)); + ck_assert (regs[inst.rb] == _check_get_reg (&cpu, inst.rb)); + + /* bitwise XOR */ + inst.ra = (y86_regnum_t)(rand() % NOREG); + inst.rb = (y86_regnum_t)(rand() % NOREG); + inst.ifun.op = XOR; + expected_valE = _check_get_reg (&cpu, inst.ra) ^ _check_get_reg (&cpu, inst.rb); + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == expected_valE); + ck_assert (regs[inst.ra] == _check_get_reg (&cpu, inst.ra)); + ck_assert (regs[inst.rb] == _check_get_reg (&cpu, inst.rb)); +} +END_TEST + +/* check handling of invalid OPq instruction */ +START_TEST (C_error_decode_invalid_opq) +{ + y86_t cpu; + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA = 0; + y86_reg_t valE = 0; + + memset (&inst, 0, sizeof (inst)); + memset (&cpu, 0, sizeof (cpu)); + cpu.stat = AOK; + + inst.icode = OPQ; + inst.ifun.op = BADOP; + valE = decode_execute (&cpu, &inst, &cnd, &valA); + ck_assert (valE == 0 || valE != 0); + ck_assert (cpu.stat == INS); +} +END_TEST + +/* check memory, writeback, and PC update of the IRMOVQ instruction */ +START_TEST (C_func_memory_irmovq) +{ + y86_t cpu; + byte_t *memory = malloc (MEMSIZE); + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA; + y86_reg_t valE; + + for (y86_regnum_t reg = RAX; reg < NOREG; reg++) { + valA = 0; + memset (&cpu, 0, sizeof (cpu)); + memset (memory, 0, MEMSIZE); + memset (&inst, 0, sizeof (inst)); + cpu.stat = AOK; + + inst.icode = IRMOVQ; + inst.rb = reg; + inst.valP = rand() % MEMSIZE; + valE = rand(); + memory_wb_pc (&cpu, &inst, memory, cnd, valA, valE); + ck_assert (cpu.stat == AOK); + ck_assert (cpu.reg[reg] == valE); + ck_assert (cpu.pc == inst.valP); + } +} +END_TEST + +/* check memory, writeback, and PC update of the OPQ instruction */ +START_TEST (C_func_memory_opq) +{ + y86_t cpu; + byte_t *memory = malloc (MEMSIZE); + y86_inst_t inst; + bool cnd = false; + y86_reg_t valA; + y86_reg_t valE; + + for (y86_regnum_t reg = RAX; reg < NOREG; reg++) { + valA = 0; + memset (&cpu, 0, sizeof (cpu)); + memset (memory, 0, MEMSIZE); + memset (&inst, 0, sizeof (inst)); + cpu.stat = AOK; + + inst.icode = OPQ; + inst.rb = reg; + inst.valP = rand() % MEMSIZE; + valE = rand(); + memory_wb_pc (&cpu, &inst, memory, cnd, valA, valE); + ck_assert (cpu.stat == AOK); + ck_assert (cpu.reg[reg] == valE); + ck_assert (cpu.pc == inst.valP); + } +} +END_TEST + +void public_tests (Suite *s) +{ + TCase *tc_public = tcase_create ("Public"); + tcase_add_test (tc_public, D_func_decode_halt); + tcase_add_test (tc_public, D_func_decode_nop); + tcase_add_test (tc_public, D_func_memory_halt); + tcase_add_test (tc_public, D_func_memory_nop); + tcase_add_test (tc_public, D_error_decode_NULL_cnd_valA); + tcase_add_test (tc_public, C_func_decode_irmovq); + tcase_add_test (tc_public, C_func_decode_opq); + tcase_add_test (tc_public, C_func_memory_irmovq); + tcase_add_test (tc_public, C_func_memory_opq); + tcase_add_test (tc_public, C_error_decode_invalid_opq); + suite_add_tcase (s, tc_public); +} + diff --git a/p4-interp/tests/public.o b/p4-interp/tests/public.o new file mode 100644 index 0000000..82daa8e Binary files /dev/null and b/p4-interp/tests/public.o differ diff --git a/p4-interp/tests/src/bad_addr.ys b/p4-interp/tests/src/bad_addr.ys new file mode 100644 index 0000000..63dc044 --- /dev/null +++ b/p4-interp/tests/src/bad_addr.ys @@ -0,0 +1,9 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq $123456, %rbx + mrmovq (%rbx), %rax + halt + diff --git a/p4-interp/tests/src/bad_nostack.ys b/p4-interp/tests/src/bad_nostack.ys new file mode 100644 index 0000000..06ec136 --- /dev/null +++ b/p4-interp/tests/src/bad_nostack.ys @@ -0,0 +1,13 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + call foo + halt + +foo: + ret + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/cjmp.ys b/p4-interp/tests/src/cjmp.ys new file mode 100644 index 0000000..ff6ea96 --- /dev/null +++ b/p4-interp/tests/src/cjmp.ys @@ -0,0 +1,48 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + + irmovq $1, %rax # positive number + andq %rax, %rax # set CC + call dotest + + irmovq $-1, %rax # negative number + andq %rax, %rax # set CC + call dotest + + irmovq $0, %rax # zero + andq %rax, %rax # set CC + call dotest + + halt + +dotest: + jmp posjmp + nop +posjmp: + jle posle + nop +posle: + jl posl + nop +posl: + je pose + nop +pose: + jne posne + nop +posne: + jge posge + nop +posge: + jg posg + nop +posg: + ret + +.pos 0xf00 stack +_stack: + diff --git a/p4-interp/tests/src/cmov.ys b/p4-interp/tests/src/cmov.ys new file mode 100644 index 0000000..1691592 --- /dev/null +++ b/p4-interp/tests/src/cmov.ys @@ -0,0 +1,40 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + + irmovq $1, %rax # positive number + andq %rax, %rax # set CC + call dotest + + irmovq $-1, %rax # negative number + andq %rax, %rax # set CC + call dotest + + irmovq $0, %rax # zero + andq %rax, %rax # set CC + call dotest + + halt + +dotest: + irmovq $1, %rax + irmovq $0, %rdx + cmovle %rax, %rdx + irmovq $0, %rdx + cmovl %rax, %rdx + irmovq $0, %rdx + cmove %rax, %rdx + irmovq $0, %rdx + cmovne %rax, %rdx + irmovq $0, %rdx + cmovge %rax, %rdx + irmovq $0, %rdx + cmovg %rax, %rdx + ret + +.pos 0xf00 stack +_stack: + diff --git a/p4-interp/tests/src/func.ys b/p4-interp/tests/src/func.ys new file mode 100644 index 0000000..8ee3434 --- /dev/null +++ b/p4-interp/tests/src/func.ys @@ -0,0 +1,18 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + call foo + halt + +foo: + call bar + ret + +bar: + ret + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/iotrap_buf.ys b/p4-interp/tests/src/iotrap_buf.ys new file mode 100644 index 0000000..b157259 --- /dev/null +++ b/p4-interp/tests/src/iotrap_buf.ys @@ -0,0 +1,14 @@ +.pos 0x000 code + jmp 0x100 + +.pos 0x100 code +_start: + irmovq outval, %rsi + iotrap 4 + iotrap 5 + iotrap 4 + halt + +.pos 0x300 rodata +outval: + .string "abcdefgh" diff --git a/p4-interp/tests/src/iotrap_buf2.ys b/p4-interp/tests/src/iotrap_buf2.ys new file mode 100644 index 0000000..528a12f --- /dev/null +++ b/p4-interp/tests/src/iotrap_buf2.ys @@ -0,0 +1,24 @@ +.pos 0x000 code + jmp 0x100 + +.pos 0x100 code +_start: + irmovq outint, %rsi + iotrap 2 + iotrap 2 + irmovq outstr, %rsi + iotrap 0 + iotrap 0 + iotrap 4 + iotrap 5 + iotrap 2 + iotrap 4 + halt + +.pos 0x200 data +outint: + .quad 12345 + +.pos 0x300 rodata +outstr: + .string "abcdefgh" diff --git a/p4-interp/tests/src/iotrap_char.ys b/p4-interp/tests/src/iotrap_char.ys new file mode 100644 index 0000000..53ef435 --- /dev/null +++ b/p4-interp/tests/src/iotrap_char.ys @@ -0,0 +1,18 @@ +.pos 0x000 code + jmp 0x100 + +.pos 0x100 code +_start: + irmovq outval, %rsi + iotrap 0 + iotrap 0 + iotrap 5 + irmovq inval, %rdi + iotrap 1 + halt + +.pos 0x300 data +outval: + .quad 0x59 +inval: + .quad 0x0 diff --git a/p4-interp/tests/src/iotrap_dec.ys b/p4-interp/tests/src/iotrap_dec.ys new file mode 100644 index 0000000..a7f9fb5 --- /dev/null +++ b/p4-interp/tests/src/iotrap_dec.ys @@ -0,0 +1,18 @@ +.pos 0x000 code + jmp 0x100 + +.pos 0x100 code +_start: + irmovq outval, %rsi + iotrap 2 + iotrap 2 + iotrap 5 + irmovq inval, %rdi + iotrap 3 + halt + +.pos 0x300 data +outval: + .quad 0x100 +inval: + .quad 0x0 diff --git a/p4-interp/tests/src/iotrap_str.ys b/p4-interp/tests/src/iotrap_str.ys new file mode 100644 index 0000000..c148c40 --- /dev/null +++ b/p4-interp/tests/src/iotrap_str.ys @@ -0,0 +1,14 @@ +.pos 0x000 code + jmp 0x100 + +.pos 0x100 code +_start: + irmovq outval, %rsi + iotrap 4 + iotrap 4 + iotrap 5 + halt + +.pos 0x300 rodata +outval: + .string "abcdefgh" diff --git a/p4-interp/tests/src/iotrap_str_esc.ys b/p4-interp/tests/src/iotrap_str_esc.ys new file mode 100644 index 0000000..57baed9 --- /dev/null +++ b/p4-interp/tests/src/iotrap_str_esc.ys @@ -0,0 +1,10 @@ +.pos 0x100 code +_start: + irmovq str, %rsi + iotrap 4 + iotrap 5 + halt + +.pos 0x300 rodata +str: + .string "hello!\nab\tc\n'str\\ing'\n\0done" diff --git a/p4-interp/tests/src/irmovq.ys b/p4-interp/tests/src/irmovq.ys new file mode 100644 index 0000000..595e155 --- /dev/null +++ b/p4-interp/tests/src/irmovq.ys @@ -0,0 +1,14 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq $0x1, %rax + irmovq $0xF, %rbx + irmovq $0x1234, %rcx + irmovq $0x1122334455667788, %rdx + irmovq $0x8877665544332211, %rsi + irmovq $0xFFFFFFFFFFFFFFFF, %rdi + irmovq $0x0, %rbp + irmovq $0xDEADBEEF, %rsp + halt diff --git a/p4-interp/tests/src/memreg.ys b/p4-interp/tests/src/memreg.ys new file mode 100644 index 0000000..44a5fe8 --- /dev/null +++ b/p4-interp/tests/src/memreg.ys @@ -0,0 +1,18 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq $0xfedcba9876543210, %rax + irmovq $0x200, %rbx + rmmovq %rax, (%rbx) + mrmovq (%rbx), %rcx + mrmovq 8(%rbx), %rdx + rmmovq %rdx, 0x210 + mrmovq 0x210, %rdi + halt + +.pos 0x200 data + .quad 0x0 + .quad 0x0123456789abcdef + .quad 0x0 diff --git a/p4-interp/tests/src/movflags.ys b/p4-interp/tests/src/movflags.ys new file mode 100644 index 0000000..1555dbf --- /dev/null +++ b/p4-interp/tests/src/movflags.ys @@ -0,0 +1,30 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + + irmovq $0, %rax + irmovq data1, %rbx + rmmovq %rax, (%rbx) + mrmovq (%rbx), %rcx + pushq %rax + popq %rdx + + irmovq $-1, %rax + irmovq data1, %rbx + rmmovq %rax, (%rbx) + mrmovq (%rbx), %rcx + pushq %rax + popq %rdx + + halt + +.pos 0x200 data +data1: + .quad 0 + +.pos 0xf00 stack +_stack: + diff --git a/p4-interp/tests/src/nop_hlt.ys b/p4-interp/tests/src/nop_hlt.ys new file mode 100644 index 0000000..3fdae97 --- /dev/null +++ b/p4-interp/tests/src/nop_hlt.ys @@ -0,0 +1,7 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + nop + halt diff --git a/p4-interp/tests/src/opq.ys b/p4-interp/tests/src/opq.ys new file mode 100644 index 0000000..0907249 --- /dev/null +++ b/p4-interp/tests/src/opq.ys @@ -0,0 +1,15 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq $5, %rax + irmovq $5, %rbx + irmovq $5, %rcx + irmovq $5, %rdx + irmovq $3, %rdi + addq %rdi, %rax + subq %rdi, %rbx + andq %rdi, %rcx + xorq %rdi, %rdx + halt diff --git a/p4-interp/tests/src/opq_of.ys b/p4-interp/tests/src/opq_of.ys new file mode 100644 index 0000000..973978b --- /dev/null +++ b/p4-interp/tests/src/opq_of.ys @@ -0,0 +1,18 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq $0x1, %rbx + irmovq $0x7FFFFFFFFFFFFFFF, %rax + addq %rbx, %rax + irmovq $0x8000000000000000, %rax + subq %rbx, %rax + + irmovq $0xFFFFFFFFFFFFFFFF, %rbx + irmovq $0x8000000000000000, %rax + addq %rbx, %rax + irmovq $0x7FFFFFFFFFFFFFFF, %rax + subq %rbx, %rax + + halt diff --git a/p4-interp/tests/src/pushpop.ys b/p4-interp/tests/src/pushpop.ys new file mode 100644 index 0000000..85aaa11 --- /dev/null +++ b/p4-interp/tests/src/pushpop.ys @@ -0,0 +1,16 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + irmovq $0x1, %rax + irmovq $0x123456789abcdef, %rbx + pushq %rax + pushq %rbx + popq %rcx + popq %rdx + halt + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/pushpop_rsp.ys b/p4-interp/tests/src/pushpop_rsp.ys new file mode 100644 index 0000000..d91d667 --- /dev/null +++ b/p4-interp/tests/src/pushpop_rsp.ys @@ -0,0 +1,12 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + pushq %rsp + popq %rax + halt + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/simple.ys b/p4-interp/tests/src/simple.ys new file mode 100644 index 0000000..ad667a2 --- /dev/null +++ b/p4-interp/tests/src/simple.ys @@ -0,0 +1,17 @@ +.pos 0 code + jmp _start + +.pos 0x100 code +_start: + irmovq _stack, %rsp + call main + halt + +main: + irmovq $0x2, %rax + irmovq $0x3, %rcx + addq %rcx, %rax + ret + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/simple_entry.ys b/p4-interp/tests/src/simple_entry.ys new file mode 100644 index 0000000..15c9af1 --- /dev/null +++ b/p4-interp/tests/src/simple_entry.ys @@ -0,0 +1,17 @@ +.pos 0 code + jmp _start + +.pos 0x250 code +_start: + irmovq _stack, %rsp + call main + halt + +main: + irmovq $0x2, %rax + irmovq $0x3, %rcx + addq %rcx, %rax + ret + +.pos 0xf00 stack +_stack: diff --git a/p4-interp/tests/src/unaligned.ys b/p4-interp/tests/src/unaligned.ys new file mode 100644 index 0000000..fda24a0 --- /dev/null +++ b/p4-interp/tests/src/unaligned.ys @@ -0,0 +1,10 @@ +.pos 0 code + jmp _start + +.pos 0x118 code +_start: + nop + halt + +.pos 0x13a data + .quad 12345 diff --git a/p4-interp/tests/src/unaligned2.ys b/p4-interp/tests/src/unaligned2.ys new file mode 100644 index 0000000..f568ea8 --- /dev/null +++ b/p4-interp/tests/src/unaligned2.ys @@ -0,0 +1,12 @@ +.pos 0 code + jmp _start + +.pos 0x555 code +_start: + irmovq $333, %rax + irmovq $222, %rbx + irmovq $111, %rcx + halt + +.pos 0x987 data + .quad 0xaabbccdd diff --git a/p4-interp/tests/testsuite b/p4-interp/tests/testsuite new file mode 100644 index 0000000..bdf2442 Binary files /dev/null and b/p4-interp/tests/testsuite differ diff --git a/p4-interp/tests/testsuite.c b/p4-interp/tests/testsuite.c new file mode 100644 index 0000000..717c193 --- /dev/null +++ b/p4-interp/tests/testsuite.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include + +#include + +extern void public_tests (Suite *s); +extern void private_tests (Suite *s); + +Suite * test_suite (void) +{ + Suite *s = suite_create ("Default"); + public_tests (s); + private_tests (s); + return s; +} + +void run_testsuite (void) +{ + Suite *s = test_suite (); + SRunner *sr = srunner_create (s); + srunner_run_all (sr, CK_NORMAL); + srunner_free (sr); +} + +int main (void) +{ + srand((unsigned)time(NULL)); + run_testsuite (); + return EXIT_SUCCESS; +} diff --git a/p4-interp/tests/testsuite.o b/p4-interp/tests/testsuite.o new file mode 100644 index 0000000..3899e92 Binary files /dev/null and b/p4-interp/tests/testsuite.o differ diff --git a/p4-interp/tests/utests.txt b/p4-interp/tests/utests.txt new file mode 100644 index 0000000..d5a4ce9 --- /dev/null +++ b/p4-interp/tests/utests.txt @@ -0,0 +1,2 @@ +Running suite(s): Default +100%: Checks: 33, Failures: 0, Errors: 0 diff --git a/p4-interp/tests/valgrind/A_bad_addr.txt b/p4-interp/tests/valgrind/A_bad_addr.txt new file mode 100644 index 0000000..396677a --- /dev/null +++ b/p4-interp/tests/valgrind/A_bad_addr.txt @@ -0,0 +1,26 @@ +==4085977== Memcheck, a memory error detector +==4085977== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085977== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085977== Command: ../y86 -e inputs/bad_addr.o +==4085977== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 +==4085977== +==4085977== HEAP SUMMARY: +==4085977== in use at exit: 0 bytes in 0 blocks +==4085977== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085977== +==4085977== All heap blocks were freed -- no leaks are possible +==4085977== +==4085977== For lists of detected and suppressed errors, rerun with: -s +==4085977== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_bad_addr_debug.txt b/p4-interp/tests/valgrind/A_bad_addr_debug.txt new file mode 100644 index 0000000..eb51c61 --- /dev/null +++ b/p4-interp/tests/valgrind/A_bad_addr_debug.txt @@ -0,0 +1,308 @@ +==4086006== Memcheck, a memory error detector +==4086006== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086006== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086006== Command: ../y86 -E inputs/bad_addr.o +==4086006== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1e240, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000001e240 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 40 e2 01 00 00 00 00 00 50 03 00 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086006== +==4086006== HEAP SUMMARY: +==4086006== in use at exit: 0 bytes in 0 blocks +==4086006== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086006== +==4086006== All heap blocks were freed -- no leaks are possible +==4086006== +==4086006== For lists of detected and suppressed errors, rerun with: -s +==4086006== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_bad_insn.txt b/p4-interp/tests/valgrind/A_bad_insn.txt new file mode 100644 index 0000000..6da83dc --- /dev/null +++ b/p4-interp/tests/valgrind/A_bad_insn.txt @@ -0,0 +1,26 @@ +==4086119== Memcheck, a memory error detector +==4086119== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086119== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086119== Command: ../y86 -e inputs/bad_insn.o +==4086119== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 INS + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 +==4086119== +==4086119== HEAP SUMMARY: +==4086119== in use at exit: 0 bytes in 0 blocks +==4086119== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086119== +==4086119== All heap blocks were freed -- no leaks are possible +==4086119== +==4086119== For lists of detected and suppressed errors, rerun with: -s +==4086119== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_bad_insn_debug.txt b/p4-interp/tests/valgrind/A_bad_insn_debug.txt new file mode 100644 index 0000000..7cd21be --- /dev/null +++ b/p4-interp/tests/valgrind/A_bad_insn_debug.txt @@ -0,0 +1,308 @@ +==4086155== Memcheck, a memory error detector +==4086155== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086155== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086155== Command: ../y86 -E inputs/bad_insn.o +==4086155== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x134031200000000f, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Invalid instruction at 0x010a +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 INS + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 134031200000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 + +Contents of memory from 0000 to 1000: + 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 0f 00 00 00 20 31 40 13 fd ff ff ff 60 31 + 0110 70 08 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 aa bb cc dd 00 00 00 dd 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086155== +==4086155== HEAP SUMMARY: +==4086155== in use at exit: 0 bytes in 0 blocks +==4086155== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086155== +==4086155== All heap blocks were freed -- no leaks are possible +==4086155== +==4086155== For lists of detected and suppressed errors, rerun with: -s +==4086155== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_bad_nostack.txt b/p4-interp/tests/valgrind/A_bad_nostack.txt new file mode 100644 index 0000000..f65a5d5 --- /dev/null +++ b/p4-interp/tests/valgrind/A_bad_nostack.txt @@ -0,0 +1,26 @@ +==4086179== Memcheck, a memory error detector +==4086179== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086179== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086179== Command: ../y86 -e inputs/bad_nostack.o +==4086179== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 ADR + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 1 +==4086179== +==4086179== HEAP SUMMARY: +==4086179== in use at exit: 0 bytes in 0 blocks +==4086179== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086179== +==4086179== All heap blocks were freed -- no leaks are possible +==4086179== +==4086179== For lists of detected and suppressed errors, rerun with: -s +==4086179== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_both_flags.txt b/p4-interp/tests/valgrind/A_both_flags.txt new file mode 100644 index 0000000..0f062dd --- /dev/null +++ b/p4-interp/tests/valgrind/A_both_flags.txt @@ -0,0 +1,27 @@ +==4086367== Memcheck, a memory error detector +==4086367== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086367== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086367== Command: ../y86 -e -E inputs/simple.o +==4086367== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) +==4086367== +==4086367== HEAP SUMMARY: +==4086367== in use at exit: 0 bytes in 0 blocks +==4086367== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==4086367== +==4086367== All heap blocks were freed -- no leaks are possible +==4086367== +==4086367== For lists of detected and suppressed errors, rerun with: -s +==4086367== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_cjmp_debug.txt b/p4-interp/tests/valgrind/A_cjmp_debug.txt new file mode 100644 index 0000000..814b16b --- /dev/null +++ b/p4-interp/tests/valgrind/A_cjmp_debug.txt @@ -0,0 +1,812 @@ +==4085644== Memcheck, a memory error detector +==4085644== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085644== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085644== Command: ../y86 -E inputs/cjmp.o +==4085644== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015d flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000168 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000171 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000172 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017c flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000185 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000186 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jmp 0x154 +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jle 0x15e +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jl 0x168 +Y86 CPU state: + PC: 0000000000000167 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000168 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: je 0x172 +Y86 CPU state: + PC: 0000000000000172 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jne 0x17c +Y86 CPU state: + PC: 000000000000017b flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 000000000000017c flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jge 0x186 +Y86 CPU state: + PC: 0000000000000186 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: jg 0x190 +Y86 CPU state: + PC: 000000000000018f flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 44 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 70 54 01 00 00 00 + 0150 00 00 00 10 71 5e 01 00 00 00 00 00 00 10 72 68 + 0160 01 00 00 00 00 00 00 10 73 72 01 00 00 00 00 00 + 0170 00 10 74 7c 01 00 00 00 00 00 00 10 75 86 01 00 + 0180 00 00 00 00 00 10 76 90 01 00 00 00 00 00 00 10 + 0190 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085644== +==4085644== HEAP SUMMARY: +==4085644== in use at exit: 0 bytes in 0 blocks +==4085644== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085644== +==4085644== All heap blocks were freed -- no leaks are possible +==4085644== +==4085644== For lists of detected and suppressed errors, rerun with: -s +==4085644== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_cmov_debug.txt b/p4-interp/tests/valgrind/A_cmov_debug.txt new file mode 100644 index 0000000..6fbe5e2 --- /dev/null +++ b/p4-interp/tests/valgrind/A_cmov_debug.txt @@ -0,0 +1,920 @@ +==4085626== Memcheck, a memory error detector +==4085626== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085626== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085626== Command: ../y86 -E inputs/cmov.o +==4085626== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011f flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000129 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 000000000000012b flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z0 S1 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S1 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 000000000000013e flags: Z0 S1 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rax, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x14a +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000154 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000015e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovle %rax, %rdx +Y86 CPU state: + PC: 0000000000000160 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000016a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovl %rax, %rdx +Y86 CPU state: + PC: 000000000000016c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000176 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmove %rax, %rdx +Y86 CPU state: + PC: 0000000000000178 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 0000000000000182 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovne %rax, %rdx +Y86 CPU state: + PC: 0000000000000184 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000018e flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovge %rax, %rdx +Y86 CPU state: + PC: 0000000000000190 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000001 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rdx +Y86 CPU state: + PC: 000000000000019a flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: cmovg %rax, %rdx +Y86 CPU state: + PC: 000000000000019c flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000149 flags: Z1 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000014a flags: Z1 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 53 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 62 00 80 4a 01 00 00 00 00 00 00 30 + 0120 f0 ff ff ff ff ff ff ff ff 62 00 80 4a 01 00 00 + 0130 00 00 00 00 30 f0 00 00 00 00 00 00 00 00 62 00 + 0140 80 4a 01 00 00 00 00 00 00 00 30 f0 01 00 00 00 + 0150 00 00 00 00 30 f2 00 00 00 00 00 00 00 00 21 02 + 0160 30 f2 00 00 00 00 00 00 00 00 22 02 30 f2 00 00 + 0170 00 00 00 00 00 00 23 02 30 f2 00 00 00 00 00 00 + 0180 00 00 24 02 30 f2 00 00 00 00 00 00 00 00 25 02 + 0190 30 f2 00 00 00 00 00 00 00 00 26 02 90 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 49 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085626== +==4085626== HEAP SUMMARY: +==4085626== in use at exit: 0 bytes in 0 blocks +==4085626== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085626== +==4085626== All heap blocks were freed -- no leaks are possible +==4085626== +==4085626== For lists of detected and suppressed errors, rerun with: -s +==4085626== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_extra_params.txt b/p4-interp/tests/valgrind/A_extra_params.txt new file mode 100644 index 0000000..d894284 --- /dev/null +++ b/p4-interp/tests/valgrind/A_extra_params.txt @@ -0,0 +1,27 @@ +==4086493== Memcheck, a memory error detector +==4086493== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086493== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086493== Command: ../y86 -e inputs/nop_hlt.o extra params +==4086493== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) +==4086493== +==4086493== HEAP SUMMARY: +==4086493== in use at exit: 0 bytes in 0 blocks +==4086493== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==4086493== +==4086493== All heap blocks were freed -- no leaks are possible +==4086493== +==4086493== For lists of detected and suppressed errors, rerun with: -s +==4086493== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_buf2_debug.txt b/p4-interp/tests/valgrind/A_iotrap_buf2_debug.txt new file mode 100644 index 0000000..746f07f --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_buf2_debug.txt @@ -0,0 +1,416 @@ +==4086873== Memcheck, a memory error detector +==4086873== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086873== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086873== Command: ../y86 -E inputs/iotrap_buf2.o +==4086873== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000200 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +1234512345aaabcdefghY86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000011b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000011c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 02 00 00 00 00 00 00 c2 c2 30 f6 00 03 + 0110 00 00 00 00 00 00 c0 c0 c4 c5 c2 c4 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 39 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086873== +==4086873== HEAP SUMMARY: +==4086873== in use at exit: 0 bytes in 0 blocks +==4086873== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086873== +==4086873== All heap blocks were freed -- no leaks are possible +==4086873== +==4086873== For lists of detected and suppressed errors, rerun with: -s +==4086873== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_buf_debug.txt b/p4-interp/tests/valgrind/A_iotrap_buf_debug.txt new file mode 100644 index 0000000..8150975 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_buf_debug.txt @@ -0,0 +1,344 @@ +==4086814== Memcheck, a memory error detector +==4086814== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086814== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086814== Command: ../y86 -E inputs/iotrap_buf.o +==4086814== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghY86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c5 c4 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086814== +==4086814== HEAP SUMMARY: +==4086814== in use at exit: 0 bytes in 0 blocks +==4086814== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086814== +==4086814== All heap blocks were freed -- no leaks are possible +==4086814== +==4086814== For lists of detected and suppressed errors, rerun with: -s +==4086814== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_char_debug.txt b/p4-interp/tests/valgrind/A_iotrap_char_debug.txt new file mode 100644 index 0000000..8aff621 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_char_debug.txt @@ -0,0 +1,368 @@ +==4086630== Memcheck, a memory error detector +==4086630== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086630== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086630== Command: ../y86 -E inputs/iotrap_char.o +==4086630== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 0 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +YYY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 1 +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000119 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c0 c0 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c1 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 59 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086630== +==4086630== HEAP SUMMARY: +==4086630== in use at exit: 0 bytes in 0 blocks +==4086630== total heap usage: 4 allocs, 4 frees, 25,048 bytes allocated +==4086630== +==4086630== All heap blocks were freed -- no leaks are possible +==4086630== +==4086630== For lists of detected and suppressed errors, rerun with: -s +==4086630== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_dec_bad.txt b/p4-interp/tests/valgrind/A_iotrap_dec_bad.txt new file mode 100644 index 0000000..81d5db9 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_dec_bad.txt @@ -0,0 +1,27 @@ +==4086718== Memcheck, a memory error detector +==4086718== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086718== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086718== Command: ../y86 -e inputs/iotrap_dec.o +==4086718== +Beginning execution at 0x0100 +256256I/O Error +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 +==4086718== +==4086718== HEAP SUMMARY: +==4086718== in use at exit: 0 bytes in 0 blocks +==4086718== total heap usage: 4 allocs, 4 frees, 25,048 bytes allocated +==4086718== +==4086718== All heap blocks were freed -- no leaks are possible +==4086718== +==4086718== For lists of detected and suppressed errors, rerun with: -s +==4086718== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_dec_debug.txt b/p4-interp/tests/valgrind/A_iotrap_dec_debug.txt new file mode 100644 index 0000000..7aa2795 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_dec_debug.txt @@ -0,0 +1,357 @@ +==4086680== Memcheck, a memory error detector +==4086680== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086680== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086680== Command: ../y86 -E inputs/iotrap_dec.o +==4086680== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 2 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +256256Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x308, %rdi +Y86 CPU state: + PC: 0000000000000117 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 3 +I/O Error +Y86 CPU state: + PC: 0000000000000118 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000308 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c2 c2 c5 30 f7 08 + 0110 03 00 00 00 00 00 00 c3 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086680== +==4086680== HEAP SUMMARY: +==4086680== in use at exit: 0 bytes in 0 blocks +==4086680== total heap usage: 4 allocs, 4 frees, 25,048 bytes allocated +==4086680== +==4086680== All heap blocks were freed -- no leaks are possible +==4086680== +==4086680== For lists of detected and suppressed errors, rerun with: -s +==4086680== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_escaped_string.txt b/p4-interp/tests/valgrind/A_iotrap_escaped_string.txt new file mode 100644 index 0000000..c780c54 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_escaped_string.txt @@ -0,0 +1,29 @@ +==4086796== Memcheck, a memory error detector +==4086796== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086796== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086796== Command: ../y86 -e inputs/iotrap_str_esc.o +==4086796== +Beginning execution at 0x0100 +hello! +ab c +'str\ing' +Y86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 +==4086796== +==4086796== HEAP SUMMARY: +==4086796== in use at exit: 0 bytes in 0 blocks +==4086796== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086796== +==4086796== All heap blocks were freed -- no leaks are possible +==4086796== +==4086796== For lists of detected and suppressed errors, rerun with: -s +==4086796== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_iotrap_str_debug.txt b/p4-interp/tests/valgrind/A_iotrap_str_debug.txt new file mode 100644 index 0000000..9df45c5 --- /dev/null +++ b/p4-interp/tests/valgrind/A_iotrap_str_debug.txt @@ -0,0 +1,344 @@ +==4086754== Memcheck, a memory error detector +==4086754== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086754== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086754== Command: ../y86 -E inputs/iotrap_str.o +==4086754== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x300, %rsi +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010b flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 4 +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: iotrap 5 +abcdefghabcdefghY86 CPU state: + PC: 000000000000010d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000300 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 5 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f6 00 03 00 00 00 00 00 00 c4 c4 c5 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4086754== +==4086754== HEAP SUMMARY: +==4086754== in use at exit: 0 bytes in 0 blocks +==4086754== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086754== +==4086754== All heap blocks were freed -- no leaks are possible +==4086754== +==4086754== For lists of detected and suppressed errors, rerun with: -s +==4086754== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_missing_file.txt b/p4-interp/tests/valgrind/A_missing_file.txt new file mode 100644 index 0000000..3663cd2 --- /dev/null +++ b/p4-interp/tests/valgrind/A_missing_file.txt @@ -0,0 +1,27 @@ +==4086240== Memcheck, a memory error detector +==4086240== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086240== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086240== Command: ../y86 -e +==4086240== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) +==4086240== +==4086240== HEAP SUMMARY: +==4086240== in use at exit: 0 bytes in 0 blocks +==4086240== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==4086240== +==4086240== All heap blocks were freed -- no leaks are possible +==4086240== +==4086240== For lists of detected and suppressed errors, rerun with: -s +==4086240== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_movflags_debug.txt b/p4-interp/tests/valgrind/A_movflags_debug.txt new file mode 100644 index 0000000..7dbd82c --- /dev/null +++ b/p4-interp/tests/valgrind/A_movflags_debug.txt @@ -0,0 +1,452 @@ +==4085893== Memcheck, a memory error detector +==4085893== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085893== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085893== Command: ../y86 -E inputs/movflags.o +==4085893== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000140 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 000000000000014a flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 0000000000000154 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 000000000000015e flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000160 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000162 flags: Z0 S0 O0 AOK + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000163 flags: Z0 S0 O0 HLT + %rax: ffffffffffffffff %rcx: ffffffffffffffff + %rdx: ffffffffffffffff %rbx: 0000000000000200 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 14 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 00 00 00 00 + 0110 00 00 00 00 30 f3 00 02 00 00 00 00 00 00 40 03 + 0120 00 00 00 00 00 00 00 00 50 13 00 00 00 00 00 00 + 0130 00 00 a0 0f b0 2f 30 f0 ff ff ff ff ff ff ff ff + 0140 30 f3 00 02 00 00 00 00 00 00 40 03 00 00 00 00 + 0150 00 00 00 00 50 13 00 00 00 00 00 00 00 00 a0 0f + 0160 b0 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085893== +==4085893== HEAP SUMMARY: +==4085893== in use at exit: 0 bytes in 0 blocks +==4085893== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085893== +==4085893== All heap blocks were freed -- no leaks are possible +==4085893== +==4085893== For lists of detected and suppressed errors, rerun with: -s +==4085893== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_opq_of_debug.txt b/p4-interp/tests/valgrind/A_opq_of_debug.txt new file mode 100644 index 0000000..6a0e61b --- /dev/null +++ b/p4-interp/tests/valgrind/A_opq_of_debug.txt @@ -0,0 +1,416 @@ +==4085757== Memcheck, a memory error detector +==4085757== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085757== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085757== Command: ../y86 -E inputs/opq_of.o +==4085757== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rbx +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000116 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000001 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rbx +Y86 CPU state: + PC: 000000000000012c flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8000000000000000, %rax +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rbx, %rax +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x7fffffffffffffff, %rax +Y86 CPU state: + PC: 0000000000000142 flags: Z0 S0 O1 AOK + %rax: 7fffffffffffffff %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rbx, %rax +Y86 CPU state: + PC: 0000000000000144 flags: Z0 S1 O1 AOK + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000145 flags: Z0 S1 O1 HLT + %rax: 8000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: ffffffffffffffff + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 11 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f3 01 00 00 00 00 00 00 00 30 f0 ff ff ff ff + 0110 ff ff ff 7f 60 30 30 f0 00 00 00 00 00 00 00 80 + 0120 61 30 30 f3 ff ff ff ff ff ff ff ff 30 f0 00 00 + 0130 00 00 00 00 00 80 60 30 30 f0 ff ff ff ff ff ff + 0140 ff 7f 61 30 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085757== +==4085757== HEAP SUMMARY: +==4085757== in use at exit: 0 bytes in 0 blocks +==4085757== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085757== +==4085757== All heap blocks were freed -- no leaks are possible +==4085757== +==4085757== For lists of detected and suppressed errors, rerun with: -s +==4085757== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_pushpop_rsp_debug.txt b/p4-interp/tests/valgrind/A_pushpop_rsp_debug.txt new file mode 100644 index 0000000..f36cb0a --- /dev/null +++ b/p4-interp/tests/valgrind/A_pushpop_rsp_debug.txt @@ -0,0 +1,332 @@ +==4085960== Memcheck, a memory error detector +==4085960== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085960== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085960== Command: ../y86 -E inputs/pushpop_rsp.o +==4085960== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rsp +Y86 CPU state: + PC: 000000000000010c flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rax +Y86 CPU state: + PC: 000000000000010e flags: Z0 S0 O0 AOK + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000010f flags: Z0 S0 O0 HLT + %rax: 0000000000000f00 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 a0 4f b0 0f 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085960== +==4085960== HEAP SUMMARY: +==4085960== in use at exit: 0 bytes in 0 blocks +==4085960== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085960== +==4085960== All heap blocks were freed -- no leaks are possible +==4085960== +==4085960== For lists of detected and suppressed errors, rerun with: -s +==4085960== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_unaligned1.txt b/p4-interp/tests/valgrind/A_unaligned1.txt new file mode 100644 index 0000000..24e9451 --- /dev/null +++ b/p4-interp/tests/valgrind/A_unaligned1.txt @@ -0,0 +1,26 @@ +==4086559== Memcheck, a memory error detector +==4086559== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086559== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086559== Command: ../y86 -e inputs/unaligned.o +==4086559== +Beginning execution at 0x0118 +Y86 CPU state: + PC: 000000000000011a flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 +==4086559== +==4086559== HEAP SUMMARY: +==4086559== in use at exit: 0 bytes in 0 blocks +==4086559== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086559== +==4086559== All heap blocks were freed -- no leaks are possible +==4086559== +==4086559== For lists of detected and suppressed errors, rerun with: -s +==4086559== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/A_unaligned2.txt b/p4-interp/tests/valgrind/A_unaligned2.txt new file mode 100644 index 0000000..c616674 --- /dev/null +++ b/p4-interp/tests/valgrind/A_unaligned2.txt @@ -0,0 +1,26 @@ +==4086609== Memcheck, a memory error detector +==4086609== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4086609== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4086609== Command: ../y86 -e inputs/unaligned2.o +==4086609== +Beginning execution at 0x0555 +Y86 CPU state: + PC: 0000000000000574 flags: Z0 S0 O0 HLT + %rax: 000000000000014d %rcx: 000000000000006f + %rdx: 0000000000000000 %rbx: 00000000000000de + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 4 +==4086609== +==4086609== HEAP SUMMARY: +==4086609== in use at exit: 0 bytes in 0 blocks +==4086609== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4086609== +==4086609== All heap blocks were freed -- no leaks are possible +==4086609== +==4086609== For lists of detected and suppressed errors, rerun with: -s +==4086609== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_func_debug.txt b/p4-interp/tests/valgrind/B_func_debug.txt new file mode 100644 index 0000000..6172db4 --- /dev/null +++ b/p4-interp/tests/valgrind/B_func_debug.txt @@ -0,0 +1,356 @@ +==4085496== Memcheck, a memory error detector +==4085496== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085496== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085496== Command: ../y86 -E inputs/func.o +==4085496== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x114 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: call 0x11e +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 000000000000011d flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: ret +Y86 CPU state: + PC: 0000000000000113 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 6 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 80 14 01 00 00 00 + 0110 00 00 00 00 80 1e 01 00 00 00 00 00 00 90 90 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 1d 01 00 00 00 00 00 00 13 01 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085496== +==4085496== HEAP SUMMARY: +==4085496== in use at exit: 0 bytes in 0 blocks +==4085496== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085496== +==4085496== All heap blocks were freed -- no leaks are possible +==4085496== +==4085496== For lists of detected and suppressed errors, rerun with: -s +==4085496== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_memreg.txt b/p4-interp/tests/valgrind/B_memreg.txt new file mode 100644 index 0000000..3b4c888 --- /dev/null +++ b/p4-interp/tests/valgrind/B_memreg.txt @@ -0,0 +1,26 @@ +==4085370== Memcheck, a memory error detector +==4085370== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085370== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085370== Command: ../y86 -e inputs/memreg.o +==4085370== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 +==4085370== +==4085370== HEAP SUMMARY: +==4085370== in use at exit: 0 bytes in 0 blocks +==4085370== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085370== +==4085370== All heap blocks were freed -- no leaks are possible +==4085370== +==4085370== For lists of detected and suppressed errors, rerun with: -s +==4085370== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_memreg_debug.txt b/p4-interp/tests/valgrind/B_memreg_debug.txt new file mode 100644 index 0000000..8dd568f --- /dev/null +++ b/p4-interp/tests/valgrind/B_memreg_debug.txt @@ -0,0 +1,380 @@ +==4085388== Memcheck, a memory error detector +==4085388== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085388== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085388== Command: ../y86 -E inputs/memreg.o +==4085388== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xfedcba9876543210, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x200, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rax, 0x0(%rbx) +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x0(%rbx), %rcx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0000000000000000 %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x8(%rbx), %rdx +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: rmmovq %rdx, 0x210 +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: mrmovq 0x210, %rdi +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000147 flags: Z0 S0 O0 HLT + %rax: fedcba9876543210 %rcx: fedcba9876543210 + %rdx: 0123456789abcdef %rbx: 0000000000000200 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0123456789abcdef + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 10 32 54 76 98 ba dc fe 30 f3 00 02 00 00 + 0110 00 00 00 00 40 03 00 00 00 00 00 00 00 00 50 13 + 0120 00 00 00 00 00 00 00 00 50 23 08 00 00 00 00 00 + 0130 00 00 40 2f 10 02 00 00 00 00 00 00 50 7f 10 02 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 10 32 54 76 98 ba dc fe ef cd ab 89 67 45 23 01 + 0210 ef cd ab 89 67 45 23 01 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085388== +==4085388== HEAP SUMMARY: +==4085388== in use at exit: 0 bytes in 0 blocks +==4085388== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085388== +==4085388== All heap blocks were freed -- no leaks are possible +==4085388== +==4085388== For lists of detected and suppressed errors, rerun with: -s +==4085388== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_pushpop.txt b/p4-interp/tests/valgrind/B_pushpop.txt new file mode 100644 index 0000000..9a43e60 --- /dev/null +++ b/p4-interp/tests/valgrind/B_pushpop.txt @@ -0,0 +1,26 @@ +==4085308== Memcheck, a memory error detector +==4085308== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085308== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085308== Command: ../y86 -e inputs/pushpop.o +==4085308== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 +==4085308== +==4085308== HEAP SUMMARY: +==4085308== in use at exit: 0 bytes in 0 blocks +==4085308== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085308== +==4085308== All heap blocks were freed -- no leaks are possible +==4085308== +==4085308== For lists of detected and suppressed errors, rerun with: -s +==4085308== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_pushpop_debug.txt b/p4-interp/tests/valgrind/B_pushpop_debug.txt new file mode 100644 index 0000000..89d9d06 --- /dev/null +++ b/p4-interp/tests/valgrind/B_pushpop_debug.txt @@ -0,0 +1,380 @@ +==4085323== Memcheck, a memory error detector +==4085323== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085323== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085323== Command: ../y86 -E inputs/pushpop.o +==4085323== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf00, %rsp +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x123456789abcdef, %rbx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rax +Y86 CPU state: + PC: 0000000000000120 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: pushq %rbx +Y86 CPU state: + PC: 0000000000000122 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef0 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rcx +Y86 CPU state: + PC: 0000000000000124 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000000 %rbx: 0123456789abcdef + %rsp: 0000000000000ef8 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: popq %rdx +Y86 CPU state: + PC: 0000000000000126 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000127 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0123456789abcdef + %rdx: 0000000000000001 %rbx: 0123456789abcdef + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 8 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f4 00 0f 00 00 00 00 00 00 30 f0 01 00 00 00 + 0110 00 00 00 00 30 f3 ef cd ab 89 67 45 23 01 a0 0f + 0120 a0 3f b0 1f b0 2f 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 ef cd ab 89 67 45 23 01 01 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085323== +==4085323== HEAP SUMMARY: +==4085323== in use at exit: 0 bytes in 0 blocks +==4085323== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085323== +==4085323== All heap blocks were freed -- no leaks are possible +==4085323== +==4085323== For lists of detected and suppressed errors, rerun with: -s +==4085323== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_simple.txt b/p4-interp/tests/valgrind/B_simple.txt new file mode 100644 index 0000000..f293744 --- /dev/null +++ b/p4-interp/tests/valgrind/B_simple.txt @@ -0,0 +1,26 @@ +==4085404== Memcheck, a memory error detector +==4085404== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085404== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085404== Command: ../y86 -e inputs/simple.o +==4085404== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 +==4085404== +==4085404== HEAP SUMMARY: +==4085404== in use at exit: 0 bytes in 0 blocks +==4085404== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085404== +==4085404== All heap blocks were freed -- no leaks are possible +==4085404== +==4085404== For lists of detected and suppressed errors, rerun with: -s +==4085404== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/B_simple_entry.txt b/p4-interp/tests/valgrind/B_simple_entry.txt new file mode 100644 index 0000000..344e703 --- /dev/null +++ b/p4-interp/tests/valgrind/B_simple_entry.txt @@ -0,0 +1,26 @@ +==4085426== Memcheck, a memory error detector +==4085426== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085426== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085426== Command: ../y86 -e inputs/simple_entry.o +==4085426== +Beginning execution at 0x0250 +Y86 CPU state: + PC: 0000000000000264 flags: Z0 S0 O0 HLT + %rax: 0000000000000005 %rcx: 0000000000000003 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000f00 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 7 +==4085426== +==4085426== HEAP SUMMARY: +==4085426== in use at exit: 0 bytes in 0 blocks +==4085426== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085426== +==4085426== All heap blocks were freed -- no leaks are possible +==4085426== +==4085426== For lists of detected and suppressed errors, rerun with: -s +==4085426== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/C_irmovq.txt b/p4-interp/tests/valgrind/C_irmovq.txt new file mode 100644 index 0000000..e752d50 --- /dev/null +++ b/p4-interp/tests/valgrind/C_irmovq.txt @@ -0,0 +1,26 @@ +==4085137== Memcheck, a memory error detector +==4085137== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085137== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085137== Command: ../y86 -e inputs/irmovq.o +==4085137== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 +==4085137== +==4085137== HEAP SUMMARY: +==4085137== in use at exit: 0 bytes in 0 blocks +==4085137== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085137== +==4085137== All heap blocks were freed -- no leaks are possible +==4085137== +==4085137== For lists of detected and suppressed errors, rerun with: -s +==4085137== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/C_irmovq_debug.txt b/p4-interp/tests/valgrind/C_irmovq_debug.txt new file mode 100644 index 0000000..d6b3a89 --- /dev/null +++ b/p4-interp/tests/valgrind/C_irmovq_debug.txt @@ -0,0 +1,392 @@ +==4085214== Memcheck, a memory error detector +==4085214== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085214== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085214== Command: ../y86 -E inputs/irmovq.o +==4085214== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xf, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1234, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 0000000000000000 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x1122334455667788, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x8877665544332211, %rsi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xffffffffffffffff, %rdi +Y86 CPU state: + PC: 000000000000013c flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x0, %rbp +Y86 CPU state: + PC: 0000000000000146 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0xdeadbeef, %rsp +Y86 CPU state: + PC: 0000000000000150 flags: Z0 S0 O0 AOK + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000151 flags: Z0 S0 O0 HLT + %rax: 0000000000000001 %rcx: 0000000000001234 + %rdx: 1122334455667788 %rbx: 000000000000000f + %rsp: 00000000deadbeef %rbp: 0000000000000000 + %rsi: 8877665544332211 %rdi: ffffffffffffffff + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 9 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 01 00 00 00 00 00 00 00 30 f3 0f 00 00 00 + 0110 00 00 00 00 30 f1 34 12 00 00 00 00 00 00 30 f2 + 0120 88 77 66 55 44 33 22 11 30 f6 11 22 33 44 55 66 + 0130 77 88 30 f7 ff ff ff ff ff ff ff ff 30 f5 00 00 + 0140 00 00 00 00 00 00 30 f4 ef be ad de 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085214== +==4085214== HEAP SUMMARY: +==4085214== in use at exit: 0 bytes in 0 blocks +==4085214== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085214== +==4085214== All heap blocks were freed -- no leaks are possible +==4085214== +==4085214== For lists of detected and suppressed errors, rerun with: -s +==4085214== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/C_opq.txt b/p4-interp/tests/valgrind/C_opq.txt new file mode 100644 index 0000000..a578c86 --- /dev/null +++ b/p4-interp/tests/valgrind/C_opq.txt @@ -0,0 +1,26 @@ +==4085226== Memcheck, a memory error detector +==4085226== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085226== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085226== Command: ../y86 -e inputs/opq.o +==4085226== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 +==4085226== +==4085226== HEAP SUMMARY: +==4085226== in use at exit: 0 bytes in 0 blocks +==4085226== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085226== +==4085226== All heap blocks were freed -- no leaks are possible +==4085226== +==4085226== For lists of detected and suppressed errors, rerun with: -s +==4085226== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/C_opq_debug.txt b/p4-interp/tests/valgrind/C_opq_debug.txt new file mode 100644 index 0000000..2e6834c --- /dev/null +++ b/p4-interp/tests/valgrind/C_opq_debug.txt @@ -0,0 +1,404 @@ +==4085255== Memcheck, a memory error detector +==4085255== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085255== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085255== Command: ../y86 -E inputs/opq.o +==4085255== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rax +Y86 CPU state: + PC: 000000000000010a flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rbx +Y86 CPU state: + PC: 0000000000000114 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rcx +Y86 CPU state: + PC: 000000000000011e flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000000 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x5, %rdx +Y86 CPU state: + PC: 0000000000000128 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: irmovq 0x3, %rdi +Y86 CPU state: + PC: 0000000000000132 flags: Z0 S0 O0 AOK + %rax: 0000000000000005 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: addq %rdi, %rax +Y86 CPU state: + PC: 0000000000000134 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000005 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: subq %rdi, %rbx +Y86 CPU state: + PC: 0000000000000136 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000005 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: andq %rdi, %rcx +Y86 CPU state: + PC: 0000000000000138 flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000005 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: xorq %rdi, %rdx +Y86 CPU state: + PC: 000000000000013a flags: Z0 S0 O0 AOK + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 000000000000013b flags: Z0 S0 O0 HLT + %rax: 0000000000000008 %rcx: 0000000000000001 + %rdx: 0000000000000006 %rbx: 0000000000000002 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000003 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 10 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 30 f0 05 00 00 00 00 00 00 00 30 f3 05 00 00 00 + 0110 00 00 00 00 30 f1 05 00 00 00 00 00 00 00 30 f2 + 0120 05 00 00 00 00 00 00 00 30 f7 03 00 00 00 00 00 + 0130 00 00 60 70 61 73 62 71 63 72 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085255== +==4085255== HEAP SUMMARY: +==4085255== in use at exit: 0 bytes in 0 blocks +==4085255== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085255== +==4085255== All heap blocks were freed -- no leaks are possible +==4085255== +==4085255== For lists of detected and suppressed errors, rerun with: -s +==4085255== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/D_help.txt b/p4-interp/tests/valgrind/D_help.txt new file mode 100644 index 0000000..e74a1a4 --- /dev/null +++ b/p4-interp/tests/valgrind/D_help.txt @@ -0,0 +1,27 @@ +==4085068== Memcheck, a memory error detector +==4085068== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085068== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085068== Command: ../y86 -h +==4085068== +Usage: ../y86 mini-elf-file + Options are: + -h Display usage + -H Show the Mini-ELF header + -a Show all with brief memory + -f Show all with full memory + -s Show the program headers + -m Show the memory contents (brief) + -M Show the memory contents (full) + -d Disassemble code contents + -D Disassemble data contents + -e Execute program + -E Execute program (trace mode) +==4085068== +==4085068== HEAP SUMMARY: +==4085068== in use at exit: 0 bytes in 0 blocks +==4085068== total heap usage: 1 allocs, 1 frees, 8,192 bytes allocated +==4085068== +==4085068== All heap blocks were freed -- no leaks are possible +==4085068== +==4085068== For lists of detected and suppressed errors, rerun with: -s +==4085068== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/D_nop_hlt.txt b/p4-interp/tests/valgrind/D_nop_hlt.txt new file mode 100644 index 0000000..60e2029 --- /dev/null +++ b/p4-interp/tests/valgrind/D_nop_hlt.txt @@ -0,0 +1,26 @@ +==4085082== Memcheck, a memory error detector +==4085082== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085082== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085082== Command: ../y86 -e inputs/nop_hlt.o +==4085082== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 +==4085082== +==4085082== HEAP SUMMARY: +==4085082== in use at exit: 0 bytes in 0 blocks +==4085082== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085082== +==4085082== All heap blocks were freed -- no leaks are possible +==4085082== +==4085082== For lists of detected and suppressed errors, rerun with: -s +==4085082== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/tests/valgrind/D_nop_hlt_debug.txt b/p4-interp/tests/valgrind/D_nop_hlt_debug.txt new file mode 100644 index 0000000..0fa4c4f --- /dev/null +++ b/p4-interp/tests/valgrind/D_nop_hlt_debug.txt @@ -0,0 +1,308 @@ +==4085109== Memcheck, a memory error detector +==4085109== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. +==4085109== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info +==4085109== Command: ../y86 -E inputs/nop_hlt.o +==4085109== +Beginning execution at 0x0100 +Y86 CPU state: + PC: 0000000000000100 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: nop +Y86 CPU state: + PC: 0000000000000101 flags: Z0 S0 O0 AOK + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 + +Executing: halt +Y86 CPU state: + PC: 0000000000000102 flags: Z0 S0 O0 HLT + %rax: 0000000000000000 %rcx: 0000000000000000 + %rdx: 0000000000000000 %rbx: 0000000000000000 + %rsp: 0000000000000000 %rbp: 0000000000000000 + %rsi: 0000000000000000 %rdi: 0000000000000000 + %r8: 0000000000000000 %r9: 0000000000000000 + %r10: 0000000000000000 %r11: 0000000000000000 + %r12: 0000000000000000 %r13: 0000000000000000 + %r14: 0000000000000000 +Total execution count: 2 + +Contents of memory from 0000 to 1000: + 0000 70 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0100 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 01f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 02f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 03f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 04f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 05f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 07f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 09f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0a90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ab0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0bf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0c90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0cf0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0dd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0df0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0e90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +==4085109== +==4085109== HEAP SUMMARY: +==4085109== in use at exit: 0 bytes in 0 blocks +==4085109== total heap usage: 3 allocs, 3 frees, 16,856 bytes allocated +==4085109== +==4085109== All heap blocks were freed -- no leaks are possible +==4085109== +==4085109== For lists of detected and suppressed errors, rerun with: -s +==4085109== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/p4-interp/y86 b/p4-interp/y86 new file mode 100644 index 0000000..1a431d6 Binary files /dev/null and b/p4-interp/y86 differ diff --git a/p4-interp/y86.h b/p4-interp/y86.h new file mode 100644 index 0000000..32c2464 --- /dev/null +++ b/p4-interp/y86.h @@ -0,0 +1,97 @@ +#ifndef __CS261_Y86__ +#define __CS261_Y86__ + +#include +#include + +#define VADDRBITS 12 +#define MEMSIZE (1 << VADDRBITS) +#define NUMREGS 15 + +/* type declarations */ +typedef uint8_t byte_t; // byte +typedef uint64_t y86_reg_t; // register +typedef uint64_t address_t; // address +typedef bool flag_t; // CPU flag + +/* possible CPU statuses */ +typedef enum { AOK = 1, HLT, ADR, INS } y86_stat_t; + +/* y86 CPU data storage structure */ +typedef struct y86 { + + y86_reg_t reg[NUMREGS]; // 64-bit general-purpose registers + + flag_t zf; // zero flag + flag_t sf; // negative flag + flag_t of; // overflow flag + + y86_reg_t pc; // program counter + + y86_stat_t stat; // program status + +} y86_t; + +/* These enums are specified to match the order of the numbers for all Y86 + instructions and operands. As such, they can be used as constants throughout + the code. */ +typedef enum { + HALT = 0, NOP, CMOV, IRMOVQ, RMMOVQ, MRMOVQ, OPQ, JUMP, CALL, RET, PUSHQ, + POPQ, IOTRAP, INVALID +} y86_icode_t; + +typedef enum { + RRMOVQ = 0, CMOVLE, CMOVL, CMOVE, CMOVNE, CMOVGE, CMOVG, BADCMOV +} y86_cmov_t; + +typedef enum { + ADD = 0, SUB, AND, XOR, BADOP +} y86_op_t; + +typedef enum { + JMP = 0, JLE, JL, JE, JNE, JGE, JG, BADJUMP +} y86_jump_t; + +typedef enum { + CHAROUT = 0, CHARIN, DECOUT, DECIN, STROUT, FLUSH, BADTRAP +} y86_iotrap_t; + +typedef enum { + RAX = 0, RCX, RDX, RBX, RSP, RBP, RSI, RDI, + R8, R9, R10, R11, R12, R13, R14, NOREG +} y86_regnum_t; + +/* Instruction storage structure; use the constants defined in enums above. + Comments reflect correlated information from y86 ISA sheet. See the sheet + for more details. */ +typedef struct y86_inst { + + // opcode (first byte) + + y86_icode_t icode; // high-order 4 bits of opcode (instruction code) + union { + int b; // low-order 4 bits of opcode (instruction function) + y86_cmov_t cmov; // (cmovXX only) + y86_op_t op; // (OPq only) + y86_jump_t jump; // (jXX only) + y86_iotrap_t trap; // (iotrap only) + } ifun; + + // registers (second byte, if present based on icode) + + y86_regnum_t ra; // rA (high-order 4 bits) + y86_regnum_t rb; // rB (low-order 4 bits) + + // valC (eight bytes, if present, starting at either second or third byte) + + union { + address_t dest; // Dest (jXX and call only) + int64_t v; // V (irmovq only) + int64_t d; // D (rmmovq and mrmovq only) + } valC; + + address_t valP; // valP (address of next instruction) + +} y86_inst_t; + +#endif