При сравнении чисел в ARM Assembly есть верный способ сохранить значение

Исходя из кода css в вашем вопросе, я попробовал код следующим образом, и он работает для меня (запустите фрагмент кода), и попробуйте сами:

#container div a {
  display: inline-block;
  margin-top: 10%;
  padding: 1em 2em;
  font-size: 2em;
  color: #fff;
  font-family: arial, sans-serif;
  text-decoration: none;
  border-radius: 0.3em;
  position: relative;
  background-color: #ccc;
  background-image: linear-gradient(to top, #C0357E, #EE5840);
  -webkit-backface-visibility: hidden;
  z-index: 1;
}
     
#container div a:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3em;
  background-image: linear-gradient(to top, #6d8aa0, #343436);
  transition: opacity 0.5s ease-out;
  z-index: 2;
  opacity: 0;
}
    
#container div a:hover:after {
  opacity: 1;
}
#container div a span {
  position: relative;
  z-index: 3;
}
<div id="container"><div><a href="#"><span>Press Me</span></a></div></div>

Основываясь на коде css в вашем вопросе, я попробовал код следующим образом, и он работает для меня, и, пожалуйста, попробуйте сами:

    #container div a {
  display: inline-block;
  margin-top: 10%;
  padding: 1em 2em;
  font-size: 2em;
  color: #fff;
  font-family: arial, sans-serif;
  text-decoration: none;
  border-radius: 0.3em;
  position: relative;
  background-color: #ccc;
  background-image: linear-gradient(to top, #C0357E, #EE5840);
  -webkit-backface-visibility: hidden;
  z-index: 1;
}

#container div a:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3em;
  background-image: linear-gradient(to top, #6d8aa0, #343436);
  transition: opacity 0.5s ease-out;
  z-index: 2;
  opacity: 0;
}

#container div a:hover:after {
  opacity: 1;
}
#container div a span {
  position: relative;
  z-index: 3;
}

Это работает для вас? Измените цвет, исходя из ваших потребностей:)

0
задан jrmswell 17 January 2019 в 13:32
поделиться

1 ответ

Если вы хотите вычислить максимум двух чисел, стандартный подход в сборке ARM выглядит примерно так:

cmp   r0, r1  @ if r0 > r1
movgt r2, r0  @ then r2 = r0
movle r2, r1  @ else r2 = r1

Чтобы добавить максимум r0, r1 и [114 ] до r3 вы можете захотеть что-то вроде этого:

cmp   r0, r1      @ if r0 < r1
movlt r0, r1      @ then r0 = r1 (i.e. r0 = max(r0, r1))
cmp   r0, r2      @ if r0 < r2
movlt r0, r2      @ then r0 = r2 (i.e. r0 = max(max(r0, r1), r2))
add   r3, r0, r3  @ r3 += r0

реализовать это так, чтобы вы не загромождали какие-либо регистры, оставляя читателю в качестве упражнения.

Всегда имейте в виду, что почти каждая инструкция может быть выполнена условно на ARM. В этом вся сила набора инструкций.

0
ответ дан fuz 17 January 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: