From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id 81C8128F38 for ; Sat, 13 Jul 2024 21:43:12 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id D98F64214E; Sun, 14 Jul 2024 05:43:09 +1000 (AEST) Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) by minnie.tuhs.org (Postfix) with ESMTPS id 40CDF4214D for ; Sun, 14 Jul 2024 05:43:04 +1000 (AEST) Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-2eebc76119aso34717781fa.2 for ; Sat, 13 Jul 2024 12:43:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720899781; x=1721504581; darn=tuhs.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=R4aC8FOeXn2J6PGK0gxlw0N463bMJRHUsBxm8ssTmBk=; b=hw02AyHut/EQ3+54Z27yg7BP5G+y3aSNfceKcp4p+DFyXFvqmGbKffVpopHXfnnIjK Zz47jrJjnNsMIbqNIglnFzzxsXuvzusiIqkwOIECrIzW1D8gCiX/61sJdGkeSGtjqNnr MbB9dNFBAiTehu2o3kD9mok1ed4PFVll0to0MnObB+xpEWwn/9rc+lLB0liZw8fnKkPn G9taqlwN8cx/9+hNIR6onTOkXD3Oq9vfNIwo7qbf4dBXc23B1hiuzhIj7TtkLWkK2MgP t9NVKMSM5+G5sgIS3LfqpY8FI4f8bnvZ8j1OU/nwyuM3OtrdVhg2ExhJQOboGsm4rofw KQPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720899781; x=1721504581; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R4aC8FOeXn2J6PGK0gxlw0N463bMJRHUsBxm8ssTmBk=; b=riM+k7DQLjKWk5Le0sSWI35+uWvjStCpMO2eJpF26iJvSGDfNucjj7V6BGshswFcDr vY2HwX+PiEJ10rTTxtl5TBz5p/9VFFuuHWEh9+bbx1GV9sInOeonboV0IbwJfj+OBSit 78yGxbyK1tirN+unbHXOSxSC8vNH+lYsZNyAYX+6coa5TgHHtX6a+BiilTIKp9/EeVuB mpCJUaOmGn0mkOqXLIZn/0qdogGczJZCXjwvEWrBP8VWvy943JgPJSYmhly1fGcV4TXH KNzj4ZZE2skrUayci9injyU8b/y0V0RcRcwJt3RdZz6IMXjJpn20qLm3P4RSGy97XVtZ GtgQ== X-Gm-Message-State: AOJu0Yxx/XRa8hgmwuPPg903UpaNhg7+Omqx+zoQhK3fPhdrWhVRJ8La kdphezrGbNuM7Iuoh23gUs9izk5N2cwNSwulRNQl0rUCk/W0c5gNNgEMvK23Z4DtKhPMM1e9EPK 0HU1ixrlf9XFdn1H8N9pmMI1Fi/VpEg== X-Google-Smtp-Source: AGHT+IFenzdTYeRhwhSvLzlpgSXoys5hO8tyTYEUrpQ24DPd7Vi8c/PAdtOy8zgc5cy9T/hDkP+CGBeWAZDXkS2sbJM= X-Received: by 2002:a2e:9b0f:0:b0:2ec:550e:24f3 with SMTP id 38308e7fff4ca-2eeb30bc603mr108684671fa.10.1720899780760; Sat, 13 Jul 2024 12:43:00 -0700 (PDT) MIME-Version: 1.0 References: <2f46e2da-8250-0fd3-43f9-e33aae0739c5@taugh.com> <20240713095708.203D5220C9@orac.inputplus.co.uk> In-Reply-To: From: Dan Cross Date: Sat, 13 Jul 2024 15:42:24 -0400 Message-ID: To: John Levine Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ZZDC2AHOCZCC4TGW2MRUS537ZZASUVKZ X-Message-ID-Hash: ZZDC2AHOCZCC4TGW2MRUS537ZZASUVKZ X-MailFrom: crossd@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: coff@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: machine code translation, as mental architecture models List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Sat, Jul 13, 2024 at 2:50=E2=80=AFPM John Levine wrote= : > According to Ralph Corderoy : > >> Oh, no wonder the translator worked so well. > > > >Well, doesn't it depend on whether VAX MACRO kept the macros as > >high-level entities when translating them, or if it processed macros in > >the familiar way into instructions that sat at the same level as > >hand-written =E2=80=98assembler=E2=80=99. I don't think this thread has= made that clear > >so far. > > It was a macro assembler. The macros generated assembler statements > that got assembled the normal way. I agree with the person that every > macro assembler I've ever seen did that. A semi-exception is the IBM > assembler that also had a PUNCH statement that put records into the > object file but I think that was only used to pass commands to the > linker. This is conflating two different things over the life of the MACRO-32 language. It certainly started out as a macro assembler, but with the introduction of the Alpha, DEC turned it into a true compiler (where the source language happens to be VAX assembly language) that generated native code for whatever machine it was compiled for: VAX or Alpha; using the GEM backends. When Compaq started the port to Itanium, they employed the same technique; this was maintained by HP. VSI has shifted to using LLVM as their compiler backend for the x86_64 port, with ELF as the executable file format (and presumably for object files as well). As I understand the current state of affairs, there is a GEM to LLVM layer that interfaces between the still-GEM output of compiler frontends and the LLVM backend, that performs native code generation. Macro, in particular, bypasses most of the LLVM optimization layer. > The more relevant question is how they used the macros. If the macros > were used consistently for semantically higher level things, the > translator can use the semantics of the macros when translating. As has been mentioned, they don't do this. The output of fully expanded MACRO-32 is basically VAX assembly language, which is then compiled in a manner similar to how one would compile preprocessed C. - Dan C.