упрощение логики if-else - PullRequest
       43

упрощение логики if-else

0 голосов
/ 01 марта 2019

У меня есть два следующих регистра:

HL(consecutive), H holds 8-bit, L holds 8-bit so HL is 16-bit register pair
DE(consecutive), D holds 8-bit, E holds 8-bit so DE is 16-bit register pair

Я не могу сравнивать HL и DE напрямую, как if(HL > DE).Вместо этого я должен сравнить регистры отдельно как H, L, D, E.Я строю возможности структуры if-else, чтобы узнать if(HL > DE).

1.

if (l < e)
   if(h > d)
      do what I want
... if not checking other possibilities 2, 3

2.

if (l > e)
   if(h > d)
      do what I want
... if not checking other possibilities 1, 3

3.

if (h > d)
     do what I want
... if not checking other possibilities 1, 2

Я не уверен, правильно ли я поступаю.Однако, если это так, можно ли три из них упростить?

1 Ответ

0 голосов
/ 01 марта 2019

Есть два случая, когда без знака hl> de:

  1. h > d
  2. h == d AND l > e
...