www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/03/31/02:02:29

From: "Max Int" <esd AT gbb DOT com DOT au>
Newsgroups: comp.os.msdos.djgpp
Subject: CPP for NASM files
Lines: 66
X-Newsreader: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Message-ID: <BYiM2.517$jQ2.11940@newsfeed.slurp.net>
Date: Wed, 31 Mar 1999 14:07:19 +0800
NNTP-Posting-Host: 203.13.74.202
X-Trace: newsfeed.slurp.net 922860449 203.13.74.202 (Wed, 31 Mar 1999 00:07:29 CDT)
NNTP-Posting-Date: Wed, 31 Mar 1999 00:07:29 CDT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

How can I get CPP to preprocess this type of ASM file? Any suggestions

esd AT deakin DOT edu DOT au
esd AT gbb DOT com DOT au


#include <gdt.h>
; must be the same as in sys/traps.h
#define TRAP_STOP_EXECUTION 1
#define TRAP_CONTINUE_EXECUTION 0


%imacro ENTER_KERNEL 0
 push  dword ds
        push  dword es
        pushad
        mov ax, KERNEL_DS
        mov ds, ax
        mov  es, ax
%endmacro

%imacro LEAVE_KERNEL 0
 popad
        pop dword es
        pop dword ds
%endmacro

[SECTION .text]
[BITS 32]

%imacro IRQ 2
GLOBAL _irq%1
EXTERN _proc_irq%1
EXTERN _num_irq%1

align 4
_irq%1:
 push  dword ds
        push  dword es
        pushad
        mov ax, KERNEL_DS
        mov ds, ax
        mov es, ax
        cmp  dword [_proc_irq%1], 0
        je .exit
        mov eax, [_proc_irq%1]
        push dword %1
        call eax
        add esp, 4
        inc dword [_num_irq%1]
.exit:
 mov al, 0x20
        out %2, al
        popad
        pop  dword es
        pop  dword ds
        iret
%endmacro

IRQ 0, 0x20
IRQ 1, 0x20
IRQ 2, 0x20
IRQ 3, 0x20
IRQ 4, 0x20


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019