Exploring the tiger, one step at a time)

Source: Internet
Author: User

I have been immersed in computer programming for a long time. In philosophical epistemology. The process of human knowledge has changed from two leaps. The first is from perceptual knowledge to rational understanding; the second is from rational understanding to practice. This paragraph applies to some people. I am one of them. Ask for help on zhihu: "Do you want to understand assembly for computer learning ?", Some people reply that it is necessary for some people to learn. Because when we ask people with questions, they may face us and say, "are you asking this useful ?", But we put a sentence in our head: "You don't understand this. How can you see Chapter 2 ?", For me, the fault of knowledge is a path that particularly affects my knowledge.

Let's talk about my learning route. Vs2010 easy to learn C #-from scratch to deep-things. net4 fun programming video tutorial, Mr. Tian is a joke, all articles, is not bound by the system education. Practice has proved that, if a person wants to do one thing, his or her path is not necessarily the only one. Step 2: C # advanced programming (version 6th) is an in-depth basic knowledge of C. Step 3: Assembly Language (Wang Shuang 2nd ). I learned about programming and how programming works through the video. This is my perceptual knowledge. Then I need to fill in my rational understanding with professional knowledge.

Let's talk about the computer's principles. How can these programming languages make computers work:

In the final analysis, how can computers work? In fact, the essence of this principle is the same as that of "People turn on and off the light after clicking it". "People turn on and off" is a command. After the switch receives the command, the current is connected, the light turns on, from "0" to "1 ". A computer's machine command is a binary number. The computer converts it into a series of high and low levels (high and low voltage) to enable the computer's electronic devices to receive the driver for computation.

We separate this process into "executing computer commands and performing operations". This step is a well-known CPU. Because of the different hardware design and internal structure, you need to use different level pulses to control and make it work. Therefore, each type of CPU has its own machine instruction set, that is, machine language. In this way, the function of programming is to control each "Switch" with a pile of 0-1 Symbols to achieve the desired effect. This programming language is called machine language. For example, let the 80-768 CPU Compute S = 12288 + 1280-, the machine language is like this:

101100000000000000000011 000001010000000000110000 001011010000000000000101

This is quite uncomfortable. Every CPU has a different machine language library. You have to remember the meaning represented by the 01 language in each machine language library. It's too troublesome. No, you have to find a solution.

Can I do this? I want to run the command machine to move the things stored on A to B. I will directly write "mov A, B "? Then, specify a rule and let the machine translate it into the 01 language, so that there is no need to remember so many numbers. But the question is, how can we translate it into 01 language?

At the beginning, I was looking for Compiler Principles and various compilation methods. However, they are confused. I have been confused for many years by understanding how coding, a language hidden behind computer software and hardware, is a god book. Hundreds of book reviews on the Internet are basically amazing. The question in the previous section is recommended for reading this book, which will tell you the long-awaited answer.

  

  

 

  

Exploring the tiger, one step at a time)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.