问答题 已知有两个8位有符号数分别存放在字节变量VX、VY中,试编写一个程序段,将其中的大数放在字节变量MAX中。
【正确答案】在有符号数大小时,为了避免补码相减后的溢出问题,可先将补码转换移码后再比较它们之间的大小。设变量VX、VY分别存放着有符号数X、Y的补码。
   LD    AR,VX    ;取[x]
   LD    BR,VY    ;取[y]
   CLRC
   ADC    AR,#128    ;AR=[x]
   CLRC
   ADC    BR,#128    ;BR=[y]
   CMP    AR,BR    ;比较[x]-[y]
   JNC PASS    ;若x≥Y,转PASS
   MOV    AR,BR    ;将最大数放在AR中
   PASS:    CLRC
   SBB    AR,#128    ;将移码转换成补码
   ST    AR,MAX    ;存最大数
【答案解析】