C021TV-I3-S1.

Slides:



Advertisements
Similar presentations
Code Optimization and Performance Chapter 5 CS 105 Tour of the Black Holes of Computing.
Advertisements

Fabián E. Bustamante, Spring 2007 Machine-Level Programming II: Control Flow Today Condition codes Control flow structures Next time Procedures.
IT253: Computer Organization Lecture 6: Assembly Language and MIPS: Programming Tonga Institute of Higher Education.
Basic Computer Organization Background for CS260.
Practical Session 8 Computer Architecture and Assembly Language.
4/6/08Prof. Hilfinger CS164 Lecture 291 Code Generation Lecture 29 (based on slides by R. Bodik)
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
1 Homework Reading –PAL, pp Machine Projects –MP2 due at start of Class 12 Labs –Continue labs with your assigned section.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
Introduction and Overview of the Course CS 480/680 – Comparative Languages.
Dr. José M. Reyes Álamo 1.  An assembly language that is easier to understand that regular assembly  Borrow some features from high-level languages.
Introduction CS 104: Applied C++ What is Programming? For some given problem: __________ a solution for it -- identify, organize & store the problem's.
Assembly Questions תרגול 12.
Goals: To gain an understanding of assembly To get your hands dirty in GDB.
Computer Science 101 How the Assembler Works. Assembly Language Programming.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Levels of Abstraction Computer Organization. Level of Abstraction u Provides users with concepts/tools to solve problem at that level u Implementation.
Survey of Program Compilation and Execution Bangor High School Ali Shareef 2/28/06.
1 Carnegie Mellon Assembly and Bomb Lab : Introduction to Computer Systems Recitation 4, Sept. 17, 2012.
Sahar Mosleh California State University San MarcosPage 1 Assembly language and Digital Circuit By Sahar Mosleh California State University San Marcos.
The History of Programming Languages The ENIAC (Electronic Numerical Integrator and Calculator) completed in 1945, was one of the first computers that.
תרגול 5 תכנות באסמבלי, המשך
Introduction to Computer Programming using Fortran 77.
CS 179: GPU Computing LECTURE 2: MORE BASICS. Recap Can use GPU to solve highly parallelizable problems Straightforward extension to C++ ◦Separate CUDA.
Assembly תרגול 7 תכנות באסמבלי, המשך. Condition Codes Single bit registers  CF – carry flag  ZF – zero flag  SF – sign flag  OF – overflow flag Relevant.
Precept 7: Introduction to IA-32 Assembly Language Programming
Compiling examples in MIPS
Reading Condition Codes (Cont.)
Credits and Disclaimers
What Do Computers Do? A computer system is
Why don’t programmers have to program in machine code?
Introduction to Computers and C++ Programming
Computer Organization
CSCI 161: Introduction to Programming Course Introduction
Introduction to programming
Problem Identification
Conditional Branch Example
Introduction
Homework Reading Labs PAL, pp
Entry Ticket: High and Low Level Languages
Computer Architecture
Recitation 2 – 2/4/01 Outline Machine Model
Machine-Level Programming 4 Procedures
Programming Languages
Computer Programming Machine and Assembly.
Machine-Level Programming: Control Flow
Lecture 30 (based on slides by R. Bodik)
Fundamentals of Computer Organisation & Architecture
Machine-Level Programming 2 Control Flow
Machine-Level Programming III: Procedures Sept 18, 2001
Machine-Level Representation of Programs III
Information Security - 2
Homework Reading Machine Projects Labs PAL, pp
C021TV-I3-S3.
Machine-Level Programming II: Control Flow
Computing Introduction.
Computers, Programs, and Programming Languages
02/02/10 20:53 Assembly Questions תרגול 12 1.
C021TV-I3-S2.
Credits and Disclaimers
Credits and Disclaimers
Credits and Disclaimers
Computer Architecture and Assembly Language
Function of Operating Systems
Algoritmos y Programacion
CHAPTER 1 THE ABC OF PROGRAMMING
Presentation transcript:

C021TV-I3-S1

I.3 Programming Higher level language and compilation Bugs Machine code Higher level language and compilation Bugs Humans and languages

A computer is… Gérard Berry said: A computer is completely stupid Computers/smartphones/tablet computers are not magical objects. They are very simple (but very fast) electronic devices. Cf http://rue89.nouvelobs.com/2016/08/26/ gerard-berry-lordinateur-est-completement-con-257428

Machine code A computer is stupid, so it can only obey very simple orders (tasks, instructions) depending on the GPU model: the assembler. These instructions are limited: moving global memory to local memory comparing two values adding two values jumping to another label of the program . . .

Machine code: example ⇒ we don’t want to write it this way! movl movl cmpl jle movl addl $0, -8(%rbp) $7, -4(%rbp) $0, -4(%rbp) .L2 -4(%rbp), %eax %eax, -8(%rbp) .L2: movl -8(%rbp), %eax ⇒ we don’t want to write it this way!