⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asmcodegenerator.h

📁 C-编译器的设计文档与源代码下载,1. 具有比较友好的GUI界面(仿照了我自己正在用的emacs); 2. 语法支持比较全面(毕竟是C-
💻 H
字号:
#ifndef _ASMCODEGENERATOR_H_
#define _ASMCODEGENERATOR_H_

#include "Analyzer.h"

class CAsmCodeGenerator
{
public:
	CAsmCodeGenerator( CString& str );
	~CAsmCodeGenerator();

// Operation
public:
	void			GenerateAsmCode( LPCTSTR lpszPathName );

// help routines
private:
	void			emitComment( char* format, ... );
	void			emitLabel( char* format, ... );
	void			emitCode( char* format, ... );
	void			emitCode( CString& code );

	// 80x86 ASM routines
	void			_inline_readc();
	void			_readi();
	void			_writei();

	// code generation routines
	void			genPreSeg();
	void			genData( CTreeNode* p );
	void			genCodeSeg();
	void			genFunc( CTreeNode* pNode );
	void			genLocal( CTreeNode* pNode );
	void			genStmt( CTreeNode* pNode, int lab1 = 0, int lab2 = 0 );

	BOOL			isAddr( CTreeNode* pNode );

private:
	CAnalyzer*		m_pAnalyzer;

	CFile			m_file;
	int				label;// generator unique lable;
};

#endif // _ASMCODEGENERATOR_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -