diff --git a/libMEDSannotation/src/MEDS_AnnotationParser.cpp b/libMEDSannotation/src/MEDS_AnnotationParser.cpp
index c49e482b763203e4b0b3cf9acf5a8e5a81d35dfd..de2b10055a40425ad299441e89b7f1b3ad249a6a 100644
--- a/libMEDSannotation/src/MEDS_AnnotationParser.cpp
+++ b/libMEDSannotation/src/MEDS_AnnotationParser.cpp
@@ -32,6 +32,7 @@
 #include "MEDS_DeadRegAnnotation.hpp"
 #include "MEDS_IBAnnotation.hpp"
 #include "MEDS_IBTAnnotation.hpp"
+#include "MEDS_MemoryRangeAnnotation.hpp"
 
 // @todo: multiple annotation per instruction
 
@@ -104,7 +105,7 @@ void MEDS_AnnotationParser::parseFile(istream &p_inputStream)
 		if(add_if_valid<MEDS_FuncExitAnnotation>(line)) continue;
 		if(add_if_valid<MEDS_IBAnnotation>(line)) continue;
 		if(add_if_valid<MEDS_IBTAnnotation>(line)) continue;
-
+		if (add_if_valid<MEDS_MemoryRangeAnnotation>(line)) continue;
 		
 	}
 }
diff --git a/libMEDSannotation/src/MEDS_MemoryRangeAnnotation.cpp b/libMEDSannotation/src/MEDS_MemoryRangeAnnotation.cpp
index 9c15f8d8e120f93d3dda7c7a9971e170743115cb..8548def683e60c60527ae534779057222ba513f2 100644
--- a/libMEDSannotation/src/MEDS_MemoryRangeAnnotation.cpp
+++ b/libMEDSannotation/src/MEDS_MemoryRangeAnnotation.cpp
@@ -23,7 +23,7 @@
 #include <cstdio>
 #include <string>
 #include <string.h>
-#include <cstdint>
+#include <cinttypes>
 
 #include "MEDS_MemoryRangeAnnotation.hpp"
 
@@ -87,11 +87,30 @@ void MEDS_MemoryRangeAnnotation::parse()
 
 	// 417748     12 INSTR STATICMEMWRITE MIN 3c60320  LIMIT 4e53730  ZZ
 	// 4992ea      4 INSTR STACKMEMRANGE MIN RSP - 568 LIMIT RSP - 48 INSTRSPDELTA - 592 ZZ
-	int ItemsFilled = sscanf(m_rawInputLine.c_str(), "%*x %d %*s %*s MIN %lx LIMIT %lx", &instrSize, &MinVal, &LimitVal);
-	if (3 != ItemsFilled) {
+	if (this->isStaticGlobalRange()) {
+		int ItemsFilled = sscanf(m_rawInputLine.c_str(), "%*x %d %*s %*s MIN %" SCNx64 " LIMIT %" SCNx64, &instrSize, &MinVal, &LimitVal);
+		if (3 != ItemsFilled) {
+			this->setInvalid();
+			cerr << "Error on sscanf of annotation: ItemsFilled = " << ItemsFilled << " line: " << m_rawInputLine << endl;
+			return;
+		}
+		else {
+			cerr << "Parsed STATICMEMWRITE annotation: MIN = " << hex << MinVal << " LIMIT = " << LimitVal << endl;
+		}
+	}
+	else {
+#if 0
+		int ItemsFilled = sscanf(m_rawInputLine.c_str(), "%*x %d %*s %*s MIN %" SCNx64 " LIMIT %" SCNx64, &instrSize, &MinVal, &LimitVal);
+		if (3 != ItemsFilled) {
+			this->setInvalid();
+			cerr << "Error on sscanf of annotation: ItemsFilled = " << ItemsFilled << " line: " << m_rawInputLine << endl;
+			return;
+		}
+#else
 		this->setInvalid();
-		cerr << "Error on sscanf of annotation" << endl;
+		cerr << "Not yet parsing STACKMEMRANGE annotations " << endl;
 		return;
+#endif
 	}
 
 	this->setInstructionSize(instrSize); // in base class