将陆续上传本人写的新书《自己动手写CPU》(尚未出版),今天是第19篇,我尽量每周四篇
5.6 测试程序1——测试逻辑操作实现效果
编写如下测试程序用于检验逻辑操作指令是否实现正确,文件名命名为inst_rom.S,在本附带光盘Code\Chapter5_2\AsmTest\LogicInstTest目录下有测试程序源文件。
.org 0x0
.global _start
.set noat
_start:
lui $1,0x0101 # $1 = 0x01010000
ori $1,$1,0x0101 # $1 = $1 | 0x0101 = 0x01010101
ori $2,$1,0x1100 # $2 = $1 | 0x1100 = 0x01011101
or $1,$1,$2 # $1 = $1 | $2 = 0x01011101
andi $3,$1,0x00fe # $3 = $1 & 0x00fe = 0x00000000
and $1,$3,$1 # $1 = $3 & $1 = 0x00000000
xori $4,$1,0xff00 # $4 = $1 ^ 0xff00 = 0x0000ff00
xor $1,$4,$1 # $1 = $4 ^ $1 = 0x0000ff00
nor $1,$4,$1 # $1 = $4 ~^ $1 = 0xffff00ff
在程序的注释中给出了程序预期执行效果,在这里就是寄存器$1-$4的变化情况。将上述