Когда устанавливается флаг переполнения? - PullRequest
0 голосов
/ 10 декабря 2018

Кто-нибудь может объяснить, почему здесь установлен флаг переполнения?Я узнал, что это установлено, если вы добавляете к позитивам и получаете негатив или вычитаете к негативам и получаете позитив!

    LDR     r0,=0X80000000
    LDR     r1,=0X40000000

    SUBS        r7,r10,r0

1 Ответ

0 голосов
/ 11 декабря 2018

0x8 - 0x4 должно быть более чем достаточно, чтобы увидеть это

0x8 - 0x4 = 0x8 + (0x4)

     1
  1000
+ 1011
=======

завершить математику

 10111
  1000
+ 1011
=======
  0100

перенос и выведение msbit не совпадают, поэтому установлено переполнение со знаком (V).

И да, по битам знака вы можете узнать, посмотрите ли вы на таблицу истинности для сумматора msbit.

РЕДАКТИРОВАТЬ -----

Ааа, если предположить, что это r1, а не r10, тогда

0x4 - 0x8

  01111
   0100
+  0111
========
   1100

переполнение также.

...