fasm-help Mailing List for flat assembler
Brought to you by:
privalov
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(10) |
Aug
(11) |
Sep
(4) |
Oct
(3) |
Nov
(34) |
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(12) |
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <jr...@mu...> - 2003-07-13 04:17:41
|
Мы рады предложить вам новый бесплатный почтовый сервис http://www.mail15.com. Его отличительные особенности: 1) размер ящика 15 мб; 2) защищенность и надежность; 3) возможность использования любых почтовых программ(POP,IMAP,SMTP); 4) доступ из любого места в любое время; 5) простой и доступный вебинтерфейс с ПОЛНЫМ ОТСУТСТВИЕМ РЕКЛАМЫ; 6) антивирусный и антиспамовый контроль; 7) мгновенная пересылка почты. Если вы не хотите получать более данную рассылку, пишите mailto:uns...@ma...?subject=unsubscribe ************* We are glad to invite you at new free mail service http://www.mail15.com. The advantages of this service are: 1) mailbox, up to 15 Mb; 2) absolute privacy and high reliability; 3) ability to use mail clients (POP3, IMAP4, SMTP); 4) access from anywhere, anytime; 5) flexible light-weight web interface without advertising banners; 6) antivirus and antispam control; 7) fast mail transfer; 8) high speed network channel; 9) flexible light-weight web interface; 10) wide spread ability of mail filtering and forwarding mail; 11) clock around support; If you wish to be removed: mailto:uns...@ma...?subject=unsubscrib uYT61PPtNA |
|
From: Fabio B. <biz...@li...> - 2003-06-15 09:43:25
|
sorry, wrong address |
|
From: Fabio B. <biz...@li...> - 2003-06-15 09:39:18
|
Hi Antony! Long time no hear from you.. hope all is fine! You maybe still remember me, we swapped some emails about your Retro Mach= ine project, last year. I came nearly by accident to this site: http://www.mini-itx.com/ and that helped the associativity of my brain's memory to remember also your proje= ct, so I visited your page again ( http://www.doubledutchdesigns.co.uk/ ) and noticed a radical change in the specs of the computer. No more VIA C3, bu= t a Z80 compatible CPU.. on a custom chip!!! That's very fascinating.. how much does it cost to get an ASIC custom mad= e for you? Can you tell me what happened since last November till now? PS: I'm attaching below one of our last emails, if that may help you to remember me. Take care and keep the great work! Fabio At 15.26 15/11/2002 +0100, you wrote: > >Hi Antony, > >>FB> Sorry, can't help you with this question (others, or Tomasz himself= , will >>FB> surely do it soon).. but I'd want to ask you something: >> >>FB> When you develop your BIOS, you'll want to test it from time to tim= e: do >>FB> you flash it every time, or you know any way to write to the shadow= ram? >> >>FB> Any other detail you may want to share? I'm interested into writing= my >>FB> own BIOS too. >> >>I'm writing a fully 32-bit BIOS with built-in BASIC-like language, it >>should boot within about 3 seconds (max)... > >Cool. :) > > >>My system will have SCART RGB out via the VGA connector - to be linked >>direct to a TV, not a VGA monitor! > >Very cool, old school. :) > > >>I'm basing it on the PLE133 chipset as this is used in EPIA motherboard= s, >>i'm using the C3 processor as this is a cool running 800Mhz processor >>(fan not required!)... Its all also pretty cheap & easy to get! > >How much does it cost the motherboard + the CPU? > >I've been thinking about making "my own computer" too.. can you point me >to some resources? Like a BIOS disassembly (just for curiosity). > > >>The PLE chipset has sound/graphics etc all "built-in" so I don't need >>to talk to "other" video chipsets, I can optimise the system for the >>video chipset onboard. > >Right. I've just downloaded the data sheet. >Do they provide sample source code, or some sort of support for making >one's OS drivers for the built in capabilities of the Apollo PLE133? > > >>The C3 is x86 compatible and has a good future as this and the next >>versions of the processor have some nice "secret" features... :) > >Where can I read about these secret features? > > >>Currently i'm doing it all the VERY hard way, i'm reflashing every >>test run... > >Do you have a separate flashing circuit, or you use the motherboard's >one? > > >>Soon I will have an old style monitor or debugger >>running, so I will then be able to upload updates... > >Very very cool. :) > >Old 8 bit style rules. ;) > > >>I have made a "sub-site" on my website for the project at >>www.doubledutchdesigns.com - it's currently called retro machine (or >>something similar) as I don't yet have a proper name for it! > >I must say I like it a lot.. 8) > >You might call it "Cool 64" (Cool like the CPU, 64 like the bus bits :D = ). > > >>The hard bit was getting anything to work at all... Don't forget >>that until you get things working a little bit, you have hardly any >>access to hardware... > >Yup.. the PCI routines come first.. but I think that disassembling the >mobo original BIOS may be of help. > >One question: don't you fear that when the chipset goes out of productio= n >you'll have to remake ~all the work? :( > > >>A great help was a port $80 (0x80) debug card, i found a cheap source >>at "Los Altos" http://www.losaltos.co.uk/ - it was =A315 +vat +p&p =3D >>just over =A320... (30 euros?)... If your not in the UK, then do a >>search for EP-P80P made by EPoX Computer Company - they are about the >>same price worldwide... > >Thx. > > >>With the card you can (from reset!!!) output to the port a number >>(A POST CODE), this can be anything you want - At each routine output >>a different number, if the display "freezes", then you know that the >>pc has locked up at a particular routine. > >This is always the first kind of debugger one makes. :D > > >>When trying to track down >>one particular bug that locked the machine I had a different number >>per line of the routine!!! > >:))) > >Do you wish to commercialize your own computer? Anyway, following the >old 8 bit style may be great. I have my own almost-mature OS, and was >thinking about getting rid of that old crap BIOS as well. :) > >Keep the great work pal! > > >>-Anthony > > > >------------------------------------------------------- >This sf.net email is sponsored by: To learn the basics of securing=20 >your web site with SSL, click here to get a FREE TRIAL of a Thawte=20 >Server Certificate: http://www.gothawte.com/rd524.html >_______________________________________________ >Fasm-help mailing list >Fas...@li... >https://lists.sourceforge.net/lists/listinfo/fasm-help |
|
From: Zubarev A. <za...@nc...> - 2003-04-18 01:41:45
|
|
From: NetImperia <co...@ne...> - 2003-02-10 14:52:13
|
Hello Arkady, AVB> Is this group lived yet? Yes -- Best regards, NetImperia mailto:co...@ne... |
|
From: Arkady V.B. <ar...@be...> - 2003-02-10 13:38:56
|
Hi!
Is this group lived yet?
|
|
From: Zubarev A. <za...@ra...> - 2003-01-22 03:00:33
|
Hello All, Why the antivirus Doctor Web 4.29 determines FASM 1.43 as Win.Virus? -- Best regards, Zubarev Andrey |
|
From: Tomasz G. <pri...@us...> - 2003-01-21 15:07:18
|
> why you send two mails??? I'm sorry, this is all due to my problems with servers in Poland. That's why I've finally moved to SourceForge with all. -- Tomasz Grysztar |
|
From: Kristaps K. <Kri...@tu...> - 2003-01-21 10:27:38
|
why you send two mails??? > -----Original Message----- > From: Tomasz Grysztar [mailto:pri...@us...] > Sent: Tuesday, January 21, 2003 11:03 AM > To: fas...@li... > Subject: [fasm-help] flat assembler 1.44 > > > > Flat assembler 1.44 is now available and the website has been slightly > updated, I have added section for additional docs (currently only > small FAQ there), Windows version has the first official release > (documentation in PDF format all some Win32 includes are contained in > this package, therefore it's a bit bigger than usual fasm packages). > I did my best to make this release faster and more stable (after > losing the speed and stability during the additions of many features > in previous versions), hope you'll like it. > > The only correct address for fasm is now http://fasm.sourceforge.net/ > (or short http://fasm.sf.net/). If you have any links to other > addresses, please correct them. > > Generally the discussion about fasm has permanently moved to FASM > section of http://board.win32asmcommunity.net/. And this list > (fasm-help) seems to be almost dead now - well, nobody is > posting here, > while on the messageboard we've got at least few post every > day, so if you > haven't tried it yet, it's recommended to visit it. > > -- > Tomasz Grysztar > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com > _______________________________________________ > Fasm-help mailing list > Fas...@li... > https://lists.sourceforge.net/lists/listinfo/fasm-help > |
|
From: Tomasz G. <pri...@us...> - 2003-01-21 08:58:13
|
Flat assembler 1.44 is now available and the website has been slightly updated, I have added section for additional docs (currently only small FAQ there), Windows version has the first official release (documentation in PDF format all some Win32 includes are contained in this package, therefore it's a bit bigger than usual fasm packages). I did my best to make this release faster and more stable (after losing the speed and stability during the additions of many features in previous versions), hope you'll like it. The only correct address for fasm is now http://fasm.sourceforge.net/ (or short http://fasm.sf.net/). If you have any links to other addresses, please correct them. Generally the discussion about fasm has permanently moved to FASM section of http://board.win32asmcommunity.net/. And this list (fasm-help) seems to be almost dead now - well, nobody is posting here, while on the messageboard we've got at least few post every day, so if you haven't tried it yet, it's recommended to visit it. -- Tomasz Grysztar |
|
From: Tomasz G. <pri...@us...> - 2003-01-20 21:18:30
|
Flat assembler 1.44 is now available and the website has been slightly updated, I have added section for additional docs (currently only small FAQ there), Windows version has the first official release (documentation in PDF format all some Win32 includes are contained in this package, therefore it's a bit bigger than usual fasm packages). I did my best to make this release faster and more stable (after losing the speed and stability during the additions of many features in previous versions), hope you'll like it. The only correct address for fasm is now http://fasm.sourceforge.net/ (or short http://fasm.sf.net/). If you have any links to other addresses, please correct them. Generally the discussion about fasm has permanently moved to FASM section of http://board.win32asmcommunity.net/. And this list (fasm-help) seems to be almost dead now - well, nobody is posting here, while on the messageboard we've got at least few post every day, so if you haven't tried it yet, it's recommended to visit it. -- Tomasz Grysztar |
|
From: Fernando <fsa...@ig...> - 2003-01-16 15:23:52
|
I think is not a bug:
jb or jc both jump if carry is set. they are the same!
and the hex code for them is 72h
72 cb JB rel8 Jump short if below (CF=1)
72 cb JC rel8 Jump short if carry (CF=1)
mnemonic meaning condition
JB Jump if Below CF=1
JC Jump if Carry CF=1
look opcodes.hlp that come with masm to more information, or look for intel
opcodes.
regards!
----- Original Message -----
From: "urgo urgo" <ur...@ya...>
To: <fas...@li...>
Sent: Thursday, January 16, 2003 2:57 AM
Subject: [fasm-help] bug report (fasm 1.43)
> hi
>
> i think i have found a bug:
>
> "jc" (jmp if carry flag set)
>
> is assembled by fasm 1.43 as being:
>
> jb (jmp if below)
>
> best regards
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>
>
> -------------------------------------------------------
> This SF.NET email is sponsored by: A Thawte Code Signing Certificate
> is essential in establishing user confidence by providing assurance of
> authenticity and code integrity. Download our Free Code Signing guide:
> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
> _______________________________________________
> Fasm-help mailing list
> Fas...@li...
> https://lists.sourceforge.net/lists/listinfo/fasm-help
>
|
|
From: urgo u. <ur...@ya...> - 2003-01-16 04:57:52
|
hi i think i have found a bug: "jc" (jmp if carry flag set) is assembled by fasm 1.43 as being: jb (jmp if below) best regards __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |
|
From: Fernando <fsa...@ig...> - 2003-01-16 00:26:20
|
use this in fasm: mov ax,[fs:0] ----- Original Message ----- From: "urgo urgo" <ur...@ya...> To: <fas...@li...> Sent: Wednesday, January 15, 2003 8:50 PM Subject: [fasm-help] how to write a seh using fasm? > hi > > to write a seh i need to write expression like: > > mov ax,fs:[0] (tasm syntax) > > how to do ? > > best regards > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com > > > ------------------------------------------------------- > This SF.NET email is sponsored by: A Thawte Code Signing Certificate > is essential in establishing user confidence by providing assurance of > authenticity and code integrity. Download our Free Code Signing guide: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en > _______________________________________________ > Fasm-help mailing list > Fas...@li... > https://lists.sourceforge.net/lists/listinfo/fasm-help > |
|
From: urgo u. <ur...@ya...> - 2003-01-15 23:01:03
|
i want to write a macro to generate something like that: (jsut a silly example) label01: test eax,eax jz label02 add eax,1 label02: test eax,eax jz label03 add eax,2 label03: test eax,eax jz label04 add eax,3 ... label98: test eax,eax jz label99 add eax,98 label99: that would be cool if the macro instruction of fasm had a sort of instruction to concatenate two strings and a integertoascii instruction too. best regards __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |
|
From: urgo u. <ur...@ya...> - 2003-01-15 22:50:55
|
hi to write a seh i need to write expression like: mov ax,fs:[0] (tasm syntax) how to do ? best regards __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |
|
From: Tomasz G. <fa...@me...> - 2003-01-01 15:21:07
|
With fasm you write just: invoke glColor3f,1.0f,1.0f,1.0f invoke glVertex2f,-0.6f,-0.6f etc. For more details, look here: http://board.win32asmcommunity.net/showthread.php?s=&threadid=7389 -- Tomasz |
|
From: Andrey Ch <so...@ma...> - 2003-01-01 12:44:29
|
Hi, fasm-help-request.
In OpenGL there are these variables:
GLenum equ dd
GLboolean equ db
GLbitfield equ dd
GLbyte equ db ;-128..127
GLshort equ dw ;-32768..32767 signed 16-bit
GLint equ dd
GLsizei equ dd
GLubyte equ db
GLushort equ dw
GLuint equ dd
GLfloat equ dd ;REAL4
GLclampf equ dd ;REAL4 ; float clamped to [0,1]
GLdouble equ dq ;REAL8
GLclampd equ dq ;REAL8 ; double clamped to [0,1]
for example I write this code:
_glColor3f 0.1f,0.1f,1.0f
_glVertex2f -0.6f,-0.6f
_glColor3f 0.1f,1.0f,0.1f
_glVertex2f 0.6f,-0.6f
_glColor3f 1.0f,0.1f,0.1f
_glVertex2f 0.6f,0.6f
_glColor3f 1.0f,1.0f,1.0f
_glVertex2f -0.6f,0.6f
after processing the macro I get this code
invoke glColor3f,3DCCCCCDh,3DCCCCCDh,3F800000h
invoke glVertex2f,0BF19999Ah,0BF19999Ah
invoke glColor3f,3DCCCCCDh,3F800000h,3DCCCCCDh
invoke glVertex2f,3F19999Ah,0BF19999Ah
invoke glColor3f,3F800000h,3DCCCCCDh,3DCCCCCDh
invoke glVertex2f,3F19999Ah,3F19999Ah
invoke glColor3f,3F800000h,3F800000h,3F800000h
invoke glVertex2f,0BF19999Ah,3F19999Ah
glVertex2f
^^ f is type GLfloat
That's all.
--
---
Origin: music
Andrey mailto:so...@ma...
Sources pascal http://pascal.vov.ru/
|
|
From: Tomasz G. <fa...@me...> - 2002-12-30 23:13:28
|
I think it could be easier if you told what these macros have to do, and then we would come with solution for fasm. -- Tomasz |
|
From: Andrey Ch <so...@ma...> - 2002-12-30 08:03:02
|
hi, fasm-help.
I'm working on transfer OpenGL headers for FASM and
there are some problems, I can'd adapt macros masm for macros fasm
help me!
======================================================================
gl_movf MACRO dest,numb
mov dest,12345678h
ORG $-4
real4 numb
ENDM
;====> Better close your eyes... ADULTS ONLY!
gl_fpush MACRO numb
LOCAL prmstr,prmlen,x,n
prmstr EQU <numb>
prmlen SIZESTR prmstr
IF (prmlen LE 7)
;; constant or varname
x SUBSTR prmstr,prmlen,1
IFIDNI x,<f>
x SUBSTR prmstr,1,prmlen-1
push 12345678h
ORG $-4
real4 &x
ELSE
push GLfloat ptr prmstr
ENDIF
ELSE
x SUBSTR prmstr,1,7
IFIDNI x,<(float)>
x SUBSTR prmstr,8
n=&x
x TEXTEQU %n
x CATSTR x,<.0>
push 12345678h
ORG $-4
real4 &x
ELSE
x SUBSTR prmstr,prmlen,1
IFIDNI x,<f>
x SUBSTR prmstr,1,prmlen-1
push 12345678h
ORG $-4
real4 &x
ELSE
push GLfloat ptr prmstr
ENDIF
ENDIF
ENDIF
ENDM
; version without auto-convertion
_gl_fpush MACRO numb
LOCAL prmstr,prmlen,x
prmstr EQU <numb>
prmlen SIZESTR prmstr
x SUBSTR prmstr,prmlen,1
IFIDNI x,<f>
x SUBSTR prmstr,1,prmlen-1
push 12345678h
ORG $-4
real4 &x
ELSE
push GLfloat ptr prmstr
ENDIF
ENDM
; ugly, ugly, ugly... but yet works (from time to time)
IF 0 ; this version is more stable, but generated code much more close to insane
gl_dpush MACRO numb
LOCAL loc1,dat,prmstr,prmlen,x
prmstr EQU <numb>
prmlen SIZESTR prmstr
x SUBSTR prmstr,prmlen,1
IFIDNI x,<f>
x SUBSTR prmstr,1,prmlen-1
jmp loc1
ALIGN DWORD
dat real8 &x
loc1:
push dword ptr dat[4]
push dword ptr dat
ELSE
x CATSTR prmstr,<[4]>
push dword ptr x
push dword ptr prmstr
ENDIF
ENDM
_glFrustum MACRO l,r,b,t,zNear,zFar
gl_dpush zFar
gl_dpush zNear
gl_dpush t
gl_dpush b
gl_dpush r
gl_dpush l
call glFrustum
ENDM
ELSE
gl_dpush MACRO numb
LOCAL prmstr,prmlen,x
prmstr EQU <numb>
prmlen SIZESTR prmstr
x SUBSTR prmstr,prmlen,1
IFIDNI x,<f>
x SUBSTR prmstr,1,prmlen-1
real8 &x
db 68h
real8 &x
ORG $-8-1-8
db 8Dh,40h,0 ; lea eax,[eax+0]
db 68h
ORG $+4+1+4
ELSE
x CATSTR prmstr,<[4]>
mov eax,eax
mov ebx,ebx
push dword ptr x
push dword ptr prmstr
ENDIF
ENDM
_glFrustum MACRO l,r,b,t,zNear,zFar
gl_dpush zFar
gl_dpush zNear
gl_dpush t
gl_dpush b
gl_dpush r
gl_dpush l
mov eax,eax
mov ebx,ebx
call glFrustum
ENDM
_glOrtho MACRO l,r,b,t,zNear,zFar
gl_dpush zFar
gl_dpush zNear
gl_dpush t
gl_dpush b
gl_dpush r
gl_dpush l
mov eax,eax
mov ebx,ebx
call glOrtho
ENDM
_glDepthRange MACRO zNear,zFar
gl_dpush zFar
gl_dpush zNear
mov eax,eax
mov ebx,ebx
call glDepthRange
ENDM
ENDIF
_glTranslatef MACRO x,y,z
gl_fpush z
gl_fpush y
gl_fpush x
call glTranslatef
ENDM
_glRotatef MACRO angle,x,y,z
gl_fpush z
gl_fpush y
gl_fpush x
gl_fpush angle
call glRotatef
ENDM
_glNormal3f MACRO nx,ny,nz
gl_fpush nz
gl_fpush ny
gl_fpush nx
call glNormal3f
ENDM
_glVertex3f MACRO x,y,z
gl_fpush z
gl_fpush y
gl_fpush x
call glVertex3f
ENDM
_glVertex2f MACRO x,y
gl_fpush y
gl_fpush x
call glVertex2f
ENDM
_glColor3f MACRO R,G,B
gl_fpush B
gl_fpush G
gl_fpush R
call glColor3f
ENDM
_glTexCoord2f MACRO u,v
gl_fpush v
gl_fpush u
call glTexCoord2f
ENDM
_glTexEnvfv MACRO target,pname,lpparam
invoke glTexEnvfv,target,pname,lpparam
ENDM
_glTexEnvf MACRO target,pname,param
gl_fpush param
push pname
push target
call glTexEnvf
ENDM
_glTexEnvi MACRO target,pname,param
push param
push pname
push target
call glTexEnvf
ENDM
_glTexParameterf MACRO target,pname,param
gl_fpush param
push pname
push target
call glTexParameterf
ENDM
_glTexParameteri MACRO target,pname,param
push param
push pname
push target
call glTexParameteri
ENDM
_glBegin MACRO mode
invoke glBegin,mode
ENDM
_glEnd MACRO
invoke glEnd
ENDM
_glEnable MACRO cap
invoke glEnable,cap
ENDM
_glDisable MACRO cap
invoke glDisable,cap
ENDM
_glFogf MACRO a,b
gl_fpush b
push a
call glFogf
ENDM
_glBindTexture MACRO target,texture
push texture
push target
call glBindTexture
ENDM
_glMatrixMode MACRO mode
invoke glMatrixMode,mode
ENDM
_glShadeModel MACRO mode
invoke glShadeModel,mode
ENDM
_glLoadIdentity MACRO
invoke glLoadIdentity
ENDM
_glFrontFace MACRO mode
invoke glFrontFace,mode
ENDM
_glViewport MACRO x,y,w,h
push h
push w
push y
push x
call glViewport
ENDM
;#########################################################################
;# FPC - Floating Point Constant #
;# Macro by BitRake #
;#########################################################################
fpc MACRO val:REQ
LOCAL w,x,y,z,zz,ww
;; split type and value, defaulting to REAL4
z INSTR 1,<&val>,<! >
IF z EQ 0
y TEXTEQU <REAL4>
x TEXTEQU <&val>
ELSE
y TEXTEQU @SubStr(<&val>,1,z-1) ;; Type
x TEXTEQU @SubStr(<&val>,z+1,) ;; Value
ENDIF
;; replace . with _
z INSTR 1,x,<!.>
IF z EQ 0
w TEXTEQU x
x CATSTR x,<.0> ;; prevent error message
ELSE
w CATSTR @SubStr(%x,1,z-1),<_>,@SubStr(%x,z+1,)
ENDIF
;; replace - with _
zz INSTR 1,w,<!->
IF zz EQ 0
ww TEXTEQU w
ELSE
ww CATSTR @SubStr(%w,1,zz-1),<_>,@SubStr(%w,zz+1,)
ENDIF
;; figure out global name for constant
z SIZESTR y ;; use last char for size distiction
ww CATSTR <__>,ww,<r>,@SubStr(%y,z,1)
IF (OPATTR(ww)) EQ 0 ;; not defined
CONST SEGMENT
ww y x
CONST ENDS
ENDIF
EXITM ww
ENDM
======================================================================
---
Origin: music
Andrey mailto:so...@ma...
Sources pascal http://pascal.vov.ru/
|
|
From: Anthony <an...@do...> - 2002-11-25 20:49:22
|
Hi,
Anyone writing a bios using fasm may find this macro helpful, it
allowed me to get rid of a lot of wasteful repetitive code. The
problem normally being that until you setup a stack, you cannot use
subroutines. And until you set up dram, you can't set up a stack!
With the macro below, you just use "spcall routinename", you must
however make sure that the you copy cs to ss at the start of your
bios. Calls can only be one level deep.
; this macro does a call when there is no stack
macro spcall addr
{
local deststack,destaddr
mov sp,((deststack)and $ffff) ; point stack to data after jmp instruction
jmp addr ; do the routine
deststack: dw ((destaddr)and $ffff) ; when a retn is executed...
destaddr: ; ... it will return to this address - pulled off the stack!
}
-Anthony mailto:an...@do...
For more information about Double Dutch Designs Limited, visit http://www.doubledutchdesigns.com
This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify of...@do..., and delete it from your systems. You should not copy, disclose, or distribute its contents to anyone without our written permission. Double Dutch Designs emails are scanned for viruses but cannot be guaranteed to be virus-free. We accept no liability for viruses which may inadvertently be transmitted, nor for any loss occasioned by them. This e-mail and any files enclosed remain the property of Double Dutch Designs Limited.
|
|
From: Andrey Ch <so...@ma...> - 2002-11-23 09:28:16
|
hi, All. =============================================================================== ;please help to make this code faster mov [LpbufFlower1], bufFlower1 mov [LpbufFlower2], bufFlower2 mov ecx, 307200 ;640*480=307200 bytes mov edi, bufAlphaFlower @@povtor_: mov eax, [Alpha] ;Alpha push eax mov esi, [LpbufFlower1] mov ax, [esi] push eax mov esi, [LpbufFlower2] mov ax, [esi] push eax call alpha16 mov [edi], ax add edi, 2 add [LpbufFlower1], 2 add [LpbufFlower2], 2 dec ecx jnz @@povtor_ =============================================================================== --- Origin: music Andrey mailto:so...@ma... Sources pascal http://pascal.vov.ru/ |
|
From: Tomasz G. <fa...@me...> - 2002-11-19 20:56:24
|
Tuesday, November 19, 2002, 10:09:32 AM, you wrote: ST> J'm using the next macro: > May be another way for numeric variable test? "var2 eq +var2" is not a test for number, it can only distinquish the quoted string data from a standard number. In your case you probably want to distinguish the register from number. Maybe you should define also "REGISTERS equ al,bl,cl,dl,ah,bh,ch,dh,ax,bx,cx,dx,eax,ebx,ecx,edx,si,di,esi,edi" and then do the check: "if var1 in <REGISTERS> & ~ var2 in <REGISTERS>". -- Tomasz |
|
From: <ult...@no...> - 2002-11-19 14:32:54
|
UNSUBSCRIBE
----- Original Message -----
From: "Serge Tserkovitsky" <ts...@ra...>
To: <fas...@li...>
Sent: Tuesday, November 19, 2002 2:09 PM
Subject: [fasm-help] Variable test
> J'm using the next macro:
>
> macro _compare var1,cond,var2
> {
> if ~ ( cond in <CMP_OPPCODES,CMP_BITS,CMP_NBITS> )
> _error 'unavailable compare instruction'
> else if ( cond in <CMP_BITS,CMP_NBITS> )
> test var1,var2
> else if ( var1 in
<al,bl,cl,dl,ah,bh,ch,dh,ax,bx,cx,dx,eax,ebx,ecx,edx,si,di,esi,edi> ) & (
var2 eq +var2 )
> if ~ var2
> test var1,var1
> else
> cmp var1,var2
> end if
> else
> cmp var1,var2
> end if
> }
>
> Parser error if var2 in <al,ah> etc.
> May be another way for numeric variable test?
>
> With many thanks, S.Tserkovitsky
> ts...@ra...
>
>
>
>
>
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: To learn the basics of securing
> your web site with SSL, click here to get a FREE TRIAL of a Thawte
> Server Certificate: http://www.gothawte.com/rd524.html
> _______________________________________________
> Fasm-help mailing list
> Fas...@li...
> https://lists.sourceforge.net/lists/listinfo/fasm-help
>
|
|
From: Serge T. <ts...@ra...> - 2002-11-19 09:11:20
|
J'm using the next macro:
macro _compare var1,cond,var2
{
if ~ ( cond in <CMP_OPPCODES,CMP_BITS,CMP_NBITS> )
_error 'unavailable compare instruction'
else if ( cond in <CMP_BITS,CMP_NBITS> )
test var1,var2
else if ( var1 in <al,bl,cl,dl,ah,bh,ch,dh,ax,bx,cx,dx,eax,ebx,ecx,edx,si,di,esi,edi> ) & ( var2 eq +var2 )
if ~ var2
test var1,var1
else
cmp var1,var2
end if
else
cmp var1,var2
end if
}
Parser error if var2 in <al,ah> etc.
May be another way for numeric variable test?
With many thanks, S.Tserkovitsky
ts...@ra...
|