Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2011-05-21 12:03:49 ЛС | профиль | цитата
AVladM писал(а):
Мне нужно реализовать, то что на Си выглядит так:
T = (T&0x80)? -(T-0x80):T;
Что на русском языке выглядит так:
Если старший бит=1 то убрать старший бит и умножить на -1 иначе ничего не делать.
А дословно в HiAsm это выглядит так:
code_24058.txt
Или элементарно можно решить на одном MathParse
Add(Button,9688009,105,273)
{
Left=65
Top=75
link(onClick,6485618:doCalc,[])
}
Add(Edit,13245669,168,224)
{
Left=70
Top=35
Text="128"
DataType=2
}
Add(Label,10438205,224,273)
{
Left=180
Top=40
}
Add(MathParse,6485618,168,273)
{
DataCount=1
MathStr="(%1>=128)*(-(%1-128)) + (%1<128)*%1"
ResultType=0
link(onResult,10438205:doText,[])
link(X1,13245669:Text,[])
}
Даже если Вас съели - у Вас есть два выхода
------------ Дoбавленo в 12.03:
nesco, нехватает нам кубика Iif. Давно хотел сделать.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_24058.txt [883B] [147]