1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- Copyright (C) 1992-2021 Free Software Foundation, Inc.
4Contributed by Cygnus Support.  Written by Julia Menapace, Jim Kingdon,
5and David MacKenzie.
6
7Permission is granted to copy, distribute and/or modify this document
8under the terms of the GNU Free Documentation License, Version 1.3 or
9any later version published by the Free Software Foundation; with no
10Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
11Texts.  A copy of the license is included in the section entitled "GNU
12Free Documentation License". -->
13<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
14<head>
15<title>STABS: Assembly Code</title>
16
17<meta name="description" content="STABS: Assembly Code">
18<meta name="keywords" content="STABS: Assembly Code">
19<meta name="resource-type" content="document">
20<meta name="distribution" content="global">
21<meta name="Generator" content="makeinfo">
22<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
23<link href="index.html#Top" rel="start" title="Top">
24<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
25<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
26<link href="Overview.html#Overview" rel="up" title="Overview">
27<link href="Program-Structure.html#Program-Structure" rel="next" title="Program Structure">
28<link href="C-Example.html#C-Example" rel="previous" title="C Example">
29<style type="text/css">
30<!--
31a.summary-letter {text-decoration: none}
32blockquote.smallquotation {font-size: smaller}
33div.display {margin-left: 3.2em}
34div.example {margin-left: 3.2em}
35div.indentedblock {margin-left: 3.2em}
36div.lisp {margin-left: 3.2em}
37div.smalldisplay {margin-left: 3.2em}
38div.smallexample {margin-left: 3.2em}
39div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
40div.smalllisp {margin-left: 3.2em}
41kbd {font-style:oblique}
42pre.display {font-family: inherit}
43pre.format {font-family: inherit}
44pre.menu-comment {font-family: serif}
45pre.menu-preformatted {font-family: serif}
46pre.smalldisplay {font-family: inherit; font-size: smaller}
47pre.smallexample {font-size: smaller}
48pre.smallformat {font-family: inherit; font-size: smaller}
49pre.smalllisp {font-size: smaller}
50span.nocodebreak {white-space:nowrap}
51span.nolinebreak {white-space:nowrap}
52span.roman {font-family:serif; font-weight:normal}
53span.sansserif {font-family:sans-serif; font-weight:normal}
54ul.no-bullet {list-style: none}
55-->
56</style>
57
58
59</head>
60
61<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
62<a name="Assembly-Code"></a>
63<div class="header">
64<p>
65Previous: <a href="C-Example.html#C-Example" accesskey="p" rel="previous">C Example</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<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>
66</div>
67<hr>
68<a name="The-Simple-Example-at-the-Assembly-Level"></a>
69<h3 class="section">1.5 The Simple Example at the Assembly Level</h3>
70
71<p>This simple &ldquo;hello world&rdquo; example demonstrates several of the stab
72types used to describe C language source files.
73</p>
74<div class="example">
75<pre class="example">1  gcc2_compiled.:
762  .stabs &quot;/cygint/s1/users/jcm/play/&quot;,100,0,0,Ltext0
773  .stabs &quot;hello.c&quot;,100,0,0,Ltext0
784  .text
795  Ltext0:
806  .stabs &quot;int:t1=r1;-2147483648;2147483647;&quot;,128,0,0,0
817  .stabs &quot;char:t2=r2;0;127;&quot;,128,0,0,0
828  .stabs &quot;long int:t3=r1;-2147483648;2147483647;&quot;,128,0,0,0
839  .stabs &quot;unsigned int:t4=r1;0;-1;&quot;,128,0,0,0
8410 .stabs &quot;long unsigned int:t5=r1;0;-1;&quot;,128,0,0,0
8511 .stabs &quot;short int:t6=r1;-32768;32767;&quot;,128,0,0,0
8612 .stabs &quot;long long int:t7=r1;0;-1;&quot;,128,0,0,0
8713 .stabs &quot;short unsigned int:t8=r1;0;65535;&quot;,128,0,0,0
8814 .stabs &quot;long long unsigned int:t9=r1;0;-1;&quot;,128,0,0,0
8915 .stabs &quot;signed char:t10=r1;-128;127;&quot;,128,0,0,0
9016 .stabs &quot;unsigned char:t11=r1;0;255;&quot;,128,0,0,0
9117 .stabs &quot;float:t12=r1;4;0;&quot;,128,0,0,0
9218 .stabs &quot;double:t13=r1;8;0;&quot;,128,0,0,0
9319 .stabs &quot;long double:t14=r1;8;0;&quot;,128,0,0,0
9420 .stabs &quot;void:t15=15&quot;,128,0,0,0
9521      .align 4
9622 LC0:
9723      .ascii &quot;Hello, world!\12\0&quot;
9824      .align 4
9925      .global _main
10026      .proc 1
10127 _main:
10228 .stabn 68,0,4,LM1
10329 LM1:
10430      !#PROLOGUE# 0
10531      save %sp,-136,%sp
10632      !#PROLOGUE# 1
10733      call ___main,0
10834      nop
10935 .stabn 68,0,5,LM2
11036 LM2:
11137 LBB2:
11238      sethi %hi(LC0),%o1
11339      or %o1,%lo(LC0),%o0
11440      call _printf,0
11541      nop
11642 .stabn 68,0,6,LM3
11743 LM3:
11844 LBE2:
11945 .stabn 68,0,6,LM4
12046 LM4:
12147 L1:
12248      ret
12349      restore
12450 .stabs &quot;main:F1&quot;,36,0,0,_main
12551 .stabn 192,0,0,LBB2
12652 .stabn 224,0,0,LBE2
127</pre></div>
128
129
130
131
132</body>
133</html>
134