How To Use A Computer With A Screen On It (For A Powerbook)

Size: px
Start display at page:

Download "How To Use A Computer With A Screen On It (For A Powerbook)"

Transcription

1 page 44,100 TITLE ASMXMPLE Video equ 10h ;video functions interrupt number Keyboard equ 16h ;keyboard functions interrupt number DOS equ 21h ;call DOS interrupt number PrtSc equ 5h ;Print Screen Bios interrupt CRTstatus equ 03DAh CRTmode equ 03D8h CursOff equ portb equ 61h ;I/O port B STACK Segment Para Stack 'Stack' Stak db 64 dup ("stack ") STACK EndS PARMSEG Segment Para 'data' Asciiz db 63 dup (?) ;Device ID, path and filespec, Xasciiz db '$' ; followed by at least one byte of ; of binary zero. Handle dw? ;Place to put 16 bit handle number Bufseg dw? ;Segment address of buffer Bufoff dw? ;Offset of buffer Bufsiz dw? ;Max bytes to read/write Actsiz dw? ;Actual bytes read Dskerr dw? ;DOS error code, if error occurs Parmseg EndS DATASEG Segment Para 'data' IObuffer db 4096 dup (?) ;I/O buffer for reading screens ; from disk. Pgmstat db 0 ;program status switch Cover db 'ICOVER.SCN' db 0 FileSpec db 'INSTRC**.SCN' db 0 PageNbr db 0 NewPage db ' ' Ten db 10 EdgeTab db 7,7,3,0,0,0,0,0 db 0,0,0,0,7,7,4,0 db 6,6,3,0,3,6,6,6 db 7,0,2,5,5,5,3,6 db 6,6,6,3,6,6,6,6 db 3,3,11,15,10,0,0,0 StartOff dw 0 Keycodes dw 0 Answer db 256 dup (?) MaxChars dw 0 Attributes dw 0 Buzzit db 0 Dataseg EndS ScreenSeg Segment at 0B800h ;location of color screen mem Page0 db 4096 dup (?) Page1 db 4096 dup (?) Page2 db 4096 dup (?) Page3 db 4096 dup (?) ScreenSeg EndS CODE Segment Para 'code' assume cs:code

2 MAIN Proc Far mov ax,0 push ax mov dl,0 ;set starting page number to zero mov PageNbr,dl call ShowCover ;Put instructions cover on screen cmp Pgmstat,0 jne InstructX ;some was wrong PageMore: call PutScreen ;Get instruction screen from disk ; and display it. call NextNumber ;get next page number, etc. cmp PageNbr,255 jne PageMore InstructX: mov ah,11 ;set color palette mov bh,0 ;set boarder color mov bl,0 ;black int video ;call bios video routine mov ah,0 ;set mode function mov al,3 ;80 x 25 color int video ;bios call to video rom routines mov ah,5 ;select active display page mov al,0 ;page 0 int video ;bios call mov ah,1 mov ch,7 mov cl,7 ;urn to dos MAIN EndP ShowCover Proc Near call Cover1 cmp PageNbr,0 jne CoverX AnyKey: mov ah,0 ;read next key struck from keyboard int keyboard ;call bios keyboard routine CoverX: ShowCover EndP Cover1 Proc Near assume es:parmseg mov ax,parmseg mov es,ax cmp PageNbr,0 jne CoverOk ;Set disk parms, start by moving file spec to Asciiz. mov si,offset cover

3 mov di,offset asciiz mov cx,64 cld rep movsb mov es:bufseg,ds ;set segment address of buffer mov ax,offset IObuffer ;set offset of buffer mov es:bufoff,ax mov ax,4008 ;set size of screen block mov es:bufsiz,ax call GetFile ;get screen from disk cmp es:dskerr,0 je CoverOK ;read was OK mov al,1 mov pgmstat,al jmp CoverX Coverok: mov al,3 ;80 x 25 color mov ah,0 ;set mode int video ;call bios video routine mov ah,5 ;select active display page mov al,3 ;active page 3 int video ;call bios video routine mov ah,11 ;set color palette mov bh,0 ;set boarder color mov bl,1 ;dark blue int video ;call bios video routine mov ah,1 ;make cursor invisible mov ch,31 mov cl,31 int video cmp PageNbr,0 jne Cover1X mov dx,crtmode ;turn off the display mov al,29h ;mode byte for 80 column color and al, b out dx,al assume es:screenseg mov ax,screenseg mov es,ax mov si,offset IObuffer+7 ;Move screen from I/O buffer to mov di,offset Page3 ; to actual screen memory. cld mov cx,2000 rep movsw mov dx,crtmode ;turn display back on mov al,29h ;80 x 25 color mode byte out dx,al call beep Cover1X: Cover1 EndP PutScreen Proc Near ReStart: mov al,pagenbr ;get instruction screen page number call ConvByte ;convert to decimal display mov FileSpec+6,dh ;and put it into the file spec mov FileSpec+7,dl

