📄 asm.h
字号:
//#include <iostream.h>
#if !defined(AFX_CCASM_H__753D6C9E_8E71_4AA2_8BEB_CAB0C3087FEC__INCLUDED_)
#define AFX_CCASM_H__753D6C9E_8E71_4AA2_8BEB_CAB0C3087FEC__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h"
#include "TEC2000.h"
#include "MainFrm.h"
class CTWScriptEdit;
#endif // !defined(AFX_CCASM_H__753D6C9E_8E71_4AA2_8BEB_CAB0C3087FEC__INCLUDED_)
class Casm
{
public:
CTWScriptEdit *pEdit;
CString Result;
// WORD memory[65536];
WORD *memory;
WORD R[16];
// WORD *R;
// int *F;
char *now;
bool signE,signR,signA,signG;
WORD addressD,addressU,addressT,addressP,ID;
WORD flags;//czvs p2p100
int F[8];//二进制表示的标志位
WORD temp,reg;
WORD pc,sp,thisproadr;//pc,sp,当前地址。
//WORD stack[256];
WORD DR,SR,DATA,OFFSET,ADR,IOPORT;
WORD Ioport80,IoportFlag81,Ioport82,IoportFlag83;//I/o port
int sign;
char buf[50];//接受指令缓冲
char *result;//存报错信息和中间接口信息;
void showregs();//显示寄存器
void initregs();//初始化寄存器
void showflags();//显示标志寄存器
void showmemory(int address);//显示虚拟内存内容
void getIns();//从屏幕接受指令和操作
void traControl(char *);//指令译码
void linkmicro();
WORD Eaddress;
void intcontrol();
void intexe(WORD );
void controlD();//监控程序D命令
void controlE();void inE();
void controlA();
void controlR();
void controlG();
void controlU();
void controlT();
void controlP();
void controlC();
void controlM();
void controlF();
void savepcsp();
void loadpcsp();
void loadsp();
void traflags();
bool tecasm();
bool check1(char *);//检查每一位的字符都是数字
void asm1(WORD &,char *,WORD);
void asm21(WORD &,char *,WORD);
void asm22(WORD &,char *,WORD);
void asm23(WORD &,char *,WORD);
void asm3(WORD &,char *,WORD);
void asm41(WORD &,char *,WORD);
void asm42(WORD &,char *,WORD);
void asm5(WORD &,char *,WORD);
void asm6(WORD &,char *,WORD);
WORD getinsID();
WORD getdata(char *p);
WORD getdr();
WORD getsr();
WORD getoffset();
WORD getadr();
WORD getioport();
bool checkcontrolcomd(char *);
void setnow1();
void setnow2();
void setnow3();
WORD tradechex(WORD dear);
WORD trahexdec(WORD dear);
Casm();
//~Casm();
void ADD();
void SUB();
void AND();
void CMP();
void XOR();
void TEST();
void OR();
void MVRR();
void DEC();
void INC();
void SHL();
void SHR();
void JR();
void JRC();
void JRNC();
void JRZ();
void JRNZ();
void JMPA();
void LDRR();
void in();
void STRR();
void PSHF();
void PUSH();
void out();
void POP();
void MVRD();
void POPF();
void RET();
void CALA();
void ADC();
void SBB();
void RCL();
void RCR();
void ASR();
void NOT();
void JMPR();
void JRS();
void JRNS();
void CLC();
void STC();
void EI();
void DI();
void CALR();
void LDRA();
void LDRX();
void STRX();
void STRA();
void IRET();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -