//-------------------------------------------- 文件 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的结束--------------------------------------------