4 assume es:parmseg mov ax,parmseg mov es,ax ;Set disk parms, start by moving file spec to Asciiz. mov si,offset FileSpec mov di,offset asciiz mov cx,64 cld rep movsb mov es:bufseg,ds ;set segment address of buffer mov ax,offset IObuffer ;set offset of buffer mov es:bufoff,ax mov ax,4008 ;set size of screen block mov es:bufsiz,ax call GetFile ;get screen from disk cmp es:dskerr,0 je ScreenOK ;read was OK jmp NoPage ;not a valid screen page number ScreenOK: call SetEdge mov dx,crtmode ;turn off the display mov al,29h ;mode byte for 80 column color and al, b out dx,al assume es:screenseg mov ax,screenseg mov es,ax mov si,offset IObuffer+7 ;Move screen from I/O buffer to mov di,offset Page3 ; to actual screen memory. cld mov cx,2000 rep movsw mov dx,crtmode ;turn display back on mov al,29h ;80 x 25 color mode byte out dx,al call beep jmp PSexit NoPage: call buzz call ClearAns mov al,0 mov PageNbr,al jmp ReStart PSexit: PutScreen EndP NextNumber Proc Near WaitInput: mov si,cursoff ;offset to cursor position on screen mov cx,2 ;max characters in answer mov dh,0bch ;cursor color atribute mov dl,031h call Xanswer assume es:dataseg mov es,ax cmp dh,1 je PrevPage ;answer color atribute ;go to previous page

5 cmp dh,2 je NextPage ;go to next page cmp cx,0 je PageZero ;go to page 0 cmp cx,01ffh je MainMenu ;escape back to main menu push cx mov di,offset NewPage ;move answer to local work area cld mov cx,2 rep movsb pop cx cmp cx,1 jne TwoDigit OneDigit: call ConvOne cmp ah,0 jne BadNumber mov es:pagenbr,al jmp NNexit TwoDigit: call ConvTwo cmp ah,0 jne BadNumber mov es:pagenbr,al jmp NNexit PrevPage: cmp es:pagenbr,0 je BadNumber dec es:pagenbr jmp NNexit Nextpage: inc es:pagenbr jmp NNexit PageZero: mov al,0 mov es:pagenbr,al jmp NNexit MainMenu: mov al,255 mov es:pagenbr,al jmp NNexit BadNumber: call buzz call ClearAns jmp WaitInput NNexit: NextNumber EndP ConvOne Proc Near mov al,newpage cmp al,30h jl NotNumber1 cmp al,39h jg NotNumber1

6 sub al,30h mov ah,0 jmp COexit NotNumber1: mov ah,1 COexit: ConvOne EndP ;convert to binary ConvTwo Proc Near mov al,newpage cmp al,30h jl NotNumber2 cmp al,39h jg NotNumber2 sub al,30h ;convert to binary mul Ten ;multiply by 10 mov dl,al ;save in dl mov al,newpage+1 cmp al,30h jl NotNumber2 cmp al,39h jg NotNumber2 sub al,30h ;convert to binary add al,dl ;add 10's value mov ah,0 jmp CTexit NotNumber2: mov ah,1 CTexit: ConvTwo EndP ClearAns Proc Near assume ds:screenseg mov ax,screenseg mov al,20h mov bx,cursoff mov [page0 + bx],al inc bx mov [page0 + bx],al inc bx mov [page0 + bx],al ClearAns EndP SetEdge Proc Near

7 mov bl,pagenbr mov bh,0 mov ch,[edgetab + bx] mov ah,11 mov bh,0 mov bl,ch int video SetEdge EndP ;Subroutine to get a binary block of data from disk. ;It opens file, reads entire file (as one block of data) ;into memory, closes file. ; ;Enter with: ; - Device, path, filespec and binary zero in Asciiz. ; - Segment address of buffer in Bufseg. ; - Offset of buffer in Bufoff. ; - Max number of bytes to read, in Bufsiz. ; ;On exit: ; - Handle will contain handle number. ; - Actsiz will contain actual number of bytes read, or ; zero if file was not found on disk. ; - Dskerr will contain the DOS error code, or zero if ; no error. Getfile Proc Near ;save registers of calling routine push si push di push ax push bx push cx push dx assume ds:parmseg mov ax,parmseg ;set DS to PARMSEG segment ; -which sets DS to Asciiz mov dx,offset asciiz ; -set offset to Asciiz mov al,0 ;set AL to "open for reading" mov ah,3dh ;set AH to "open a file" function int DOS ;call DOS jc gfopenerr ;error on open mov handle,ax ;save handle mov bx,handle ;load BX with file handle mov cx,bufsiz ;load CX with # of bytes to read mov dx,bufoff ;load DX with offset of buffer mov ax,bufseg ;load DS with segment address ; of buffer mov ah,3fh ;"read from a file" function int DOS ;call DOS push ax ;save # of bytes read on stack mov ax,parmseg ;restore DS to diskparms segment ; pop ax ;get # of bytes read jc gfreaderr ;error on read mov actsiz,ax ;save # of bytes read, in diskparms

8 mov bx,handle ;load BX with file handle mov ah,3eh ;"close a file handle" function int DOS ;call DOS jc gfcloserr ;error on close mov dskerr,0 ;set error code to zero (no error) Gfback: pop dx ;restore registers of calling pop cx ; routine. pop bx pop ax pop di pop si ;urn to calling routine ;ERROR ON OPEN: Possible error urns are: ; 2 - File not found ; 4 - To many open files (no handles left) ; 5 - Access denied ; 12 - Invalid access code Gfopenerr: mov ah,1 ;set AH to 1 for open error, ;AL already contains error code mov dskerr,ax ;put error code in diskparms jmp gfback ;ERROR ON READ: Possible error urns are: ; 5 - Access denied ; 6 - Invalid handle Gfreaderr: mov ah,2 ;set AH to 2 for read error mov dskerr,ax ;put error code in diskparms jmp gfback ;ERROR ON CLOSE: Possible error urn is: ; 6 - Invalid handle Gfcloserr: mov ah,3 ;set AH to 3 for close error mov dskerr,ax ;put error code in diskparms jmp gfback Getfile EndP Beep Proc Near push ax ;save registers of calling program push dx push cx push bx mov ax,0 mov dx,12h mov cx,7d0h div cx mov bx,ax mov al, b out 43h,al mov ax,bx out 42h,al mov al,ah out 42h,al in al,portb or al,3 out portb,al mov cx,07fffh ;set up counter for duration of beep wait: loop wait in al,portb

9 and al, b out portb,al pop bx ;restore registers of calling pgm pop cx pop dx pop ax BEEP EndP BUZZ Proc Near push ax ;save registers of calling program mov ax,ds push ax push bx push cx push dx ;set DS for this routine mov buzzit,16 ;set buzz counter Buzzone: mov ax,0 mov dx,12h mov cx,900 div cx mov bx,ax mov al, b out 43h,al mov ax,bx out 42h,al mov al,ah out 42h,al in al,portb or al,3 out portb,al mov cx,0affh Buzz1: loop buzz1 in al,portb and al, b out portb,al mov cx,7ffh Buzz2: loop buzz2 dec buzzit jnz buzzone pop dx pop cx pop bx pop ax pop ax BUZZ EndP ;Enter with binary value in AL. ;On urn, the result is in: (assume result is 234) ; AH = 2, DH = 3, DL = 4 Convbyte Proc Near mov ah,48 mov dh,48

10 mov dl,48 Test1: cmp al,100 jl test2 sub al,100 inc ah jmp test1 Test2: cmp al,10 jl test3 sub al,10 inc dh jmp test2 Test3: add dl,al Convbyte EndP ;Enter with: ; SI = offset of cursor position in screen memory ; CX = maximum number of characters in answer ; DH = color atribute of cursor ; DL = color atribute of answer ;On urn: ; The answer is on the screen, followed by the cursor. ; The answer is also in a string pointed to by DS SI, ; with CX set to the number of characters in the answer. ; If Escape was pushed CX will = 01FFh. ; DH will = 0, unless PgUp pushed then DH = 1 ; or PgDn pushed then DH = 2. Xanswer Proc Near assume ds:screenseg mov ax,screenseg assume es:dataseg mov es,ax mov es:attributes,dx ;save color attributes mov es:startoff,si ;save beginning offset mov es:maxchars,cx ;save maximum number of characters ; in answer. mov cx,256 mov bx,0 mov al,20h ClearAnswer: mov [es:answer + bx],al inc bx loop ClearAnswer mov cx,0 ;initialize character counter NextChar: call PutCursor ;Put cursor on screen mov ah,0 int keyboard ;read next keyboard entry mov es:keycodes,ax ;save codes cmp al,20h jl ChekEdit ;not a printable character cmp al,7eh jg ChekEdit ;not a printable character cmp cx,es:maxchars

11 jge BadChar ;already have max number of char's call PutChar ;put character on screen inc si ;bump offset to screen by 1 char' inc si ; which is 2 bytes. mov bx,cx ;move counter to pointer mov ax,es:keycodes ;get character code mov [es:answer + bx],al ;and put in answer string inc cx ;bump character counter jmp NextChar ChekEdit: cmp ax,0e08h ;backspace je BackUp cmp ax,4b00h ;left arrow je BackUp cmp ax,1c0dh ;urn je Return cmp ax,011bh ;escape je Escape cmp ah,49h ;PgUp je PageUp cmp ah,51h ;PgDn je PageDown BadChar: call buzz ;invalid character or control jmp NextChar BackUp: cmp cx,0 jle BadChar ;can't back up mov es:keycodes,02020h ;set keycodes to space call PutChar ;blank out cursor on screen dec cx ;decrement character counter dec si ;decrement offset pointer dec si ; (2 bytes per character) jmp NextChar ;and start over Escape: mov cx,01ffh mov dh,0 jmp Return2 PageUp: mov dh,1 jmp Return2 PageDown: mov dh,2 jmp Return2 Return: mov dh,0 Return2: mov es:keycodes,02020h ;set keycodes to space call PutChar ;blank out cursor on screen mov si,offset answer Xanswer EndP PutCursor Proc Near assume ds:screenseg assume es:dataseg mov bx,es:attributes mov bl,219

12 mov dx,crtstatus Wait1: in al,dx test al,1 jnz Wait1 Wait2: in al,dx test al,1 jz Wait2 cli mov [Page0 + si],bl mov [Page si],bh sti PutCursor EndP PutChar Proc Near push dx assume ds:screenseg assume es:dataseg mov bx,es:attributes mov bh,bl mov ax,es:keycodes mov bl,al mov dx,crtstatus WaitA: in al,dx test al,1 jnz WaitA WaitB: in al,dx test al,1 jz WaitB cli mov [Page0 + si],bl mov [Page si],bh sti pop dx PutChar EndP CODE EndS END ###

8. MACROS, Modules, and Mouse

8. MACROS, Modules, and Mouse 8. MACROS, Modules, and Mouse Background Macros, Modules and the Mouse is a combination of concepts that will introduce you to modular programming while learning how to interface with the mouse. Macros

More information

Complete 8086 instruction set

