Показать сообщение отдельно
  #1  
Старый 30.06.2013, 15:49
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
Вопрос 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
        
на l2 ругается если записывать так:
Код:
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;

что делать как быть?
кода там намного больше, если до чего дойду, ещё спрошу, тут помогите)
Ответить с цитированием