我可以看到汇编语言程序产生了高级语言程序的输出吗?

can i see assembly language program produced an an output of high level language program?

我了解到编译器生成目标代码作为输出或汇编语言程序。

那么我可以看到作为高级语言程序的输出产生的汇编语言程序吗?

因为你没有说明你使用的是哪种语言,我假设它是一种本地语言(即一种翻译成汇编的语言,比如 C 而不是字节码,比如 java)。
在这种情况下,您可以使用 objdump -D 生成程序集输出:

objdump -D [yourfile]

达泰:Q4_ASEM.BAS 展位:05.06.88 微软快速基础 4.0

DEFINT A-Z

DECLARE FUNCTION Addieren (A AS INTEGER, B AS INTEGER)
' Assembler-Funktion --^

PRINT " QuickBASIC ruft Assembler"
INPUT " A = "; A
INPUT " B = "; B
Ergebnis = Addieren(A, B)
PRINT "Ergebnis ="; Ergebnis
'------------------------------
' Objektdatei mit BC erstellen
' C>bc a:q4_asem

达泰:BASIC.ASM 展位:05.06.88 微软宏汇编器 5.0

.MODEL medium
     .CODE 
     PUBLIC Addieren

Addieren PROC

     push    bp
     mov     bp,sp
     mov     bx,[bp+8]
     mov     ax,[bx]
     mov     bx,[bp+6]
     mov     cx,[bx]
     shl     ax,1
     shl     ax,1
     add     ax,cx
     pop     bp
     ret     4

Addieren ENDP
     END
;---------------------------------------
; C>masm basic
; C>link
; Object Modules [.OBJ]: q4_asem+basic
;---------------------------------------

我写了一个教程,http://www.staerk.de/thorsten/Assembler_Tutorial#translate_C_to_assembler 有一个 C 程序

#include <stdio.h>

int main()
{
  int i=0x23;
  printf("hello world");
}

并使用命令

在Linux下翻译它
gcc -o hello.asm -S assembler_file.S

汇编代码如下:

movl    $.LC0, %edi                      
movl    [=12=], %eax                         
call    printf 

请注意,这种方式是特定于 gcc 的。另一种获取汇编代码的方法当然是构建可执行程序,然后用objdump -d反汇编。这适用于任何编译器。