Complete 8086 instruction set Page 1 of 53 Complete 8086 instruction set Quick reference: AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD CLI CMC CMP CMPSB CMPSW CWD DAA DAS DEC DIV HLT IDIV IMUL IN INC INT INTO I JA JAE JB JBE JC JCXZ

More information

Character Translation Methods

Character Translation Methods Supplement to: Irvine, Kip R. Assembly Language for Intel-Based Computers, 4th Edition. This file may be duplicated or printed for classroom use, as long as the author name, book title, and copyright notice

More information

Computer Organization and Assembly Language

Computer Organization and Assembly Language Computer Organization and Assembly Language Lecture 8 - Strings and Arrays Introduction We already know that assembly code will execute significantly faster than code written in a higher-level language

More information

Faculty of Engineering Student Number:

Faculty of Engineering Student Number: Philadelphia University Student Name: Faculty of Engineering Student Number: Dept. of Computer Engineering Final Exam, First Semester: 2012/2013 Course Title: Microprocessors Date: 17/01//2013 Course No:

More information

King Fahd University of Petroleum and Minerals. College of Computer Science and Engineering. Computer Engineering Department COE 205

King Fahd University of Petroleum and Minerals. College of Computer Science and Engineering. Computer Engineering Department COE 205 King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department COE 205 Computer Organization and Assembly Language Lab Manual Prepared By: Mr.

More information

BCD (ASCII) Arithmetic. Where and Why is BCD used? Packed BCD, ASCII, Unpacked BCD. BCD Adjustment Instructions AAA. Example

BCD (ASCII) Arithmetic. Where and Why is BCD used? Packed BCD, ASCII, Unpacked BCD. BCD Adjustment Instructions AAA. Example BCD (ASCII) Arithmetic We will first look at unpacked BCD which means strings that look like '4567'. Bytes then look like 34h 35h 36h 37h OR: 04h 05h 06h 07h x86 processors also have instructions for packed

More information

MS-DOS, PC-BIOS, and File I/O Chapter 13

MS-DOS, PC-BIOS, and File I/O Chapter 13 Thi d t t d ith F M k 4 0 2 MS-DOS, PC-BIOS, and File I/O Chapter 13 A typical PC system consists of many component besides the 80x86 CPU and memory. MS-DOS and the PC s BIOS provide a software connection

More information

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 1 - INTRODUCTION JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Unit 1.MaNoTaS 1 Definitions (I) Description A computer is: A

More information

A Tiny Guide to Programming in 32-bit x86 Assembly Language

A Tiny Guide to Programming in 32-bit x86 Assembly Language CS308, Spring 1999 A Tiny Guide to Programming in 32-bit x86 Assembly Language by Adam Ferrari, ferrari@virginia.edu (with changes by Alan Batson, batson@virginia.edu and Mike Lack, mnl3j@virginia.edu)

More information

Appendix C: Keyboard Scan Codes

