01:198:211 Study Guide - Summer 2018, Comprehensive Midterm Notes - Science Fiction, Rana Sura Padakkama, Exclusive Or
01:198:211
MIDTERM EXAM
STUDY GUIDE
Fall 2018
CS211
ComputerArchitecture
Allvariablesmustbeinitializedbeforebeingused
Cisacompiledlanguage,Javaisaninterpretedlanguage
AssemblyCode
Oneinstructionperline
Humanreadable
Machinespecific
MachineInstructions
Nothumanreadable
Bitpatterns
Machinespecific
OnLinux:
gccfilename.c
createsa.out(executable)
gccodesiredFilenamefilename.c
find more resources at oneclass.com
find more resources at oneclass.com
createsdesiredFilename.out(executable)
gccSfilename.c
createsfilename.s(assembly)
gcccfilename.c
createsfilename.o(objectfile)
Cdatatypes
char;onebyte
short
int
long
float
double
longdouble
unsignedchar
unsignedshort
unsignedint
unsignedlong
Cvariables
Firstcharacterisalphabeticothersarealphanumeric
Cconstants
int123
long123l
Hexadecimal0x0abcd34;09,af
Octal037707
Characters
‘a’,‘A’
\’singlequote
\‘’doublequote
\abell
\bbackspace
\fformfeed
\nnewline
\ttab
\vverticaltab
\\backslash
\rcarriagereturn
Arrays
intarray[10]
charstringArray[]=“Hello”,initializerdeterminesarraysize
find more resources at oneclass.com
find more resources at oneclass.com
Document Summary
On linux: gcc filename. c creates a. out (executable) gcc o desiredfilename filename. c creates desiredfilename. out (executable) gcc s filename. c creates filename. s (assembly) gcc c filename. c. C data types creates filename. o (object file) char one byte short int long float double long double unsigned char unsigned short unsigned int unsigned long. Intel assembly push and pop instructions pushw reg16 pushw mem16 pushw imm16 pushl reg32 pushl mem32 pushl imm32 pushq reg64 pushq mem64 pushq imm64 popw reg16 popw mem16 popl reg32 popl mem32 popq reg64 popq mem64 sal shl sar shr specify type by adding l, q, b, w. Intel assembly arithmetic inc dec neg not increment decrement negate flip bits specify type by adding l, q, b, w. 64 bit imul mem, reg64 imul reg16, reg64 imul reg32, reg64 imul reg64, reg64 imul imm8, reg64 imul imm16, reg64, imul imm32, reg64 imul imm64, reg64.