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

📄 test1.pro

📁 16位的RISC_CPU
💻 PRO
字号:
//-------------------------------------------- 文件 test1.pro -----------------------------------------
/******************************************************************************
***   Test1 程序是用于验证RISC_ CPU逻辑功能的机器代码。是根据汇编语言由人工编译的。
***   本汇编程序用于测试RISC_ CPU的基本指令集,如果RISC_ CPU的各条指令执行正确,
***   它应在地址为17(hex)处,在执行HLT时停止运行。 如果该程序在任何其他地址暂停
***   运行,则必有一条指令运行出错。可参照注释找到出错的指令。
***   @符号后的十六进制数表示存储器的地址,以下的二进制数为机器码;
***   每行//符号后表示自己为RISC_CPU设计的汇编程序和程序注释。
*****************************************************************************/

// 机器码		   地址	         汇编助记符		  注释

//------------------------------- test1.pro开始 ---------------------------------------------------------------------
 @00                                                                                          //address statement
    111_00000_0011_1100         //  00           BEGIN:    JMP TST_JMP
    000_00000_0000_0000         //  01                     HLT    //JMP did not work at all
    000_00000_0000_0000         //  02                     HLT    //JMP did not load PC, it skipped
    101_11000_0000_0000         //  03          JMP_OK:    LDA  DATA_1
    001_00000_0000_0000         //  04                     SKZ
    000_00000_0000_0000         //  05                     HLT   //SKZ or LDA did not work
    101_11000_0000_0010         //  06                     LDA  DATA_2
    001_00000_0000_0000         //  07                     SKZ
    111_00000_0000_1010         //  08                     JMP  SKZ_OK
    000_00000_0000_0000         //  09                     HLT    //SKZ or LDA did not work
    110_11000_0000_0100         //  0a            SKZ_OK:  STO TEMP //store non-zero value in TEMP
    101_11000_0000_0000         //  0b                     LDA  DATA_1
    110_11000_0000_0100         //  0c                     STO  TEMP  //store zero value in TEMP
    101_11000_0000_0100         //  0d                     LDA TEMP
    001_00000_0000_0000         //  0e                     SKZ     //check to see if STO worked
    000_00000_0000_0000         //  0f                     HLT    //STO did not work
    100_11000_0000_0010         //  10                     XOR DATA_2
    001_00000_0000_0000         //  11                     SKZ    //check to see if XOR worked
    111_00000_0001_0100         //  12                     JMP XOR_OK
    000_00000_0000_0000         //  13                     HLT   //XOR did not work at all
    100_11000_0000_0010         //  14            XOR_OK:  XOR DATA_2
    001_00000_0000_0000         //  15                     SKZ
    000_00000_0000_0000         //  16                     HLT   //XOR did not switch all bits
    000_00000_0000_0000         //  17               END:  HLT   //CONGRATULATIONS - TEST1 PASSED!
    111_00000_0000_0000         //  18                     JMP BEGIN  //run test again
    

@3c 
    111_00000_0000_0011         //  3c            TST_JMP:  JMP JMP_OK
    000_00000_0000_0000         //  3e                    HLT    //JMP is broken
//-----------------------------test1.pro的结束--------------------------------------------

⌨️ 快捷键说明

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