NULL Strings

 BBS: Inland Empire Archive
Date: 03-23-92 (10:19)             Number: 182
From: MATT HART                    Refer#: 162
  To: MICHAEL MALLEY                Recvd: NO  
Subj: NULL Strings                   Conf: (2) Quik_Bas
In a message to Matt Hart <22 Mar 92 13:04> Michael Malley wrote:

 >MH>IF ASC(S1(1)) THEN
 >MH>An assembly routine would be good in this case, and not too
 >MH>difficult.  Let me know if you need one like that.

 MM> Isn't that like planting a flower seed with a bulldozer?  ;)

Nahhh..  That kind of assembly is pretty quick and simple..
 Hmmm... Let's see if I can do it on the fly...
Fortunately not on-line - using the eXpress Response System
offline Reader/Editor for a couple of days now.

; IsNull.ASM  by Matt Hart
;
; DECLARE FUNCTION IsNull%(Strg$)

.MODEL MEDIUM,BASIC
.CODE

IsNull PROC Strg:Word
    MOV       BX,Strg           ; Pointer to descriptor into BX
    MOV       CX,[BX]           ; Length into CX
    XOR       AX,AX             ; Zero AX
    NOT       AX                ; Set to true
    CMP       CX,0              ; Is Length 0?
    JE        Ending            ; Yes - it's null and end
    MOV       SI,[BX+2]         ; Address of first char into SI
Top:
    CMP BYTE PTR [SI],0         ; Is that character null?
    JNE       SetNotNull        ; No - zero function and end
    INC       SI                ; Next char
    LOOP      Top               ; Continue to test for CX times
    JMP       Ending            ; Done - remain true
SetNotNull:
    NOT       AX                ; Set to false
Ending:
    RET                         ; Back to BASIC
IsNull ENDP
END

Actually I cheated a little and tested it - this code works.  :-)

---
 * 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