T.P版.模拟cpu什么意思阿。这题.....
程序代码:
r1 r2 r3 0001 复制操作 00011110 复制r1到r2 00010110 复制r2到r1 0010 加法 00100110 将r1与r2相加,结果存放在r1 00101101 将r1与r3相加,结果存放在r3 0011 减法 00110110 用r1减去r2,结果存放在r1 00111110 将r1减去r2,结果存放在r2 0100 移动到register 01000110 将r2中存放的地址的数据放到r1中 01001110 将r1中存放的地址的数据放到r2中 01000010 00001000 数字8放到r2中(00001000的值是7) 0101 移动到memory 01010110 将r1中存放的数据放到r2所指的内存地址中去 01011110 将r2中存放的数据放到r1所指的内存地址中去 0110 为零跳转 01100101 如果r1的值为零,则跳转到r3所指的代码处 01101101 如果r3的值为零,则跳转到r1所指的代码处 0111 不为零跳转 01110101 如果r1的值不为零,则跳转到r3所指的代码处 01111101 如果r3的值不为零,则跳转到r1所指的代码处 1000 打印 10000100 打印r1所指向的内存地址的数字 10001001 打印r3所指向的内存地址的字符串,字符串以0结尾 11110000 程序结束 要求: 输入这段 01000001 00000011 01000010 00000010 00100011 01000100 00000000 01011110 10000100 11110000 把 3 + 2 的结果求出并打印出来 分析: 01000001 00000011 r3 = 3 01000010 00000010 r2 = 2 00100011 r2 = r3 + r2 01000100 00000000 r1 = 0 01011110 r2 -> memory(0) 10000100 print r1 -> memory(0) 11110000 end 要求2: 输入这段 01000001 00000001 10000001 11110000 00000000 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01101111 01110010 01101100 01100100 00100001 00000000 打印 Hello, world! 分析: 01000001 00000001 r3 = 1 10000001 print r3->memory(1) 11110000 end 00000000 not used 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01101111 01110010 01101100 01100100 00100001 Hello, world 00000000 end of string
我看到快吐了...什么意思阿...能告诉下这题意思吗...主要思路之类的....
要模拟cpu阿。。。
[ 本帖最后由 clcqifeng 于 2012-3-9 17:36 编辑 ]