--- a/src/lib/simulator/src/languages/asmparser.cpp
+++ b/src/lib/simulator/src/languages/asmparser.cpp
@@ -36,22 +36,23 @@
 	QFile file(m_url);
 	if ( !file.open(QIODevice::ReadOnly) )
 		return false;
-	
+
 	QTextStream stream( &file );
-	
+
 	m_type = Absolute;
 	m_bContainsRadix = false;
 	m_picID = QString::null;
-	
-	QStringList nonAbsoluteOps = QStringList::split( ",",
-			"code,.def,.dim,.direct,endw,extern,.file,global,idata,.ident,.line,.type,udata,udata_acs,udata_ovr,udata_shr" );
-	
+
+	QStringList nonAbsoluteOps =
+        QString("code,.def,.dim,.direct,endw,extern,.file,global,idata,.ident,.line,.type,udata,udata_acs,udata_ovr,udata_shr" )
+            .split(",");
+
 	unsigned inputAtLine = 0;
 	while ( !stream.atEnd() ) {
-		const QString line = stream.readLine().stripWhiteSpace();
+		const QString line = stream.readLine().trimmed();
 		if ( m_type != Relocatable ) {
 			QString col0 = line.section( QRegExp("[; ]"), 0, 0 );
-			col0 = col0.stripWhiteSpace();
+			col0 = col0.trimmed();
 			if ( nonAbsoluteOps.contains(col0) )
 				m_type = Relocatable;
 		}
@@ -65,12 +66,12 @@
 			// We look for "list p = ", and "list p = picid ", and subtract the positions / lengths away from each other to get the picid text position
 			QRegExp fullRegExp("[lL][iI][sS][tT][\\s]+[pP][\\s]*=[\\s]*[\\d\\w]+");
 			QRegExp halfRegExp("[lL][iI][sS][tT][\\s]+[pP][\\s]*=[\\s]*");
-			
-			int startPos = fullRegExp.search(line);
-			if ( (startPos != -1) && (startPos == halfRegExp.search(line)) )
+
+			int startPos = fullRegExp.indexIn(line);
+			if ( (startPos != -1) && (startPos == halfRegExp.indexIn(line)) )
 			{
 				m_picID = line.mid( startPos + halfRegExp.matchedLength(), fullRegExp.matchedLength() - halfRegExp.matchedLength() );
-				m_picID = m_picID.upper();
+				m_picID = m_picID.toUpper();
 				if ( !m_picID.startsWith("P") )
 					m_picID.prepend("P");
 			}
@@ -81,21 +82,21 @@
 			// Assembly file produced (by sdcc) from C, line is in format:
 			// ;#CSRC\t[file-name] [file-line]
 			// The filename can contain spaces.
-			int fileLineAt = line.findRev(" ");
-			
+			int fileLineAt = line.lastIndexOf(" ");
+
 			if ( fileLineAt == -1 )
 				qWarning()<< "Syntax error in line \"" << line << "\" while looking for file-line" << endl;
 			else {
 				// 7 = length_of(";#CSRC\t")
 				QString fileName = line.mid( 7, fileLineAt-7 );
 				QString fileLineString = line.mid( fileLineAt+1, line.length() - fileLineAt - 1 );
-					
+
 				if ( fileName.startsWith("\"") ) {
 					// Newer versions of SDCC insert " around the filename
 					fileName.remove( 0, 1 ); // First "
 					fileName.remove( fileName.length()-1, 1 ); // Last "
 				}
-				
+
 				bool ok;
 				int fileLine = fileLineString.toInt(&ok) - 1;
 				if ( ok && fileLine >= 0 )
@@ -108,24 +109,24 @@
 			// Assembly file produced by either sdcc or microbe, line is in format:
 			// \t[".line"/"#MSRC"]\t[file-line]; [file-name]\t[c/microbe source code for that line]
 			// We're screwed if the file name contains tabs, but hopefully not many do...
-			QStringList lineParts = QStringList::split( '\t', line );
+			QStringList lineParts = line.split('\t');
 			if ( lineParts.size() < 2 )
 				qWarning()<< "Line is in wrong format for extracing source line and file: \""<<line<<"\""<<endl;
 			else {
 				const QString lineAndFile = lineParts[1];
-				int lineFileSplit = lineAndFile.find("; ");
+				int lineFileSplit = lineAndFile.indexOf("; ");
 				if ( lineFileSplit == -1 )
 					qDebug() << "Could not find file / line split in \""<<lineAndFile<<"\""<<endl;
 				else {
 					QString fileName = lineAndFile.mid( lineFileSplit + 2 );
 					QString fileLineString = lineAndFile.left( lineFileSplit );
-					
+
 					if ( fileName.startsWith("\"") ) {
 						// Newer versions of SDCC insert " around the filename
 						fileName.remove( 0, 1 ); // First "
 						fileName.remove( fileName.length()-1, 1 ); // Last "
 					}
-				
+
 					bool ok;
 					int fileLine = fileLineString.toInt(&ok) - 1;
 					if ( ok && fileLine >= 0 )
@@ -137,7 +138,7 @@
 #endif // GPSIM_FOUND
 		inputAtLine++;
 	}
-	
+
 	return true;
 }