首页 > 试题广场 >

试写一个LC-3汇编程序,判断一个字符串是否是“回文”(pa

[问答题]
试写一个LC-3汇编程序,判断一个字符串是否是“回文”(palindrome)。所谓“回文”,就是正读或反读结果都是一样的。例如,字符串"racecar”就是一个回文。假设x4000存放了一个格式为.STRINGZ的字符串。判断该字符串是否是回文,如果是则R5返回内容1;如果不是,则R5返回0。填充(a)~(e)处的指令,完成整个程序。.                           .ORIG         x3000
                 LD              R0 , PTR
                 ADD           R1  , R0, #0
AGAIN      LDR           R2 ,R1 ,#0
                 BRz           CONT
                ADD           R1 ,R1 ,#1
                BRnzp         AGAIN
CONT      --------------------------------(a)
LOOP       LDR           R3,R0, #0
                ----------------------------------(b)
                NOT            R4 ,R4
                ADD            R4 ,R4 ,#1
                ADD             R3 ,R3, R4
                BRnp          NO
               -------------------------------------(c)
              --------------------------------------(d)
              NOT             R2 ,R0
              ADD             R2 ,R2 ,#1
              ADD             R2 ,R1, R4
              BRnp            YES
               --------------------------------------(e)
YES      AND              R5 ,R5, #0
            ADD               R5 ,R5 ,#1
           BRnzp             DONE
NO      AND                R5 ,R5, #0
DONE    HALT
PTR         .HILL   x4000
                .END

这道题你会答吗?花几分钟告诉大家答案吧!