Appendix C: Keyboard Scan Codes Thi d t t d ith F M k 4 0 2 Appendix C: Keyboard Scan Codes Table 90: PC Keyboard Scan Codes (in hex) Key Down Up Key Down Up Key Down Up Key Down Up Esc 1 81 [ { 1A 9A, < 33 B3 center 4C CC 1! 2 82 ]

More information

by Kip Irvine. Last update: 12/11/2003

by Kip Irvine. Last update: 12/11/2003 Loading and Executing a Child Process by Kip Irvine. Last update: 12/11/2003 MS-DOS has always taken a fairly straightforward approach to loading and executing programs. From the start, it was designed

More information

PART B QUESTIONS AND ANSWERS UNIT I

PART B QUESTIONS AND ANSWERS UNIT I PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional

More information

INTRODUCTION TO PROGRAMMING THE 8086

INTRODUCTION TO PROGRAMMING THE 8086 SAMPLE HELLO WORLD PROGRAM The following example shows a program that displays the traditional Hello, world! message on the screen. It contains the essential ingredients of an assembly language application.

More information

Data Cables. Schmitt TTL LABORATORY ELECTRONICS II

Data Cables. Schmitt TTL LABORATORY ELECTRONICS II Data Cables Data cables link one instrument to another. Signals can attenuate or disperse on long wires. A direct wire works best for short cables of less than 10 ft. A TTL cable connection can use a Schmitt

More information

64-Bit NASM Notes. Invoking 64-Bit NASM

64-Bit NASM Notes. Invoking 64-Bit NASM 64-Bit NASM Notes The transition from 32- to 64-bit architectures is no joke, as anyone who has wrestled with 32/64 bit incompatibilities will attest We note here some key differences between 32- and 64-bit

More information

Writing a Simple Operating System from Scratch

Writing a Simple Operating System from Scratch Writing a Simple Operating System from Scratch i by Nick Blundell School of Computer Science, University of Birmingham, UK Draft: December 2, 2010 Copyright c 2009 2010 Nick Blundell Contents Contents

More information

2 ASCII TABLE (DOS) 3 ASCII TABLE (Window)

2 ASCII TABLE (DOS) 3 ASCII TABLE (Window) 1 ASCII TABLE 2 ASCII TABLE (DOS) 3 ASCII TABLE (Window) 4 Keyboard Codes The Diagram below shows the codes that are returned when a key is pressed. For example, pressing a would return 0x61. If it is

More information

Unpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD

Unpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD BCD (ASCII) Arithmetic The Intel Instruction set can handle both packed (two digits per byte) and unpacked BCD (one decimal digit per byte) We will first look at unpacked BCD Unpacked BCD can be either

More information

13-1. This chapter explains how to use different objects.

13-1. This chapter explains how to use different objects. 13-1 13.Objects This chapter explains how to use different objects. 13.1. Bit Lamp... 13-3 13.2. Word Lamp... 13-5 13.3. Set Bit... 13-9 13.4. Set Word... 13-11 13.5. Function Key... 13-18 13.6. Toggle

More information

Systems Design & Programming Data Movement Instructions. Intel Assembly

Systems Design & Programming Data Movement Instructions. Intel Assembly Intel Assembly Data Movement Instruction: mov (covered already) push, pop lea (mov and offset) lds, les, lfs, lgs, lss movs, lods, stos ins, outs xchg, xlat lahf, sahf (not covered) in, out movsx, movzx

More information

x64 Cheat Sheet Fall 2015

x64 Cheat Sheet Fall 2015 CS 33 Intro Computer Systems Doeppner x64 Cheat Sheet Fall 2015 1 x64 Registers x64 assembly code uses sixteen 64-bit registers. Additionally, the lower bytes of some of these registers may be accessed

More information

The stack and the stack pointer

The stack and the stack pointer The stack and the stack pointer If you google the word stack, one of the definitions you will get is: A reserved area of memory used to keep track of a program's internal operations, including functions,

More information

Using Heap Allocation in Intel Assembly Language

Using Heap Allocation in Intel Assembly Language Using Heap Allocation in Intel Assembly Language Copyright 2005, Kip R. Irvine. All rights reserved. Dynamic memory allocation is a feature we take for granted in high-level languages such as C++ and Java.

More information

PCI BIOS SPECIFICATION. Revision 2.1

PCI BIOS SPECIFICATION. Revision 2.1 PCI BIOS SPECIFICATION Revision 2.1 August 26, 1994 ii PCI BIOS Specification Revision 2.1 REVISION REVISION HISTORY DATE 1.0 Original issue distributed by Intel 9/28/92 2.0 Updated to be in synch with

More information

8085 INSTRUCTION SET

8085 INSTRUCTION SET DATA TRANSFER INSTRUCTIONS Opcode Operand Description 8085 INSTRUCTION SET INSTRUCTION DETAILS Copy from source to destination OV Rd, Rs This instruction copies the contents of the source, Rs register

More information

Assembly Language Tutorial

Assembly Language Tutorial Assembly Language Tutorial ASSEMBLY LANGUAGE TUTORIAL by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Assembly Programming Tutorial Assembly language is a low-level programming language for

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer About the Tutorial Assembly language is a low-level programming language for a computer or other programmable device specific to a particular computer architecture in contrast to most high-level programming

More information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper

More information

Using Debug 1 INTRODUCING DEBUG

Using Debug 1 INTRODUCING DEBUG Using Debug Copyright Prentice-Hall Publishing, 1999. All rights reserved B.1 Introducing Debug B.2 Debug Command Summary Command Parameters B.3 Individual Commands? (Help) A (Assemble) C (Compare) D (Dump)

More information

The x86 PC: Assembly Language, Design, and Interfacing 5 th Edition

The x86 PC: Assembly Language, Design, and Interfacing 5 th Edition Online Instructor s Manual to accompany The x86 PC: Assembly Language, Design, and Interfacing 5 th Edition Muhammad Ali Mazidi Janice Gillispie Mazidi Danny Causey Prentice Hall Boston Columbus Indianapolis

More information

The PC Serial Ports Chapter 22

The PC Serial Ports Chapter 22 Thi d t t d ith F M k 4 0 2 The PC Serial Ports Chapter 22 The RS-232 serial communication standard is probably the most popular serial communication scheme in the world. Although it suffers from many

More information

Machine Programming II: Instruc8ons

Machine Programming II: Instruc8ons Machine Programming II: Instrucons Move instrucons, registers, and operands Complete addressing mode, address computaon (leal) Arithmec operaons (including some x6 6 instrucons) Condion codes Control,

More information

2150 North First Street, Suite 440 Phone: (408) 435-0333 San Jose, CA 95131-2029 FAX: (408) 435-8225

2150 North First Street, Suite 440 Phone: (408) 435-0333 San Jose, CA 95131-2029 FAX: (408) 435-8225 VBE Core Standard VESA Video Electronics Standards Association 2150 North First Street, Suite 440 Phone: (408) 435-0333 San Jose, CA 95131-2029 FAX: (408) 435-8225 VESA BIOS EXTENSION (VBE) Core Functions

More information

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS 1) Which is the microprocessor comprises: a. Register section b. One or more ALU c. Control unit 2) What is the store by register? a. data b. operands

More information

Writing an 8086 emulator in Python

Writing an 8086 emulator in Python Writing an 8086 emulator in Python Cesare Di Mauro PyCon 2015 Florence April 2015 April 2015 Cesare Di Mauro PyCon 2015 Writing an 8086 emulator in Python 1 The geek experience Writing your own o.s.: A

More information

1 Classical Universal Computer 3

1 Classical Universal Computer 3 Chapter 6: Machine Language and Assembler Christian Jacob 1 Classical Universal Computer 3 1.1 Von Neumann Architecture 3 1.2 CPU and RAM 5 1.3 Arithmetic Logical Unit (ALU) 6 1.4 Arithmetic Logical Unit

More information

ASCII and BCD Arithmetic. Chapter 11 S. Dandamudi

