Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 69f00ccb authored by Martin Ruckert's avatar Martin Ruckert
Browse files

first version running as mmixide

parent bf724549
@x
@<Stuff for \CEE/ preprocessor@>@;
@<Stuff for \CEE/ preprocessor@>@;
typedef enum{@+false,true@+} bool;
@<Tetrabyte and octabyte type definitions@>@;
@<Other type definitions@>@;
@<Global variables@>@;
@<Subroutines@>
@y
@<Stuff for \CEE/ preprocessor@>@;
@<Stuff for \CEE/ preprocessor@>@;
#pragma warning(disable : 4146 4018 4244 4267)
#include "libconfig.h"
typedef enum{@+false,true@+} bool;
@<Tetrabyte and octabyte type definitions@>@;
@<Other type definitions@>@;
@<Global variables@>@;
#include "libimport.h"
#pragma warning(disable : 4146 4018 4244 4267)
@<Subroutines@>
@z
......@@ -26,7 +26,11 @@
#define MMIX_STORE_IVTC(virt,phys) store_exec_translation(&(virt),&(phys))
#define MMIX_STORE_DVTC(virt,phys) store_data_translation(&(virt),&(phys))
#ifdef WIN32
#define MMIX_DELAY(ms,d) d = vmb_wait_for_event_timed(&vmb,ms)
#else
#define MMIX_DELAY(ms,d) (usleep(1000*(ms)), d=(ms))
#endif
/* define this to check for external asynchronous ineterrupts*/
#define MMIX_GET_INTERRUPT \
......@@ -61,13 +65,18 @@ if (vmb_get_interrupt(&vmb,&new_Q.h,&new_Q.l)==1) \
otherwise it will resume at Main */
#define MMIX_BOOT
#ifdef _MMIXAL_
#undef MMIX_PRINT
#else
#define MMIX_PRINT
#endif
#ifdef MMIX_PRINT
extern int mmix_printf(char *format,...);
extern int mmix_printf(FILE *f,char *format,...);
extern int mmix_vprintf(char *format, va_list vargs);
extern int mmix_fputc(int c, FILE *f);
#define printf(...) mmix_printf(__VA_ARGS__)
#define fprintf(file,...) mmix_printf(__VA_ARGS__)
#define printf(...) mmix_printf(stdout,__VA_ARGS__)
#define fprintf(file,...) mmix_printf(file,__VA_ARGS__)
#define vprintf(format,vargs) mmix_vprintf(format,vargs)
#define fputc(c,f) mmix_fputc(c,f)
#endif
......@@ -99,9 +108,7 @@ extern int mmix_fputc(int c, FILE *f);
#define MMXIAL_LINE_TRUNCATED fprintf(stderr,"(say `-b <number>' to increase the length of my input buffer)\n");
/* MMIXAL has its own notion of file numbers as embedded in the mmo file
we might want to convert this to a global file number */
#define MMIX_FILE_NO(file_no) filename2file(filename[file_no], file_no)
/* 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)
......
......@@ -53,9 +53,11 @@
#ifdef MMIX_PRINT
extern int mmix_printf(FILE *f,char *format,...);
extern int mmix_vprintf(char *format, va_list vargs);
extern int mmix_fputc(int c, FILE *f);
#define printf(...) mmix_printf(stdout,__VA_ARGS__)
#define fprintf(file,...) mmix_printf(file,__VA_ARGS__)
#define vprintf(format,vargs) mmix_vprintf(format,vargs)
#define fputc(c,f) mmix_fputc(c,f)
#endif
......
......@@ -3,3 +3,4 @@
#include "mmix-bus.h"
extern device_info vmb;
extern void win32_log(char *msg);
\ No newline at end of file
@x
#include <stdio.h>
#include <stdlib.h>
@<Preprocessor macros@>@;
@<Type definitions@>@;
@<External subroutines@>@;
@<Global variables@>@;
@<Subroutines@>@;
@y
#include <stdio.h>
#include <stdlib.h>
#include "libconfig.h"
@<Preprocessor macros@>@;
#pragma warning(disable : 4996 4267)
#include "libconfig.h"
@<Type definitions@>@;
@<External subroutines@>@;
@<Global variables@>@;
#include "libimport.h"
#pragma warning(disable : 4996 4267)
@<Subroutines@>@;
@z
@x
......
......@@ -389,7 +389,6 @@ int main(argc,argv)
#include <setjmp.h>
#define _MMIXAL_
#include "libconfig.h"
#include "libimport.h"
@#
......@@ -397,6 +396,8 @@ int main(argc,argv)
@<Preprocessor definitions@>@;
@<Type definitions@>@;
@<Global variables@>@;
#include "libimport.h"
extern void report_error(char * message, int file_no, int line_no);
extern jmp_buf mmixal_exit;
......
......@@ -64,7 +64,9 @@ The tet field of the mem_tetra may be eliminated.
@x
tetra tet; /* the tetrabyte of simulated memory */
@y
MMIX_MEM_TET
#ifdef MMIX_MEM_TET
tetra tet; /* the tetrabyte of simulated memory */
#endif
@z
@x
......@@ -947,8 +949,10 @@ fin_pst:
if (!MMIX_STT(b,w)) goto page_fault;
fin_st:
ll=mem_find(w); test_store_bkpt(ll);
#ifdef MMIX_MEM_TET
w.l&=-8;@+ll=mem_find(w);
a.h=ll->tet;@+ a.l=(ll+1)->tet; /* for trace output */
#endif
break;
@z
......@@ -2449,7 +2453,7 @@ signal(SIGINT,catchint); /* now |catchint| will catch the first interrupt */
@ @(libinit.c@>=
#ifdef WIN32
BOOL CtrlHandler( DWORD fdwCtrlType )
{ MMIX_CTRL_HANDLER
{ MMIX_CTRL_HANDLER;
interrupt=true;
if (fdwCtrlType==CTRL_C_EVENT || fdwCtrlType==CTRL_BREAK_EVENT )
{
......@@ -2476,7 +2480,7 @@ void catchint(n)
interact: @<Put a new command in |command_buf|@>;
@y
interact: @<Put a new command in |command_buf|@>;
MMIX_GET_INTERRUPT
MMIX_GET_INTERRUPT;
@z
@x
......@@ -2597,8 +2601,8 @@ void show_breaks @,@,@[ARGS((mem_node*))@];@+@t}\6{@>
#include <stdio.h>
#include <string.h>
#include <setjmp.h>
#include "libconfig.h"
#include <time.h>
#include "libconfig.h"
#include "libtype.h"
#include "libglobals.h"
#include "mmixlib.h"
......
......@@ -120,8 +120,8 @@ extern octa*l;
extern int lring_size;
extern int lring_mask;
extern int S;
char*special_name[32];
extern char*special_name[32];
extern octa new_Q;
extern void mmputchars(unsigned char *buf,int size,octa addr);
extern int mmgetchars(unsigned char *buf, int size, octa addr, int stop);
......
......@@ -20,7 +20,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
......@@ -40,7 +40,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
AdditionalIncludeDirectories="util;../vmblib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;VMB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
......@@ -82,7 +83,7 @@
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
CharacterSet="0"
WholeProgramOptimization="1"
>
<Tool
......@@ -104,6 +105,7 @@
Name="VCCLCompilerTool"
Optimization="3"
OmitFramePointers="true"
AdditionalIncludeDirectories="util;vmblib"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
......@@ -674,10 +676,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\vmb\address.h"
>
</File>
<File
RelativePath=".\libconfig.h"
>
......
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