You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.8 KiB
HTML
133 lines
4.8 KiB
HTML
4 years ago
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
|
<html>
|
||
|
<!-- Copyright (C) 1992-2019 Free Software Foundation, Inc.
|
||
|
Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
|
||
|
and David MacKenzie.
|
||
|
|
||
|
Permission is granted to copy, distribute and/or modify this document
|
||
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||
|
any later version published by the Free Software Foundation; with no
|
||
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
||
|
Texts. A copy of the license is included in the section entitled "GNU
|
||
|
Free Documentation License". -->
|
||
|
<!-- Created by GNU Texinfo 6.4, http://www.gnu.org/software/texinfo/ -->
|
||
|
<head>
|
||
|
<title>Assembly Code (STABS)</title>
|
||
|
|
||
|
<meta name="description" content="Assembly Code (STABS)">
|
||
|
<meta name="keywords" content="Assembly Code (STABS)">
|
||
|
<meta name="resource-type" content="document">
|
||
|
<meta name="distribution" content="global">
|
||
|
<meta name="Generator" content="makeinfo">
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<link href="index.html#Top" rel="start" title="Top">
|
||
|
<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
|
||
|
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
||
|
<link href="Overview.html#Overview" rel="up" title="Overview">
|
||
|
<link href="Program-Structure.html#Program-Structure" rel="next" title="Program Structure">
|
||
|
<link href="C-Example.html#C-Example" rel="prev" title="C Example">
|
||
|
<style type="text/css">
|
||
|
<!--
|
||
|
a.summary-letter {text-decoration: none}
|
||
|
blockquote.indentedblock {margin-right: 0em}
|
||
|
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
|
||
|
blockquote.smallquotation {font-size: smaller}
|
||
|
div.display {margin-left: 3.2em}
|
||
|
div.example {margin-left: 3.2em}
|
||
|
div.lisp {margin-left: 3.2em}
|
||
|
div.smalldisplay {margin-left: 3.2em}
|
||
|
div.smallexample {margin-left: 3.2em}
|
||
|
div.smalllisp {margin-left: 3.2em}
|
||
|
kbd {font-style: oblique}
|
||
|
pre.display {font-family: inherit}
|
||
|
pre.format {font-family: inherit}
|
||
|
pre.menu-comment {font-family: serif}
|
||
|
pre.menu-preformatted {font-family: serif}
|
||
|
pre.smalldisplay {font-family: inherit; font-size: smaller}
|
||
|
pre.smallexample {font-size: smaller}
|
||
|
pre.smallformat {font-family: inherit; font-size: smaller}
|
||
|
pre.smalllisp {font-size: smaller}
|
||
|
span.nolinebreak {white-space: nowrap}
|
||
|
span.roman {font-family: initial; font-weight: normal}
|
||
|
span.sansserif {font-family: sans-serif; font-weight: normal}
|
||
|
ul.no-bullet {list-style: none}
|
||
|
-->
|
||
|
</style>
|
||
|
|
||
|
|
||
|
</head>
|
||
|
|
||
|
<body lang="en">
|
||
|
<a name="Assembly-Code"></a>
|
||
|
<div class="header">
|
||
|
<p>
|
||
|
Previous: <a href="C-Example.html#C-Example" accesskey="p" rel="prev">C Example</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
|
||
|
</div>
|
||
|
<hr>
|
||
|
<a name="The-Simple-Example-at-the-Assembly-Level"></a>
|
||
|
<h3 class="section">1.5 The Simple Example at the Assembly Level</h3>
|
||
|
|
||
|
<p>This simple “hello world” example demonstrates several of the stab
|
||
|
types used to describe C language source files.
|
||
|
</p>
|
||
|
<div class="example">
|
||
|
<pre class="example">1 gcc2_compiled.:
|
||
|
2 .stabs "/cygint/s1/users/jcm/play/",100,0,0,Ltext0
|
||
|
3 .stabs "hello.c",100,0,0,Ltext0
|
||
|
4 .text
|
||
|
5 Ltext0:
|
||
|
6 .stabs "int:t1=r1;-2147483648;2147483647;",128,0,0,0
|
||
|
7 .stabs "char:t2=r2;0;127;",128,0,0,0
|
||
|
8 .stabs "long int:t3=r1;-2147483648;2147483647;",128,0,0,0
|
||
|
9 .stabs "unsigned int:t4=r1;0;-1;",128,0,0,0
|
||
|
10 .stabs "long unsigned int:t5=r1;0;-1;",128,0,0,0
|
||
|
11 .stabs "short int:t6=r1;-32768;32767;",128,0,0,0
|
||
|
12 .stabs "long long int:t7=r1;0;-1;",128,0,0,0
|
||
|
13 .stabs "short unsigned int:t8=r1;0;65535;",128,0,0,0
|
||
|
14 .stabs "long long unsigned int:t9=r1;0;-1;",128,0,0,0
|
||
|
15 .stabs "signed char:t10=r1;-128;127;",128,0,0,0
|
||
|
16 .stabs "unsigned char:t11=r1;0;255;",128,0,0,0
|
||
|
17 .stabs "float:t12=r1;4;0;",128,0,0,0
|
||
|
18 .stabs "double:t13=r1;8;0;",128,0,0,0
|
||
|
19 .stabs "long double:t14=r1;8;0;",128,0,0,0
|
||
|
20 .stabs "void:t15=15",128,0,0,0
|
||
|
21 .align 4
|
||
|
22 LC0:
|
||
|
23 .ascii "Hello, world!\12\0"
|
||
|
24 .align 4
|
||
|
25 .global _main
|
||
|
26 .proc 1
|
||
|
27 _main:
|
||
|
28 .stabn 68,0,4,LM1
|
||
|
29 LM1:
|
||
|
30 !#PROLOGUE# 0
|
||
|
31 save %sp,-136,%sp
|
||
|
32 !#PROLOGUE# 1
|
||
|
33 call ___main,0
|
||
|
34 nop
|
||
|
35 .stabn 68,0,5,LM2
|
||
|
36 LM2:
|
||
|
37 LBB2:
|
||
|
38 sethi %hi(LC0),%o1
|
||
|
39 or %o1,%lo(LC0),%o0
|
||
|
40 call _printf,0
|
||
|
41 nop
|
||
|
42 .stabn 68,0,6,LM3
|
||
|
43 LM3:
|
||
|
44 LBE2:
|
||
|
45 .stabn 68,0,6,LM4
|
||
|
46 LM4:
|
||
|
47 L1:
|
||
|
48 ret
|
||
|
49 restore
|
||
|
50 .stabs "main:F1",36,0,0,_main
|
||
|
51 .stabn 192,0,0,LBB2
|
||
|
52 .stabn 224,0,0,LBE2
|
||
|
</pre></div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|