ASCII and BCD Arithmetic. Chapter 11 S. Dandamudi ASCII and BCD Arithmetic Chapter 11 S. Dandamudi Outline Representation of Numbers ASCII representation BCD representation» Unpacked BCD» Packed BCD Processing ASCII numbers» ASCII addition» ASCII subtraction»

More information

MACHINE ARCHITECTURE & LANGUAGE

MACHINE ARCHITECTURE & LANGUAGE in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based

More information

Analysis of Win32.Scream

Analysis of Win32.Scream Analysis of Win32.Scream 1. Introduction Scream is a very interesting virus as it combines a lot of techniques written inside of it. In this paper I ll cover all of its features and internals. I ll dissect

More information

CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles CS 16: Assembly Language Programming for the IBM PC and Compatibles Start basic with some string primitive instructions Get choosy with some selected string procedures Look both ways before crossing two-dimensional

More information

PROBLEMS (Cap. 4 - Istruzioni macchina)

PROBLEMS (Cap. 4 - Istruzioni macchina) 98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

1. Computer System Structure and Components

1. Computer System Structure and Components 1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices

More information

CHAPTER 6 TASK MANAGEMENT

CHAPTER 6 TASK MANAGEMENT CHAPTER 6 TASK MANAGEMENT This chapter describes the IA-32 architecture s task management facilities. These facilities are only available when the processor is running in protected mode. 6.1. TASK MANAGEMENT

More information

AN-444 Single Chip Modem Provides Low-Cost Data Communication

AN-444 Single Chip Modem Provides Low-Cost Data Communication AN-444 Single Chip Modem Provides Low-Cost Data Communication Literature Number: SNLA146 Single-Chip Modem Provides Low-Cost Data Communication A simple modem provides an inexpensive way to link your IBM

More information

PhoenixBIOS 4.0. Programmer s Guide. Version 1.0

PhoenixBIOS 4.0. Programmer s Guide. Version 1.0 PhoenixBIOS 4.0 Programmer s Guide Version 1.0 Copying of this document, and giving it to others and the use or communication of the contents therof, are forbidden without express authority. Offenders

More information

Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com

Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com CSCI-UA.0201-003 Computer Systems Organization Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified)

More information

TIn 1: Lecture 3: Lernziele. Lecture 3 The Belly of the Architect. Basic internal components of the 8086. Pointers and data storage in memory

TIn 1: Lecture 3: Lernziele. Lecture 3 The Belly of the Architect. Basic internal components of the 8086. Pointers and data storage in memory Mitglied der Zürcher Fachhochschule TIn 1: Lecture 3 The Belly of the Architect. Lecture 3: Lernziele Basic internal components of the 8086 Pointers and data storage in memory Architektur 8086 Besteht

More information

Hardware and Software Requirements

Hardware and Software Requirements C Compiler Real-Time OS Simulator Training Evaluation Boards Installing and Using the Keil Monitor-51 Application Note 152 May 31, 2000, Munich, Germany by Keil Support, Keil Elektronik GmbH support.intl@keil.com

More information

Instruction Set Architecture

Instruction Set Architecture CS:APP Chapter 4 Computer Architecture Instruction Set Architecture Randal E. Bryant adapted by Jason Fritts http://csapp.cs.cmu.edu CS:APP2e Hardware Architecture - using Y86 ISA For learning aspects

More information

µtasker Document FTP Client

µtasker Document FTP Client Embedding it better... µtasker Document FTP Client utaskerftp_client.doc/1.01 Copyright 2012 M.J.Butcher Consulting Table of Contents 1. Introduction...3 2. FTP Log-In...4 3. FTP Operation Modes...4 4.

