Mail Archives: djgpp/1996/11/06/13:38:40
> From: Self <bartosz>
> To: msnakes AT juno DOT com,djgpp AT delorie DOT com
> Subject: Re: Help with At&t assembly
> > To: djgpp AT delorie DOT com
> > Date: Tue, 5 Nov 1996 22:15:25 PST
> > Subject: Help with At&t assembly
> > From: msnakes AT juno DOT com (Matt J Reiferson)
[snip]
> Attachments:
> A:\Q.A
> A:\Q.AU
Hi,
Probably my previous e-mail have no attachments so I resend it.
----------------- AT&T -------------------------
.file "q"
.text
.align 4
.globl _RENDER_SLIVER_32
_RENDER_SLIVER_32:
enter $0x00,$0x0000
pushw %si
pushw %di
lesw %cs:_DOUBLE_BUFFER,%di
movw %cs:_SLIVER_COLUMN,%dx
lfsw %cs:_SLIVER_TEXTURE,%si
movw %cs:_SLIVER_TOP,%bx
shlw $0x08,%bx
movw %bx,%ax
shrw $0x02,%bx
addw %ax,%bx
addw %cs:_SLIVER_RAY,%bx
movw %cs:_SLIVER_CLIP,%bx
movw %cs:_SLIVER_SCALE,%ax
addw %bx,%ax
L1: xchgw %bx,%dx
movb %fs:(%bx,%si),%cl
movb %cl,%es:(,%di)
xchgw %bx,%dx
movw %bx,%cx
movw %cs:_SCALE_ROW,%dx
shlw $1,%bx
addw %dx,%bx
movw (%bx),%dx
addw %cs:_SLIVER_COLUMN,%dx
movw %cx,%bx
addw $0x0140,%di
incw %bx
cmpw %ax,%bx
jne L1
popw %di
popw %si
leave
lret
.data
.align 4
--------------- INTEL --------------------
retf MACRO POP_COUNT
LOCAL DUMMY
DUMMY PROC FAR
RET POP_COUNT
DUMMY ENDP
ENDM
.386p
NAME q
EXTRN _SCALE_ROW :BYTE
EXTRN _SLIVER_CLIP :BYTE
EXTRN _SLIVER_RAY :BYTE
EXTRN _SLIVER_SCALE :BYTE
EXTRN _SLIVER_TOP :BYTE
EXTRN _SLIVER_COLUMN :BYTE
EXTRN _SLIVER_TEXTURE :BYTE
EXTRN _DOUBLE_BUFFER :BYTE
DGROUP GROUP _DATA
Q_TEXT SEGMENT DWORD PUBLIC USE32 'CODE'
ASSUME CS:Q_TEXT ,DS:DGROUP,SS:DGROUP
PUBLIC _RENDER_SLIVER_32
_RENDER_SLIVER_32:
enter 0000H,00H
push si
push di
les di,dword ptr cs:_DOUBLE_BUFFER
mov dx,word ptr cs:_SLIVER_COLUMN
lfs si,dword ptr cs:_SLIVER_TEXTURE
mov bx,word ptr cs:_SLIVER_TOP
shl bx,08H
mov ax,bx
shr bx,02H
add bx,ax
add bx,word ptr cs:_SLIVER_RAY
mov bx,word ptr cs:_SLIVER_CLIP
mov ax,word ptr cs:_SLIVER_SCALE
add ax,bx
L1: xchg dx,bx
mov cl,byte ptr fs:[bx+si]
mov byte ptr es:[di],cl
xchg dx,bx
mov cx,bx
mov dx,word ptr cs:_SCALE_ROW
shl bx,1
add bx,dx
mov dx,word ptr [bx]
add dx,word ptr cs:_SLIVER_COLUMN
mov bx,cx
add di,0140H
inc bx
cmp bx,ax
jne short L1
pop di
pop si
leave
retf
Q_TEXT ENDS
_DATA SEGMENT DWORD PUBLIC USE32 'DATA'
_DATA ENDS
END
+-----------------------+----------------------------+
| Bartosz Polednia | bartosz AT bielbit DOT bielsko DOT pl |
+=======================+============================+
| Centrum Badawczo Wdrozeniowe BIELbit Sp. z o.o. |
| ul. Legionow 57, 43-300, Bielsko-Biala, Poland |
|tel. +48-33-12-61-94, +48-33-12-39-48, +48-33-212-70|
|fax. +48-33-209-78 |
+----------------------------------------------------+
- Raw text -