亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cintro.doc

?? 編譯c語言的編譯器源碼 含有目標程序
?? DOC
?? 第 1 頁 / 共 5 頁
字號:
   
   
   
   
   
   
   
   
   
   
   
   
                                      An
                                 Introduction
                                      to
   
   
                                     CCC
                                    CC CC
                                   CC   CC
                                   CC
                                   CC   CC
                                    CC CC
                                     CCC
   
   
                                    Using
                             The MICRO-C Compiler
   
   
   
   
   
   
   
   
   
   
                              Revised: 27-Mar-90
   
   
   
   
   
   
   
   
   
   
                      Copyright 1989,1990 Dave Dunfield
                             All rights reserved
   Intro to MICRO-C                                                 Page: 1


   1. INTRODUCTION
   
         Since releasing my MICRO-C compiler in 1988, I have received  many
      requests to include information on the 'C' language as part  of  that
      package.
   
         This manual is intended as a companion to  the  MICRO-C  compiler,
      and presents an introduction to the 'C' language for  those  who  are
      not already familiar  with  it.  The  language  represented  is  that
      portion of 'C' which is implemented by the  MICRO-C  compiler.  Since
      MICRO-C implements a  subset  of  the  'C'  programming  language  as
      described by Kernighan and Ritchie (the original  developers  of  the
      language), you should have little difficulty  using  and  learning  a
      full 'C' compiler once you have mastered it.
   
         You should also refer to the  MICRO-C  technical  manual  entitled
      "MICRO-C a compact 'C' compiler for small systems" for details on the
      MICRO-C implementation.
   
         'C' has many inter-relationships between  its  various  constructs
      and features. I have attempted to introduce them  in  a  logical  and
      "building" manner,  however  it  is  not  always  possible  to  fully
      describe each feature before it is mentioned in  the  description  of
      some other construct. For this reason, I suggest that you  read  this
      text "lightly from cover to cover" at least once before  you  try  to
      fully understand each point.
   
         This is a first draft of this document. In its present form, it is
      not very easy reading, but does contain much  useful  information.  I
      will be improving and adding to it as I find the time.
   
         Presented herein is a brief summary of the major features  of  the
      'C' language as implemented in MICRO-C.
   Intro to MICRO-C                                                 Page: 2


   2. BACKGROUND INFORMATION
   
         This section provides some detailed background information for the
      novice, and may be skipped if  you  are  already  familier  with  the
      basics of computer architecture and programming languages.
   
      2.1 Computer Architecture
   
            The basis of any computer system is its Central Processor  Unit
         (CPU) which controls the operation  of  all  other  parts  of  the
         computer, by following a set of "instructions"  which  make  up  a
         software "program". The program is stored in "memory" and  directs
         the CPU to read and write data  to  various  "peripheral"  devices
         (Such as terminals, disks and printers), and  to  manipulate  that
         data in a matter which accomplishes  the  goals  set  out  by  the
         author of the program.
   
            Although there are a wide variety of CPUs available  in  modern
         computers, they are all very similar, and  feature  the  following
         characteristics:
   
            All data accessed by the CPU is represented by  circuits  which
         may be either OFF or ON. This is represented by the digits  0  and
         1. Since there are only two states (0 and 1), the computer may  be
         thought of as operating in a BASE 2 (Binary)  number  system,  and
         each individual data element is called a  Binary  digIT,  or  BIT.
         This BASE 2 number system is used because it  is  much  easier  to
         build and interface to electrical circuits  which  have  only  two
         states (OFF and ON) than ones which have many states.
   
            Since  single   BITs   cannot   represent   much   information,
         manipulating large amounts of data at the BIT  level  would  be  a
         very tedious chore. For this reason, modern CPUs  access  data  as
         groups of BITs. Usually the smallest group of data  which  can  be
         manipulated by a computer consists of 8  BITs,  and  is  called  a
         BinarY TErm (BYTE).
   
            Very small computers can often only access data a BYTE (8 bits)
         at a time, while  larger  machines  may  be  able  to  access  and
         manipulate data in larger groups called WORDS.  The  size  of  the
         data group usually manipulated by a CPU is  called  its  WORDSIZE,
         and is expressed in a number of bits.  This  is  almost  always  a
         multiple of 8 bits, resulting in an even number of bytes. Thus, if
         you hear a CPU or computer called a "16  bit"  machine,  you  know
         that it can access and manipulate 16 bits (2 bytes) of data  at  a
         time. A "32 bit" machine would operate on 32  bits  (4  bytes)  of
         data. In general, the larger the WORDSIZE of a CPU, the more  data
         it manipulates at one time, resulting in faster  completion  of  a
         given task.
   
            The CPU has access to external "memory", which consists of many
         thousands (and often  millions)  of  WORDS  of  data.  Up  to  one
         complete word of data may  be  transferred  between  the  CPU  and
         memory in one memory access.
   Intro to MICRO-C                                                 Page: 3


            Often it is known that each data element stored in memory  will
         not take up an entire word, and is it desirable to  access  memory
         in smaller groups, to reduce the number of memory  words  required
         to accomplish a particular task. For this reason, most modern CPUs
         can access any single BYTE (8 bits) from a memory word. It  should
         be understood however, that accessing a single byte causes a  full
         memory access, and takes just as much time as accessing an  entire
         word.
   
            In order to provide the programmer  with  a  simple  method  of
         specifying memory locations, each BYTE of memory  is  assigned  an
         ADDRESS, which is simply the number of BYTES from the beginning of
         memory to the desired byte. Therefore, the first  byte  in  memory
         has address 0, the second byte byte in memory has address  1,  the
         third byte has address 2 etc. Thus, memory from the  viewpoint  of
         the programmer may be considered  as  a  simple  array  of  BYTES,
         beginning with an address of 0,  and  continuing  with  sequential
         addresses up the memory size (in bytes) of the computer.
   
            In addition to the external memory, a CPU has a small amount of
         very fast internal memory which is  organized  into  words  called
         "registers". Registers act as holding places  to  store  the  data
         words which are to be manipulated. At least some of the  registers
         are internally connected to an Arithmetic Logic Unit (ALU),  which
         has the necessary electronics to perform basic operations such  as
         addition and subtraction on  the  data  in  those  registers.  The
         result of the operation is also placed in a register, often one of
         the registers containing the original data.
   
            One special register called the Program Counter (PC) is used by
         the CPU to follow the software program. It contains the address of
         the next INSTRUCTION to  be  executed.  At  the  beginning  of  an
         INSTRUCTION CYCLE, the CPU reads the word of memory at the address
         which is contained in the PC, and interprets the  value  contained
         there as an operation to be performed, such as loading a  register
         from memory, storing a register  into  memory,  or  performing  an
         arithmetic operation  on  the  registers.  After  performing  that
         operation, the CPU advances the PC to the next memory word  before
         beginning another instruction cycle. In this manner,  all  of  the
         instructions in a program are read, and the programmed  operations
         are carried out.
   
            The CPU may also read from and  increment  the  PC  during  the
         execution of an instruction, in order to access data  bytes  which
         are OPERANDS to the particular instruction  being  executed.  Such
         would be the case if you  were  instructing  the  CPU  to  load  a
         register with the contents of a  particular  memory  address.  The
         data bytes following the  instruction  would  contain  the  memory
         address to be used.
   Intro to MICRO-C                                                 Page: 4


            There are a few instructions which direct the CPU  to  store  a
         new value in the PC, rather than  advance  it.  These  are  called
         JUMPS, and are used  to  cause  the  program  to  begin  executing
         instuctions at a different address. This can  be  used  to  create
         LOOPS in the program where a sequence of instructions is  executed
         over and over again.
   
            Some of the "jump" instructions will only store the  new  value
         in the PC if certain conditions are met,  such  as  the  last  ALU
         operation resulted in zero, or did not result in zero. This allows
         the program to alter  its  pattern  of  execution  based  on  data
         values.
   
            For example, here is a program to count to 10 on a very  simple
         imaginary computer. It shows the  use  of  IMMEDIATE  operands  to
         instructions, which are shown by [PC+], and indicate  that  during
         the execution of the instruction, the CPU  reads  the  next  value
         from the address in the PC. The PC is advanced so that that  value
         will not  be  executed  as  another  instruction  when  the  first
         instruction is finished:
   
             Address   Interpretation of instruction value
             ------------------------------------------------------
               [0]     Load [PC+] data byte into register1
               [1]     Data: 0
               [2]     Add [PC+] data byte to register1
               [3]     Data: 1
               [4]     Load [PC+] data byte into register2
               [5]     Data: 10
               [6]     Subtract register1 from register2
               [7]     Jump if result not zero to address in [PC+]
               [8]     Data: 2
               [9]     Halt CPU
   Intro to MICRO-C                                                 Page: 5


      2.2 Assembly Language
   
            In the preceeding section, you have learned how a CPU  executes
         a program, and how a program may be coded in memory as a series of
         instruction and data values. It should  be  obvious  to  you  that
         although you can create programs in this way, it would be  a  long
         and tedious job to write a program of any size using only  numeric
         values.
   
            Not  only  is  it  very  hard  to  remember  the  hundreds   of
         instruction  values  which  may  be  used   to   perform   certain
         operations, but managing the memory address  which  are  coded  as
         operands to the instructions becomes  a  real  headache.  This  is
         particularily true when you  change  a  portion  of  the  program,
         causing a change in the number of bytes of  memory  used  by  that
         portion, and therefore  changes  all  of  the  memory  address  of
         instructions and data which follow.
   
            To help ease the programming job, each of the CPU manufacturers
         have defined an ASSEMBLY LANGUAGE for their CPU, which  represents
         each of the machine operations with a more meaningful name  called
         a NMEMONIC. Similar instructions may be  grouped  under  the  same
         neumonic with the individual instruction values determined by  the
         operands.  For  example,  it  might  be  a  completely   different
         instruction value which loads Register1 with  a  value  than  that
         which loads register2. In assembly language you would use  similar
         statements such as:
   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区婷婷月色| 国产毛片精品视频| 国产精品美女www爽爽爽| www久久精品| 欧美成人三级在线| 欧美α欧美αv大片| 日韩欧美123| 久久先锋影音av| 欧美xxxx老人做受| 久久久久国产精品人| 欧美精品一区二区三区蜜桃 | 中文字幕高清一区| 久久久精品国产免大香伊 | 久久亚洲综合色一区二区三区| 欧美高清视频www夜色资源网| 欧美日韩一卡二卡| 91精品在线免费| 精品女同一区二区| 欧美国产精品一区二区三区| 欧美国产成人在线| 一区在线播放视频| 亚洲宅男天堂在线观看无病毒| 亚洲h精品动漫在线观看| 日韩中文字幕麻豆| 国产成人午夜高潮毛片| 成人网男人的天堂| 91福利社在线观看| 91精品欧美综合在线观看最新| 日韩精品中午字幕| 中文字幕亚洲一区二区av在线 | 91在线高清观看| 在线观看欧美日本| 欧美大胆人体bbbb| 国产欧美一区二区在线观看| 亚洲精品国产a久久久久久| 亚洲电影你懂得| 黄页视频在线91| av不卡在线播放| 欧美一级片在线观看| 中文字幕一区二区三区四区不卡| 一区二区三区四区蜜桃| 久久精品国产一区二区三| 99国产精品久久| 日韩一区二区三区观看| 中文字幕在线一区二区三区| 奇米综合一区二区三区精品视频| 国产1区2区3区精品美女| 欧美亚洲免费在线一区| 久久久久久久久伊人| 一区二区三区成人在线视频| 国内外精品视频| 欧美三级蜜桃2在线观看| 欧美韩日一区二区三区四区| 奇米一区二区三区| 欧美午夜精品久久久| 国产精品你懂的在线欣赏| 久久成人免费网| 欧美日韩精品一区视频| 国产精品传媒入口麻豆| 狠狠色狠狠色综合| 欧美一级欧美三级在线观看| 亚洲女同女同女同女同女同69| 国产高清精品久久久久| 日韩三级.com| 日韩精品1区2区3区| 欧美性大战久久久久久久 | 91香蕉视频黄| 中文一区二区在线观看| 韩国三级电影一区二区| 欧美一区二区三区的| 亚洲大片在线观看| 欧美亚洲综合久久| 亚洲一二三四在线观看| 91美女蜜桃在线| 亚洲欧美精品午睡沙发| 99精品欧美一区二区三区综合在线| 久久精品视频一区二区| 狠狠色伊人亚洲综合成人| 精品国产百合女同互慰| 黄色精品一二区| 久久一区二区三区国产精品| 国产盗摄视频一区二区三区| 欧美精品一区二区三区高清aⅴ | 91黄色小视频| 亚洲一区二区av电影| 欧美电影影音先锋| 奇米影视7777精品一区二区| 日韩三级伦理片妻子的秘密按摩| 久久国产精品无码网站| 久久综合久色欧美综合狠狠| 韩国av一区二区三区| 国产欧美一区视频| 色综合久久久久综合体桃花网| 亚洲精选视频免费看| 在线成人午夜影院| 国内精品在线播放| 国产精品久久久一本精品| 91国在线观看| 久久精品噜噜噜成人88aⅴ | 成人激情午夜影院| 亚洲一区二区三区四区五区中文 | 欧美一区二区播放| 国产精品91一区二区| 亚洲特级片在线| 欧美精选午夜久久久乱码6080| 精品亚洲成a人| 国产精品电影一区二区三区| 欧美色视频在线| 精品在线免费观看| 亚洲视频在线观看三级| 欧美一区中文字幕| 99久久久精品| 日韩精品91亚洲二区在线观看| 久久亚洲精品国产精品紫薇| 在线观看欧美精品| 国产乱码一区二区三区| 一区二区成人在线| 国产午夜亚洲精品不卡| 欧美中文字幕一区| 成人一区在线看| 日本不卡一二三| 亚洲日本一区二区三区| 日韩精品在线一区| 在线观看日韩精品| 成人一级黄色片| 免费看日韩精品| 亚洲欧美日韩一区| 久久综合精品国产一区二区三区| 91浏览器在线视频| 丰满岳乱妇一区二区三区| 日韩av中文字幕一区二区| 亚洲欧美在线高清| 日韩免费一区二区| 884aa四虎影成人精品一区| 成人丝袜18视频在线观看| 免费一级片91| 日韩精品亚洲专区| 亚洲欧美另类久久久精品| 久久久久国产免费免费| 欧美一区二区三区四区五区| 色系网站成人免费| 成人精品高清在线| 丰满少妇在线播放bd日韩电影| 免费观看91视频大全| 午夜激情综合网| 亚洲一区二区三区不卡国产欧美| 一区二区中文视频| 国产精品网友自拍| 欧美激情综合五月色丁香小说| 久久人人爽人人爽| 欧美精品一区二区三区蜜桃视频| 日韩视频永久免费| 精品国免费一区二区三区| 欧美一级一区二区| 精品对白一区国产伦| 欧美成人aa大片| 久久蜜臀中文字幕| 国产日韩在线不卡| 国产精品久久久一本精品| 国产欧美一区二区精品忘忧草| 亚洲精品一区二区三区四区高清| 精品91自产拍在线观看一区| 精品国精品自拍自在线| ww久久中文字幕| 国产亲近乱来精品视频| 亚洲欧洲成人av每日更新| 亚洲青青青在线视频| 亚洲品质自拍视频网站| 午夜婷婷国产麻豆精品| 男女激情视频一区| 国产成人aaa| 97aⅴ精品视频一二三区| 欧美日韩精品二区第二页| 在线综合视频播放| 久久久国产精华| 亚洲国产wwwccc36天堂| 亚洲欧美日韩系列| 日日夜夜免费精品| 国产福利一区二区三区视频在线| 成人av网在线| 欧美日韩国产综合视频在线观看| 日韩精品一区二区在线| 国产精品少妇自拍| 亚洲高清视频的网址| 韩国精品一区二区| 在线免费亚洲电影| 日韩一区二区三区在线| 国产精品免费久久久久| 午夜视频一区二区三区| 国产精品456| 欧美性三三影院| 国产日韩欧美精品在线| 亚洲一级在线观看| 丁香另类激情小说| 69成人精品免费视频| 国产精品美女久久福利网站| 日韩成人伦理电影在线观看| 成人av免费在线| 欧美成人福利视频| 亚洲一二三四久久|