汇编语言问题,判断符号数正负

DATA单元存有一个字节的有符号数,请用尽可能多的方法判断这个数的正负,如果是负数就将其绝对值存于DATA中。求汇编语言的谢谢了

汇编语言中判断符号数正负的方法是:
1、确定数据类型,是有几个字节构成。
2、判断最高位是1还是0,如果是1,那么该数为负,如果为0,那么该数为正。
以51单片机汇编为例,比如一个符号数存在32H31H30H中,32H为高位,那么判断该数正负程序如下:
CHKZF:
MOV A,32H ;取最高字节
JB ACC.7,DATF ;判断最高位
CLR C ;最高位为0,该数为正
RET
DATF:
SETB C ;最高位为1,该数为负
RET
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-14
  mov al,byte ptr DATA
  test al,080h
  jz POSITIVE
  xor al, 0FFH
  inc al
  mov DATA, al
POSITIVE:
  ret

本回答被网友采纳
相似回答