Commit eab59267 authored by Martin Ruckert's avatar Martin Ruckert

fixing breakpoints and output for translation bypassed in mmixvd

parent 05db5d83
...@@ -185,10 +185,10 @@ ...@@ -185,10 +185,10 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="copying libconfig.vd" Description=""
CommandLine="copy $(InputDir)libconfig.vd $(InputDir)libconfig.h" CommandLine=""
AdditionalDependencies="$(InputDir)libconfig.vd" AdditionalDependencies=""
Outputs="$(InputDir)libconfig.h" Outputs=""
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
...@@ -196,16 +196,36 @@ ...@@ -196,16 +196,36 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="copying libconfig.vd" Description=""
CommandLine="copy $(InputDir)libconfig.vd $(InputDir)libconfig.h" CommandLine=""
AdditionalDependencies="$(InputDir)libconfig.vd" AdditionalDependencies=""
Outputs="$(InputDir)libconfig.h" Outputs=""
/> />
</FileConfiguration> </FileConfiguration>
</File> </File>
<File <File
RelativePath="..\mmixlib\libconfig.vd" RelativePath="..\mmixlib\libconfig.vd"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="copy libconfig.vd to libconfig.h"
CommandLine="copy $(InputDir)libconfig.vd $(InputDir)libconfig.h"
Outputs="$(InputDir)libconfig.h"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="copy libconfig.vd to libconfig.h"
CommandLine="copy $(InputDir)libconfig.vd $(InputDir)libconfig.h"
Outputs="$(InputDir)libconfig.h"
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\mmixlib\libimport.h" RelativePath="..\mmixlib\libimport.h"
...@@ -236,6 +256,26 @@ ...@@ -236,6 +256,26 @@
<File <File
RelativePath="..\mmixlib\libimport.vd" RelativePath="..\mmixlib\libimport.vd"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="copy libimport.vd to libimport.h"
CommandLine="copy $(InputDir)libimport.vd $(InputDir)libimport.h"
Outputs="$(InputDir)libimport.h"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="copy libimport.vd to libimport.h"
CommandLine="copy $(InputDir)libimport.vd $(InputDir)libimport.h"
Outputs="$(InputDir)libimport.h"
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
......
...@@ -110,4 +110,8 @@ extern int mmix_fputc(int c, FILE *f); ...@@ -110,4 +110,8 @@ extern int mmix_fputc(int c, FILE *f);
/* define this to record file line and location associations while assembling */ /* define this to record file line and location associations while assembling */
#define MMIXAL_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc) #define MMIXAL_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc)
/* define this to record file line and location associations while loading mmo files
undefine to get the default behaviour of recording this info in the mem_tetra */
#define MMIX_LOAD_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc)
#endif #endif
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define LIBCONFIG_H #define LIBCONFIG_H
/* This is the libconfig.h file for MMIX VD rename to libconfig.h */ /* This is the libconfig.h file for MMIX VD rename to libconfig.h */
#ifdef WIN32 #ifdef WIN32
#pragma warning(disable : 4996) #pragma warning(disable : 4996)
#endif #endif
...@@ -93,5 +94,8 @@ extern int mmix_fputc(int c, FILE *f); ...@@ -93,5 +94,8 @@ extern int mmix_fputc(int c, FILE *f);
/* define this to record file line and location associations while assembling */ /* define this to record file line and location associations while assembling */
#define MMIXAL_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc) #define MMIXAL_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc)
/* define this to record file line and location associations while loading mmo files */
#define MMIX_LOAD_LINE_LOC(file_no,line_no,cur_loc) add_line_loc(file_no,line_no,cur_loc)
#endif #endif
/* This is the libimport.h file for MMIX VD rename to libimport.h */
extern void win32_log(char *msg); extern void win32_log(char *msg);
extern void win32_ferror(int line, char *format, char *str); extern void win32_ferror(int line, char *format, char *str);
extern void win32_message(char *msg); extern void win32_message(char *msg);
\ No newline at end of file
extern void add_line_loc(int file_no, int line_no, octa loc);
/* report the association of a file/line with a location */
...@@ -227,7 +227,7 @@ the association of lines and locations. ...@@ -227,7 +227,7 @@ the association of lines and locations.
for (j=0;j<k;j++) { for (j=0;j<k;j++) {
@z @z
We allocate tree nodes node by node so that we can free them again. We allocate tree nodes, node by node, so that we can free them again.
@x @x
register trie_node *t=next_trie_node; register trie_node *t=next_trie_node;
......
...@@ -265,12 +265,17 @@ static mem_tetra *load_mem_tetra(octa loc, tetra val) ...@@ -265,12 +265,17 @@ static mem_tetra *load_mem_tetra(octa loc, tetra val)
@z @z
Before we increment the line number, Before we increment the line number,
we reset the frequency. we reset the frequency and possibly record file, line, and loc.
@x @x
ll->file_no=cur_file;
ll->line_no=cur_line;
cur_line++; cur_line++;
@y @y
ll->file_no=cur_file;
ll->line_no=cur_line;
ll->freq=0; ll->freq=0;
MMIX_LOAD_LINE_LOC(cur_file,cur_line,cur_loc);
cur_line++; cur_line++;
@z @z
...@@ -1345,7 +1350,7 @@ case SWYM: ...@@ -1345,7 +1350,7 @@ case SWYM:
else else
strcpy(rhs,""); strcpy(rhs,"");
break; break;
translation_bypassed_inst: strcpy(lhs,"!absolute address"); translation_bypassed_inst: strcpy(lhs,"!negative address in load/store");
g[rQ].h |= N_BIT; new_Q.h |= N_BIT; /* set the n bit */ g[rQ].h |= N_BIT; new_Q.h |= N_BIT; /* set the n bit */
goto break_inst; goto break_inst;
privileged_inst: strcpy(lhs,"!kernel only"); privileged_inst: strcpy(lhs,"!kernel only");
......
...@@ -256,8 +256,6 @@ extern void report_error(char *message, int file_no, int line_no); ...@@ -256,8 +256,6 @@ extern void report_error(char *message, int file_no, int line_no);
/* report an error in the given file and line. /* report an error in the given file and line.
*/ */
extern void add_line_loc(int file_no, int line_no, octa loc);
/* report the association of a file/line with a location */
extern int mmoimg_main(int argc, char *argv[]); extern int mmoimg_main(int argc, char *argv[]);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment