|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
мы на Delphi Sources или где?
Код:
with TStack.Create do begin Push(Pointer(a)); Push(Pointer(b)); Push(Pointer(c)); Push(Pointer(d)); a:=Integer(Pop); d:=Integer(Pop); c:=Integer(Pop); b:=Integer(Pop); Free; end; Пишу программы за еду. __________________ |
#17
|
||||
|
||||
Не будем делать новую переменную типа Integer. Просто сделаем новый стек.
jmp $ ; Happy End! The Cake Is A Lie. |
#18
|
||||
|
||||
в любом случае явно она не определена (в var), так же как и на использование регистров закрываем глаза)))
Пишу программы за еду. __________________ |
#19
|
||||
|
||||
Это вообще какое-то мерение писечками, кто круче напишет.
На такие вещи вообще глаза закрывают; не постиранные шнурки не могут изменить ход войны. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#21
|
||||
|
||||
Ну когда уже прикладную фаллометрию закончат применением int64 и shl/shr?
P.S. У меня получилось сделать это в одну строку. Первому написавшему это решение + в репутацию от меня Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#22
|
||||
|
||||
Цитата:
Код:
asm push a push b pop a push c pop b push d pop c pop d end; Пишу программы за еду. __________________ |
#23
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#24
|
||||
|
||||
м, а поподробнее?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#25
|
||||
|
||||
Помещаешь в eax последовательно три байта со значениями твоих переменных, после чего делаешь bswap eax
mov eax, $01020300 bswap eax ; теперь там $00030201 — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#26
|
||||
|
||||
Цитата:
Код:
with TStack.Create do begin Push(Pointer(a)); Push(Pointer(b)); a:=Integer(Pop); b:=Integer(Pop); Free; end; Пишу программы за еду. __________________ |
#27
|
||||
|
||||
Код:
var A,B:integer; ... Int64((@A)^):=Int64(A) shl 32 + B; jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 07.09.2011 в 00:43. |
#28
|
||||
|
||||
Цитата:
Код:
var a, c, b, d: Integer; begin a:=13; b:=11; c:=1973; d:=$ff; Edit1.Text:=IntToStr(a); Edit3.Text:=IntToStr(b); Int64((@a)^):=Int64(a) shl 32 + b; Edit2.Text:=IntToStr(a); Edit4.Text:=IntToStr(b); end; Пишу программы за еду. __________________ |
#29
|
||||
|
||||
А для глобальных пашет. В локальных надо от B начинать, то есть
Код:
var a,b:integer; ... Int64((@b)^):=Int64(b) shl 32 + a; jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 07.09.2011 в 19:18. |
#30
|
|||
|
|||
ну так про решение одним оператором и не подряд описаных переменных развод был?
|