🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bit.listserv.asm370
Article #48

Re: Named PUSH/PUP suggestion

#48
From: Edward E. Jaffe
Date: Sun, 02 Oct 2005 17:14
40 lines
3427 bytes
David Cole wrote:

> Sometimes when developing code I mismatch my Assembler PUSH/POP
> statements, and finding the excess PUSH or POP often is a tedious
> process.
>
> As it happens (and for unrelated reasons), I often replace the
> Assembler PUSH/POP instructions with macros.
>
> Recently it occurred to me, why don't I give my PUSH and POP
> statements matching names... Well, the native PUSH/POP statements do
> not permit name fields, but since I'm using my own macros, then why
> not...
>
> Two advantages arise. First, with matching name fields, it's now very
> easy for me to find unmatched PUSH/POPs.
>
> Second, the name could serve as tokens allowing for a single POP to
> pop all PUSH's at and lower than the corresponding named PUSH.
>
> Third, if a named POP does not have a corresponding PUSH, then the
> assembler could flag that error on the spot.
>
> What do you think?


I like this suggestion! I can't see any flaws.

Just curious: Do your macros handle the (perfectly acceptable) situation
in which a single PUSH saves multiple stackable settings (e.g., USING,
PRINT and/or ACONTROL) while various POPs restore them individually?

--
.-----------------------------------------------------------------.
| Edward E. Jaffe                |                                |
| Mgr, Research & Development    | edjaffe@phoenixsoftware.com    |
| Phoenix Software International | Tel: (310) 338-0400 x318       |
| 5200 W Century Blvd, Suite 800 | Fax: (310) 338-0801            |
| Los Angeles, CA 90045          | http://www.phoenixsoftware.com |
'-----------------------------------------------------------------'
Technical Details
Message-ID: <43401562.6040404@phoenixsoftware.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!atl-c02.usenetserver.com!news.usenetserver.com!atl-c04.usenetserver.com!news.usenetserver.com!newsfeed.berkeley.edu!ucberkeley!sn-xit-02!sn-xit-06!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!phoenixsoftware.com!edjaffe
References: <6F4F88E09079204787D7CD2FB91FA8FE01793CAD@hqmail.rocketsoftware.com> <6.2.3.4.2.20051002100259.03be4008@mail.swcp.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: fcdcb,f622ba550323cb9
X-Google-Attributes: gidfcdcb,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!atl-c02.usenetserver.com!news.usenetserver.com!atl-c04.usenetserver.com!news.usenetserver.com!newsfeed.berkeley.edu!ucberkeley!sn-xit-02!sn-xit-06!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!phoenixsoftware.com!edjaffe
From: "Edward E. Jaffe" <edjaffe@phoenixsoftware.com>
Newsgroups: bit.listserv.asm370
Subject: Re: Named PUSH/PUP suggestion
Date: Sun, 2 Oct 2005 10:14:10 -0700
Organization: SAS Inc.
Lines: 40
Sender: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Message-ID: <43401562.6040404@phoenixsoftware.com>
References: <6F4F88E09079204787D7CD2FB91FA8FE01793CAD@hqmail.rocketsoftware.com>
            <6.2.3.4.2.20051002100259.03be4008@mail.swcp.com>
NNTP-Posting-Host: mozart.unx.sas.com
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: foggy.unx.sas.com 1128273424 2769 10.19.150.41 (2 Oct 2005 17:17:04 GMT)
X-Complaints-To: usenet@unx.sas.com
NNTP-Posting-Date: Sun, 2 Oct 2005 17:17:04 +0000 (UTC)
Comments: Gated by NETNEWS@VM.SAS.COM
Return-Path: <owner-assembler-list@LISTSERV.UGA.EDU>
User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
X-Accept-Language: en-us, en
Approved-By: "Edward E. Jaffe" <edjaffe@PHOENIXSOFTWARE.COM>
In-Reply-To: <6.2.3.4.2.20051002100259.03be4008@mail.swcp.com>
Return-Path: owner-assembler-list@LISTSERV.UGA.EDU
X-OriginalArrivalTime: 02 Oct 2005 17:17:02.0821 (UTC)
                       FILETIME=[1B030150:01C5C775]
Originator: daemon@mozart.unx.sas.com