More information

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board. Bus Interfaces Different types of buses: ISA (Industry Standard Architecture) EISA (Extended ISA) VESA (Video Electronics Standards Association, VL Bus) PCI (Periheral Component Interconnect) USB (Universal

More information

Table 72: PC Keyboard Scan Codes (in hex)

Table 72: PC Keyboard Scan Codes (in hex) Thi d t t d ith F M k 4 0 2 The PC Keyboard Chapter 20 The PC s keyboard is the primary human input device on the system. Although it seems rather mundane, the keyboard is the primary input device for

More information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2 Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

More information

Introduction to Microcontrollers

Introduction to Microcontrollers Introduction to Microcontrollers Motorola M68HC11 Specs Assembly Programming Language BUFFALO Topics of Discussion Microcontrollers M68HC11 Package & Pinouts Accumulators Index Registers Special Registers

More information

Z80 Instruction Set. Z80 Assembly Language

Z80 Instruction Set. Z80 Assembly Language 75 Z80 Assembly Language The assembly language allows the user to write a program without concern for memory addresses or machine instruction formats. It uses symbolic addresses to identify memory locations

More information

8086 Microprocessor (cont..)

8086 Microprocessor (cont..) 8086 Microprocessor (cont..) It is a 16 bit µp. 8086 has a 20 bit address bus can access upto 2 20 memory locations ( 1 MB). It can support upto 64K I/O ports. It provides 14, 16-bit registers. It has

More information

Software Fingerprinting for Automated Malicious Code Analysis

Software Fingerprinting for Automated Malicious Code Analysis Software Fingerprinting for Automated Malicious Code Analysis Philippe Charland Mission Critical Cyber Security Section October 25, 2012 Terms of Release: This document is approved for release to Defence

More information

CipherLab 5100 Time Attendance Utility Manual

CipherLab 5100 Time Attendance Utility Manual CipherLab 5100 Time Attendance Utility Manual K:\Products\Product Technical\BI\BI-PC5100T\CipherLab5100TimeAttendnaceUtilityManual0707-process.doc Page 1 / 13 1 Login A popup form as follows will appear

More information

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small amount of RAM. Programmable ROM and/or flash memory.

More information

AXEL Platine Terminal Asynchronous AX3000 Models

AXEL Platine Terminal Asynchronous AX3000 Models AXEL Platine Terminal Asynchronous AX3000 Models User's Guide Dec. 1996 - Ref.: UGUE105/648-1 The reproduction of this material, in part or whole, is strictly prohibited. For additional information, please

More information

Objectives. Basics of Serial Communication. Simplex vs Duplex. CMPE328 Microprocessors (Spring 2007-08) Serial Interfacing. By Dr.

Objectives. Basics of Serial Communication. Simplex vs Duplex. CMPE328 Microprocessors (Spring 2007-08) Serial Interfacing. By Dr. CMPE328 Microprocessors (Spring 27-8) Serial Interfacing By Dr. Mehmet Bodur Objectives Upon completion of this chapter, you will be able to: List the advantages of serial communication over parallel communication

More information

The Hexadecimal Number System and Memory Addressing

The Hexadecimal Number System and Memory Addressing APPENDIX C The Hexadecimal Number System and Memory Addressing U nderstanding the number system and the coding system that computers use to store data and communicate with each other is fundamental to

More information

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08 CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code

More information

Alarm Message C B A. Alarm Message's scroll direction. Scroll the currently triggered Alarms on all screens. C B A. Display alarms.

Alarm Message C B A. Alarm Message's scroll direction. Scroll the currently triggered Alarms on all screens. C B A. Display alarms. 19 Alarm This chapter explains how to display and manage "Alarms" in GP-Pro EX, and discusses the useful features of Alarms. Please start by reading "19.1 Settings Menu" (page 19-2) and then turn to the

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

PC Assembly Language. Paul A. Carter

PC Assembly Language. Paul A. Carter PC Assembly Language Paul A. Carter November 20, 2001 Copyright c 2001 by Paul Carter This may be reproduced and distributed in its entirety (including this authorship, copyright and permission notice),

More information

Outline. Lecture 3. Basics. Logical vs. physical memory. 8086 physical memory. x86 byte ordering

Outline. Lecture 3. Basics. Logical vs. physical memory. 8086 physical memory. x86 byte ordering Outline Lecture 3 bout Memory ddressing memory Data types MOV instruction ddressing modes Instruction format Dr. Dimitrios S. Nikolopoulos SL/UIU Basics Logical vs. physical memory Memory in the x processors

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 7 Input/Output Input/Output Problems Computers have a wide variety of peripherals Delivering different amounts of data, at different speeds, in different

More information

Interfacing Analog to Digital Data Converters

Interfacing Analog to Digital Data Converters Converters In most of the cases, the PIO 8255 is used for interfacing the analog to digital converters with microprocessor. We have already studied 8255 interfacing with 8086 as an I/O port, in previous

More information

POS-X Stock Manager User s Guide

POS-X Stock Manager User s Guide POS-X Stock Manager User s Guide Version 1.3 Copyright 2005 POS-X Inc. All rights reserved. POS-X.com 1-800-790-8657 1 POS-X Stock Manager User s Guide Stock Manager Version 1.1.67 POS-X Inc. Telephone:

More information

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail Hacking Techniques & Intrusion Detection Ali Al-Shemery arabnix [at] gmail All materials is licensed under a Creative Commons Share Alike license http://creativecommonsorg/licenses/by-sa/30/ # whoami Ali

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Reborn Card NET. User s Manual

Reborn Card NET. User s Manual Reborn Card NET User s Manual Table of Contents Notice Before Installation:... 2 System Requirements... 3 1. First Installation... 4 2. Hardware Setup... 4 3. Express Installation... 6 4. How to setup

More information

Introduction to the TI-Nspire CX

Introduction to the TI-Nspire CX Introduction to the TI-Nspire CX Activity Overview: In this activity, you will become familiar with the layout of the TI-Nspire CX. Step 1: Locate the Touchpad. The Touchpad is used to navigate the cursor

More information

HC12 Assembly Language Programming

HC12 Assembly Language Programming HC12 Assembly Language Programming Programming Model Addressing Modes Assembler Directives HC12 Instructions Flow Charts 1 Assembler Directives In order to write an assembly language program it is necessary

More information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory 1 1. Memory Organisation 2 Random access model A memory-, a data byte, or a word, or a double

More information

Apple II Technical Notes

Apple II Technical Notes #1: Interrupt Environment with the Revised by: Matt Deatherage November 1988 Revised by: Rilla Reynolds November 1985 This Technical Note describes the interrupt environment one should take into account

More information

X86-64 Architecture Guide

X86-64 Architecture Guide X86-64 Architecture Guide For the code-generation project, we shall expose you to a simplified version of the x86-64 platform. Example Consider the following Decaf program: class Program { int foo(int

More information

Mouse Programming. 25.1 Mouse Interrupts. 25.2 Useful Mouse functions. 25.2.1 Mouselib.h. 25.2.2 Mouselib.c

Mouse Programming. 25.1 Mouse Interrupts. 25.2 Useful Mouse functions. 25.2.1 Mouselib.h. 25.2.2 Mouselib.c 25 Show respect for all people. Mouse Programming As everyone knows, mouse is one of the inputting devices. In this chapter, I explain interrupts for mouse programming and a few concepts regarding mouse

More information

Embedded x86 Programming: Protected Mode

Embedded x86 Programming: Protected Mode by JEAN GAREAU Embedded x86 Programming: Protected Mode The x86 architecture is ubiquitous on the desktop and is spilling over into embedded systems environments. This article begins a series designed

More information

SP8 Programmers 硕 飞 科 技. User's Guide. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com

SP8 Programmers 硕 飞 科 技. User's Guide. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com 硕 飞 科 技 SP8 Programmers User's Guide SHENZHEN SOFI TECHNOLOGY CO.,LTD. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com Publication Release Date: August 2011 Revision A1 Contents Chapter

More information

System Calls and Standard I/O

System Calls and Standard I/O System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services

More information

The 80x86 Instruction Set

The 80x86 Instruction Set Thi d t t d ith F M k 4 0 2 The 80x86 Instruction Set Chapter Six Until now, there has been little discussion of the instructions available on the 80x86 microprocessor. This chapter rectifies this situation.

More information

Computer-System Architecture

Computer-System Architecture Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System

More information

PIC Programming in Assembly. (http://www.mstracey.btinternet.co.uk/index.htm)

PIC Programming in Assembly. (http://www.mstracey.btinternet.co.uk/index.htm) PIC Programming in Assembly (http://www.mstracey.btinternet.co.uk/index.htm) Tutorial 1 Good Programming Techniques. Before we get to the nitty gritty of programming the PIC, I think now is a good time

More information

CS61: Systems Programing and Machine Organization

CS61: Systems Programing and Machine Organization CS61: Systems Programing and Machine Organization Fall 2009 Section Notes for Week 2 (September 14 th - 18 th ) Topics to be covered: I. Binary Basics II. Signed Numbers III. Architecture Overview IV.

More information

Chapter 1. Bootstrap. Hardware

Chapter 1. Bootstrap. Hardware DRAFT as of September 23, 2010: Copyright 2009 Cox, Kaashoek, Morris Chapter 1 Bootstrap Hardware A computer s CPU (central processing unit, or processor) runs a conceptually simple loop: it inspects the

More information

Programming Interface. for. Bus Master IDE Controller. Revision 1.0

Programming Interface. for. Bus Master IDE Controller. Revision 1.0 Programming Interface for Bus Master IDE Controller Revision 1.0 5/16/94 Until this specification is ratified, it is solely owned and maintained by: Brad Hosler, Intel Corporation bwh@salem.intel.com (please

More information

HD44780-Based LCD Modules. Introduction to the LM018L

HD44780-Based LCD Modules. Introduction to the LM018L HD44780-Based LCD Modules Hitachi LM018L 40 character x 2 lines Built-in LSI HD44780 controller +5volt single power supply Display Colour: Grey LM018L: Introduction Interfacing Display Pattern and Character

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

Modbus RTU Communications RX/WX and MRX/MWX

Modbus RTU Communications RX/WX and MRX/MWX 15 Modbus RTU Communications RX/WX and MRX/MWX In This Chapter.... Network Slave Operation Network Master Operation: RX / WX Network Master Operation: DL06 MRX / MWX 5 2 D0 Modbus Network Slave Operation

More information

SCSI device drivers are provided for the following operating systems: Microsoft Windows NT Server 4.0 Novell NetWare 5.1

SCSI device drivers are provided for the following operating systems: Microsoft Windows NT Server 4.0 Novell NetWare 5.1 This section describes how to install and configure the Dell small computer system interface (SCSI) device drivers included with your Dell PowerEdge 1400 computer system. These device drivers are designed

More information

Cluster APIs. Cluster APIs

Cluster APIs. Cluster APIs Cluster APIs Cluster APIs Cluster APIs include: Cluster Control APIs Cluster Resource Group APIs Cluster Resource Group Exit Program Topics covered here are: Cluster APIs Cluster Resource Services Characteristics

More information

Microprocessor/Microcontroller. Introduction

Microprocessor/Microcontroller. Introduction Microprocessor/Microcontroller Introduction Microprocessor/Microcontroller microprocessor - also known as a CU or central processing unit - is a complete computation engine that is fabricated on a single

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers

More information

Getting Started with IntelleView POS Administrator Software

Getting Started with IntelleView POS Administrator Software Getting Started with IntelleView POS Administrator Software Administrator s Guide for Software Version 1.2 About this Guide This administrator s guide explains how to start using your IntelleView POS (IntelleView)

More information

LabVIEW Day 1 Basics. Vern Lindberg. 1 The Look of LabVIEW

LabVIEW Day 1 Basics. Vern Lindberg. 1 The Look of LabVIEW LabVIEW Day 1 Basics Vern Lindberg LabVIEW first shipped in 1986, with very basic objects in place. As it has grown (currently to Version 10.0) higher level objects such as Express VIs have entered, additional

More information

8051 Serial Port. Crystal TXD. I/O Device RXD. Embedded Systems 1 5-1 8051 Peripherals

8051 Serial Port. Crystal TXD. I/O Device RXD. Embedded Systems 1 5-1 8051 Peripherals 8051 Serial Port The 8051 contains a UART Universal Asynchronous Receiver Transmitter The serial port is full-duplex It can transmit and receive simultaneously 2 Port 3 pins are used to provide the serial

More information