--------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00006Date: 08/04/97 From: TOM TORFS Time: 01:21am \/To: ALL (Read 1 times) Subj: tracer.asm (3/6) >>>>>>>>>> CSplit: Version 2.2 >>>>>>>>>> >>>>>>>>>> CSplit: Begin part 3/6 >>>>>>>>>> ; int 21h handler @@int21handler: push bp mov bp,sp push ax push bx push cx push dx push ds pushf mov ax,cs mov ds,ax cmp [indos],0 jnz @@nointercept mov [indos],1 ; get PSP address mov ah,62h int 21h cmp bx,[ourpsp] je @@notinprogram ; calculate segment address relative to PSP mov ax,[bp+4] sub ax,bx jc @@notinprogram ; write segment address call @@writehex ; write colon mov dx,offset colon mov cx,1 call @@writelog ; write offset address mov ax,[bp+2] sub ax,2 ; compensate for int call call @@writehex ; write space mov dx,offset space mov cx,1 call @@writelog ; write AX= mov dx,offset axvalue mov cx,4 call @@writelog ; write ax value mov ax,[bp-2] call @@writehex cmp byte ptr [bp-1],73h ; ah ja @@nodesc ; write space mov dx,offset space mov cx,1 call @@writelog ; write description mov bl,[bp-1] ; ah mov bh,0 shl bx,1 mov dx,[funcdesc+bx] call @@writestr @@nodesc: ; write crlf mov dx,offset crlf mov cx,2 call @@writelog @@notinprogram: mov [indos],0 @@nointercept: popf pop ds pop dx pop cx pop bx pop ax pop bp db 0EAh ; jmp seg:ofs oldint21ofs dw ? oldint21seg dw ? ; prints a nul-terminated string, followed by a crlf ; ds:dx = string ; changes: ax,bx,dx @@puts: mov bx,dx dec bx ; to compensate for first inc @@putszeroloop: inc bx cmp byte ptr [bx],0 jne @@putszeroloop >>>>>>>>>> CSplit: End part 3/6 crc: 2aa5 >>>>>>>>>> --- * Origin: CPost v1.0 (2:292/516) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00007Date: 08/04/97 From: TOM TORFS Time: 01:21am \/To: ALL (Read 1 times) Subj: tracer.asm (4/6) >>>>>>>>>> CSplit: Version 2.2 >>>>>>>>>> >>>>>>>>>> CSplit: Begin part 4/6 >>>>>>>>>> mov byte ptr [bx],'$' mov ah,9 int 21h mov byte ptr [bx],0 mov ah,9 mov dx,offset crlf int 21h ret ; write cx bytes from ds:dx to the logfile ; changes ax,bx,cx @@writelog: mov ah,40h mov bx,[loghandle] int 21h ret ; write a nul-terminated string from ds:dx to the logfile ; changes ax,bx,cx @@writestr: mov bx,dx dec bx ; compensate for first inc @@findstrzeroloop: inc bx cmp byte ptr [bx],0 jnz @@findstrzeroloop mov cx,bx sub cx,dx call @@writelog ret ; write the 4-digit hexadecimal value in ax to the logfile ; changes ax,bx,cx @@writehex: mov bl,ah mov cl,4 shr bl,cl mov bh,0 mov cl,[hexdigit+bx] mov [hexbuf],cl mov bl,ah and bl,0Fh mov bh,0 mov cl,[hexdigit+bx] mov [hexbuf+1],cl mov bl,al mov cl,4 shr bl,cl mov bh,0 mov cl,[hexdigit+bx] mov [hexbuf+2],cl mov bl,al and bl,0Fh mov bh,0 mov cl,[hexdigit+bx] mov [hexbuf+3],cl mov dx,offset hexbuf mov cx,4 call @@writelog ret parablock label envseg dw ? commandlineofs dw ? commandlineseg dw ? fcb1ofs dw -1 fcb1seg dw -1 fcb2ofs dw -1 fcb2seg dw -1 saveSP dw ? indos db 0 hexdigit db '0123456789ABCDEF' hexbuf db 4 dup (?) titlemessage db 'Tracer, public domain by Tom Torfs',13,10,10,'$' usage db 'Usage: TRACER []',13,10,10 db 'The trace data will be written to TRACER.LOG.',13,10 db '$' tracing db 'Tracing ','$' execerror db 'Error executing program',13,10,'$' >>>>>>>>>> CSplit: End part 4/6 crc: 193a >>>>>>>>>> --- * Origin: CPost v1.0 (2:292/516) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00008Date: 08/04/97 From: TOM TORFS Time: 01:21am \/To: ALL (Read 1 times) Subj: tracer.asm (5/6) >>>>>>>>>> CSplit: Version 2.2 >>>>>>>>>> >>>>>>>>>> CSplit: Begin part 5/6 >>>>>>>>>> openlogerr db 'Can''t write to logfile',13,10,'$' logfile db 'TRACER.LOG',0 colon db ':' space db ' ' axvalue db 'AX=' crlf db 13,10,'$' loghandle dw ? ourpsp dw ? execpath db 80 dup (?) funcdesc dw offset func00, offset func01, offset func02, offset func03 dw offset func04, offset func05, offset func06, offset func07 dw offset func08, offset func09, offset func0A, offset func0B dw offset func0C, offset func0D, offset func0E, offset func0F dw offset func10, offset func11, offset func12, offset func13 dw offset func14, offset func15, offset func16, offset func17 dw offset func18, offset func19, offset func1A, offset func1B dw offset func1C, offset func1D, offset func1E, offset func1F dw offset func20, offset func21, offset func22, offset func23 dw offset func24, offset func25, offset func26, offset func27 dw offset func28, offset func29, offset func2A, offset func2B dw offset func2C, offset func2D, offset func2E, offset func2F dw offset func30, offset func31, offset func32, offset func33 dw offset func34, offset func35, offset func36, offset func37 dw offset func38, offset func39, offset func3A, offset func3B dw offset func3C, offset func3D, offset func3E, offset func3F dw offset func40, offset func41, offset func42, offset func43 dw offset func44, offset func45, offset func46, offset func47 dw offset func48, offset func49, offset func4A, offset func4B dw offset func4C, offset func4D, offset func4E, offset func4F dw offset func50, offset func51, offset func52, offset func53 dw offset func54, offset func55, offset func56, offset func57 dw offset func58, offset func59, offset func5A, offset func5B dw offset func5C, offset func5D, offset func5E, offset func5F dw offset func60, offset func61, offset func62, offset func63 dw offset func64, offset func65, offset func66, offset func67 dw offset func68, offset func69, offset func6A, offset func6B dw offset func6C, offset func6D, offset func6E, offset func6F dw offset func70, offset func71, offset func72, offset func73 func00 db "terminate program",0 func01 db "character input with echo",0 func02 db "character output",0 func03 db "character input from AUX",0 func04 db "character output to AUX",0 func05 db "character output to PRN",0 func06 db "direct console I/O",0 func07 db "unfiltered character input without echo",0 func08 db "character input without echo",0 func09 db "output character string",0 func0A db "buffered input",0 func0B db "get input status",0 func0C db "reset input buffer and then input",0 func0D db "disk reset",0 func0E db "select default disk drive",0 func0F db "open file (FCB)",0 func10 db "close file (FCB)",0 func11 db "search for first match (FCB)",0 func12 db "search for next match (FCB)",0 func13 db "delete file (FCB)",0 func14 db "sequential read (FCB)",0 func15 db "sequential write (FCB)",0 func16 db "create file (FCB)",0 func17 db "rename file (FCB)",0 func18 db "CP/M compatability function",0 func19 db "get default disk drive",0 func1A db "set DTA address",0 func1B db "get information for default drive",0 func1C db "get information for specified drive",0 func1D db "CP/M compatability function",0 func1E db "CP/M compatability function",0 func1F db "get DPB pointer to current drive",0 func20 db "CP/M compatability function",0 func21 db "random read (FCB)",0 func22 db "random write (FCB)",0 func23 db "get file size in records (FCB)",0 func24 db "set random record number (FCB)",0 func25 db "set interrupt vector",0 func26 db "create PSP",0 func27 db "random block read (FCB)",0 func28 db "random block write (FCB)",0 >>>>>>>>>> CSplit: End part 5/6 crc: 188e >>>>>>>>>> --- * Origin: CPost v1.0 (2:292/516) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00009Date: 08/04/97 From: TOM TORFS Time: 01:21am \/To: ALL (Read 1 times) Subj: tracer.asm (6/6) >>>>>>>>>> CSplit: Version 2.2 >>>>>>>>>> >>>>>>>>>> CSplit: Begin part 6/6 >>>>>>>>>> func29 db "parse filename to FCB",0 func2A db "get system date",0 func2B db "set system date",0 func2C db "get system time",0 func2D db "set system time",0 func2E db "set verify flag",0 func2F db "get DTA address",0 func30 db "get MS-DOS version number",0 func31 db "terminate with return code and stay resident",0 func32 db "get DPB pointer for a specified drive",0 func33 db "get/set flag",0 func34 db "get INDOS flag pointer",0 func35 db "get interrupt vector",0 func36 db "get free disk space",0 func37 db "get/set code for command line switch",0 func38 db "get/set country",0 func39 db "create subdirectory",0 func3A db "delete subdirectory",0 func3B db "set current directory",0 func3C db "create file (handle)",0 func3D db "open file (handle)",0 func3E db "close file (handle)",0 func3F db "read from file (handle)",0 func40 db "write to file (handle)",0 func41 db "delete file (handle)",0 func42 db "move file pointer (handle)",0 func43 db "get/set file attributes",0 func44 db "IOCTL function",0 func45 db "duplicate handle",0 func46 db "force duplicate of handle",0 func47 db "get current directory",0 func48 db "allocate memory",0 func49 db "free memory",0 func4A db "resize memory block",0 func4B db "execute program/overlay",0 func4C db "terminate with return code",0 func4D db "get return code",0 func4E db "search for first match (handle)",0 func4F db "search for next match (handle)",0 func50 db "set active PSP",0 func51 db "get active PSP",0 func52 db "get pointer to DIB",0 func53 db "convert BPB to DPB",0 func54 db "get verify flag",0 func55 db "create new PSP",0 func56 db "rename file (handle)",0 func57 db "get/set file date and time",0 func58 db "get/set memory allocation strategy",0 func59 db "get extended error information",0 func5A db "create temporary file (handle)",0 func5B db "create new file (handle)",0 func5C db "(un)lock file record",0 func5D db "DOS internal/network call",0 func5E db "network function",0 func5F db "network redirection function",0 func60 db "canonicalize filename",0 func61 db "reserved network function",0 func62 db "get PSP address",0 func63 db "DOS internal setting",0 func64 db "set device driver lookahead flag",0 func65 db "get extended country information",0 func66 db "get/set code page",0 func67 db "set handle count",0 func68 db "commit file",0 func69 db "get/set disk serial number",0 func6A db "commit file",0 func6B db "DOS internal function",0 func6C db "extended open",0 func6D db "find first ROM program",0 func6E db "find next ROM program",0 func6F db "DOS ROM function",0 func70 db "get/set internationalization info",0 func71 db "long filename function",0 func72 db "long filename findclose",0 func73 db "FAT32 function",0 @@stackstart: program ends end @@start >>>>>>>>>> CSplit: End file TRACER.ASM >>>>>>>>>> >>>>>>>>>> CSplit: End part 6/6 crc: 5610 >>>>>>>>>> --- * Origin: CPost v1.0 (2:292/516) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00010Date: 08/03/97 From: JAN WAGEMAKERS Time: 08:51am \/To: JAMES VAHN (Read 1 times) Subj: sat.s (Linux-Asm) Hi James, James Vahn wrote to Jerry Coffin : JV> Running the program under gdb produces a few complaints about the JV> lack of symbols, then Segfault 0x4006bf7e in vfprintf () JV> and since nowhere do I find a call to vfprintf in Jan's code, this JV> info is fairly useless to me. :( Maybe you can try to find the fault in my program by commenting out some piece of code. For example, you can change the following in ncurses.asm : .MACRO _printw message .MACRO _printw message # start _print message # start _print message pushl \message # pushl \message call printw ---> # call printw addl $4,%esp # addl $4,%esp # end _printw message # end _printw message .ENDM .ENDM If the 'Segmentation Fault' disappear after making this change, you can assume that there is a problem with my _printw macro. If you keep having the 'Segmentation Fault', you can try to comment out some other piece of code. Have a nice day, James. - Jan Wagemakers - .!. You don't have to sleep to see nightmares. (Anne Clark) --- Terminate 4.00/Pro * Origin: - Belgi/Belgium - Internet : JanW@mail.dma.be (2:292/8133.23) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECA00011Date: 08/05/97 From: JON GENTIL Time: 03:36pm \/To: BRYAN SCHWARTZ (Read 1 times) Subj: Arrow Assembler Replying to a message from Bryan Schwartz to John Gardeniers, About Arrow Assembler on Wednesday July 23 1997 at 08:35. BS> I'm surprised your local library has no books on assembly programming. BS> The city i live in is small (600,000 people including suburbs) BS> and the library is badly underfunded. (corrupt government) BS> but there are still 5 or 6 good books on assembly programming for the BS> Intel microprocessors, and even some on 6502 etc. BS> Maybe your local government is worse then ours, though thats hard to BS> believe, or maybe the librarians hate computers. You call that small? I live in a city where there's about 50,000 including suburbs. We don't have anything on assembly programming. ____ Jon P. Gentil | _ ,_ jgentil@magi.station-1.com (__|(_)| ) Moderator: YOUNG_ADULT, FIDOWORK, R11TEEN ... Dammit! WORK! ARGH!!!!! --- FMail/386 1.22a+ * Origin: The Realm of the Magi BBS - Pekin, IL - (309)347-8753 (1:232/211) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECB00000Date: 08/05/97 From: JOERG KUBITZ Time: 02:16pm \/To: JOHN KISMUL (Read 1 times) Subj: Re: SoundBlaster Hallo John ! The Sound-Blaster has only _one_ channel!!! If you want to play stereo-sound the left- and rigth-databytes are followed by each other. The more Computer I know, the more I love humans. The more humans I know, the more I need Good's Love. Joerg --- CrossPoint v3.1 R * Origin: *Love Your NME* <>< (2:240/9301.12) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECB00001Date: 08/06/97 From: JON GENTIL Time: 01:55am \/To: HERMAN SCHONFELD (Read 1 times) Subj: 320x200x256 Replying to a message from Herman Schonfeld to Mathieu Bouchard, About 320x200x256 on Saturday August 02 1997 at 19:38. MB>> thank you for defending ModeX... it's worth it HS> The only thing x-modes were good for were to HS> a) Save memory HS> b) Smooth scrolling on slow machines HS> c) Fast bitblits on slow machines HS> Since these no longer make a big problem any more, x-modes are next HS> to HS> worthless. Not really. X-Modes are the only way to get a standard VGA into higher resolution modes in 256 color mode. 360x480x256 is a LOT better than 320x200x256. ____ Jon P. Gentil | _ ,_ jgentil@magi.station-1.com (__|(_)| ) Moderator: YOUNG_ADULT, FIDOWORK, R11TEEN ... " ", said Tom blankly. --- FMail/386 1.22a+ * Origin: The Realm of the Magi BBS - Pekin, IL - (309)347-8753 (1:232/211) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECB00002Date: 07/24/97 From: FRANOIS DE MEY Time: 08:13pm \/To: GILES JACOBSEN (Read 1 times) Subj: bits Hi coder... GJ> What is the best way to deal with bits? This is the way I have delt GJ> with them so far (just started learning asm 3 days ago): GJ> and al,00100000b GJ> cmp al,00100000b GJ> Is that the best way to test bits? No, U can do also : test al,00100000b it has the same result. Bye ... Coding is so funny... --- Blue Wave/DOS v2.30 [NR] * Origin: Programmer's Paradise -Belgium- 32-10-813088 (2:293/2009) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: ECB00003Date: 07/27/97 From: AMAND TIHON Time: 07:38am \/To: GILES JACOBSEN (Read 1 times) Subj: gfx pics Hello, Giles In a message, you said : GJ> Does anyone know where I can get GJ> some assembler code for displaing ANY picture formats (GIF, JPG, GJ> PCX, LBM, etc)? Thanks. Look for the file called F_FORMAT, or something like that. It is a program that looks like the SWAG reader and you have LOTS of descriptions for many format (GFX, animations, word processor, DOS's EXE,...). It's REALLY useful ! Hope this helps... Bye, Amand ... RAM = Rarely Adequate Memory --- LHL v2.35 * Origin: Programmer's Paradise -Belgium- 32-10-813088 (2:293/2009)