computer platforms week 4: assembly language & operating systems

14
Computer Platforms Week 4: Assembly Language & Operating Systems

Upload: josephine-hunter

Post on 29-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computer Platforms Week 4: Assembly Language & Operating Systems

Computer Platforms

Week 4: Assembly Language & Operating Systems

Page 2: Computer Platforms Week 4: Assembly Language & Operating Systems

Assembly Language

Is at a level below programming languages Eg.- C++, Java, Pascal

Assembly language is converted into machine code Machine code is raw data that would

take ages for a human to decipher This is the data and instructions which is

used by the Fetch Execute Cycle

Page 3: Computer Platforms Week 4: Assembly Language & Operating Systems

Assembly Language

Programs or sequences can be written in assembly language Which is what is effectively done when

we compile a C++ program Why write in assembly language?

Faster (direct) access to CPU Some programs need to be written to

operate at a lower level E.g.- Device Drivers

Page 4: Computer Platforms Week 4: Assembly Language & Operating Systems

A simple Assembly program (Honest!)

org 100h mov dx,msg mov ah,9 int 21h mov ah,4Ch int 21h msg db 'Hello,

World!',0Dh,0Ah,'$'

Page 5: Computer Platforms Week 4: Assembly Language & Operating Systems

A simple Assembly program (Honest!)

org 100h mov dx,msg

mov ah,9

int 21h

Tells the compiler (NASM) the program will be loaded at memory address 100h

Moves the address of our message (msg) into a register which is known as the DX Register (Data Register)

Moves the value 9 into a register called the AH Register

‘int’ calls an ISR (interrupt service routine) “DOS Services” this is correlated with contents of AH (9) to determine that we want to output a message– contents of DX (msg)

Page 6: Computer Platforms Week 4: Assembly Language & Operating Systems

A simple Assembly program (Honest!)

mov ah,4Chint 21h

msg db 'Hello, World!',0Dh,0Ah,'$'

Effectively tells the processor to stop. Otherwise it will try to fetch and execute the next instructions it comes to

msg is a variable name (the name of out message string)

db is an instruction to the compiler to use the information the follows as data

Then out message ‘Hello, World!’ (note: ‘ ‘ marks)

0Dh, 0Ah – performs carriage return and line feed

$ terminate string output – (int 21h & 9 in ah requirement)

Page 7: Computer Platforms Week 4: Assembly Language & Operating Systems

A simple Assembly program (Honest!)

OK, so what does it actually do? Output “Hello, World!” to the screen

How? Type the program into a text document and call it

‘hello.asm’ Use the NASM program

This is used to compile assembly language programs Rename the produced file as type COM

ren hello hello.com Run the program

hello

Page 8: Computer Platforms Week 4: Assembly Language & Operating Systems

A simple Assembly program (Honest!) Step by Step:

Page 9: Computer Platforms Week 4: Assembly Language & Operating Systems

Operating Systems The main piece of software you

interact with Application run ‘on top’ of the OS Is started up with the computer

Boot process Also deals with organising files and

directories on storage media How physical data on the disk is

organised logically in the OS

Page 10: Computer Platforms Week 4: Assembly Language & Operating Systems

Windows Boot Process What happens when a Windows PC is

kicked into life? System goes through low-level boot

procedure POST Device / system initialisation

Warm boot stage initialises Search for boot record

IBMBIO.COM then IBMDOS.COM (booting DOS) COMMAND.COM then AUTOEXEC.BAT loaded

This starts the Windows programs running

Page 11: Computer Platforms Week 4: Assembly Language & Operating Systems

Windows Boot Process Getting things to load at start-up

Start-up Folder Easy to configure Useful for application loading

System Files AUTOEXEC.BAT CONFIG.SYS WIN.INI SYSTEM.INI Historically used for DOS tweaks Harder to configure

Page 12: Computer Platforms Week 4: Assembly Language & Operating Systems

Windows Boot Process

Getting things to load at start-up Windows Registry

Contains system & essential information for software and hardware on the PC

Stores many settings Hard to configure (?)

Easy for an amateur to screw up! Can point to application (EXE) files to run on

start-up or on certain actions Common place for viruses to hide!!!

Page 13: Computer Platforms Week 4: Assembly Language & Operating Systems

File Systems FAT 16

Or just ‘FAT’ Used by DOS and Windows 95 backwards

FAT 32 Used in Windows 95 (B) – current

NTFS New Technology File System (MS) 32-bit Secure Used in Windows NT/2000/XP

Page 14: Computer Platforms Week 4: Assembly Language & Operating Systems

File Systems

HPFS High Performance File System 32-bit Used in OS/2 (remember that?)

ISO 9660 CD-ROM

ISO 13346 DVD