|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi и Assembler
Доброго времени) С Делфями работаю уже довольно давно, а в ассемблере нуб полнейший, знаю, что можно включать асм код в делфи с помошью asm..end; но у меня возникли сложности с переводом кода из ассемблера, не могу или не знаю как правильно объяснить делфи такую конструкцию:
Код:
kit_start: section .restart vstart=0 cli xor bx, bx mov ss, bx mov [ss:0x7afe], sp mov sp, 0x7afe push ds pushad mov ds,bx mov ax, [0x413] sub ax, 2 mov [0x413], ax shl ax, 0x6 mov ax, CODEBASEIN1MB mov es, ax mov bx, 0x8000 mov [bx + codereloc], ax mov [bx + codeloc2], ax xor bx, bx cld ...... mov [0x4e], es sti push es push word dertig retf kit_start: section .restart vstart=0 как записать? ив от ещё: Код:
sleep:. mov cx, 0x1ff l1: push cx mov cx,0xffff l2: loop l2 pop cx loop l1 ret Код:
procedure sleep(); asm mov cx, 0x1ff end; procedure l1(); asm push cx mov cx,0xffff end; procedure l2(); asm loop l2//тут ворчит pop cx loop l1 retend; что делать как быть? кода там намного больше, если до чего дойду, ещё спрошу, тут помогите) |
#2
|
||||
|
||||
Метки пишутся так:
Код:
@l1: nop jmp @l1 З.Ы, и смысл в этом коде? Код:
mov cx,0xffff l2: loop l2 — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 30.06.2013 в 16:44. |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
reqyz (30.06.2013)
|
#3
|
||||
|
||||
Не просто для дос - это походу кусок какого-то загрузчика или операционки. Все указывает именно на это:
Цитата:
ТС видимо пытается написать загрузчик на делфях... Некоторые пытались тут, ничего не вышло толком. Делфа для этого не предназначена. Цитата:
Код:
l2: push ebp mov ebp, esp loop l2 jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 30.06.2013 в 16:51. |
#4
|
||||
|
||||
Код:
procedure foo; register; assembler; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 30.06.2013 в 19:05. |
#5
|
|||
|
|||
Спасибо, буду разбираться, в случае чего ещё спрошу)
|
#6
|
|||
|
|||
kit_start:
section .restart vstart=0 а что касаемо этого фрагмента, как это в делфях будет выглядеть? |
#7
|
||||
|
||||
Никак не будет, и уже писали почему.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |