QB & ASM

 BBS: Inland Empire Archive
Date: 12-22-92 (23:01)             Number: 333
From: MATT HART                    Refer#: NONE
  To: EARL MONTGOMERY               Recvd: NO  
Subj: QB & ASM                       Conf: (2) Quik_Bas
 EM> I need to know how to use ASM source with QB 4.5. I have a few

; ASCII.ASM by Matt Hart
; Returns the ASCII code of a string
; like ASC does BUT will return a -1 if
; the string is NULL rather than bombing out with
; an ILLEGAL FUNCTION CALL.
;
.Model Medium, BASIC
.Code
;
Ascii PROC USES SI, Strg:Word
    MOV     BX,Strg         ; Pointer to descriptor
    MOV     CX,[BX]         ; Length
    CMP     CX,0            ; Is the string null?
    JE      NullString      ; Yes - jump to NullString
    MOV     SI,[BX+2]       ; Address of the string into SI
    XOR     AX,AX           ; Clear AX to receive the character
    MOV     AL,[SI]         ; First character of the string
    JMP     Ending          ; Back to BASIC
NullString:
    MOV     AX,0FFFFh       ; Return a -1 to the function
Ending:
    RET                     ; Back to BASIC
Ascii ENDP
    END

C:\>masm ascii.asm
     or
C:\>ml /c ascii.asm

'TEST.BAS
DEFINT A-Z
DECLARE FUNCTION Ascii(Strg$)
PRINT Ascii(COMMAND$)

C:\>bc test;
C:\>link test+ascii,,,brun45;
C:\>test A
65
---
 * Origin: Midnight Micro!  V.32/REL  (918)451-3306 (1:170/600)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET