Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Chapter7.2-mikroprocessor

322
views

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
322
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
11
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Programming the Microprocessor A Course in Microprocessor Electrical Engineering Dept. University of Indonesia
• 2. Data Conversions
• Describes conversions between binary and ASCII
• Binary data are removed from a register or memory and converted to ASCII for the video display
• 3.
• Converting from Binary to ASCII
• Conversion from binary to ASCII is accomplished in two ways :
• by the AAM instruction if the number is less than 100 or
• by a series of decimal divisions (divided by 10)
Data Conversions (cont’d)
• 4. Data Conversions (cont’d)
• The algorithm for converting from binary to ASCII code is :
• Divide by the 10 and save the remainder on the stack as a significant BCD Digit
• Repeat step 1 until the quotient is a 0
• Retrieve each remainder and add a 30H to convert to ASCII before displaying or printing
• Example 7-27 illustrates a program that uses the procedure DISP that processes the binary value in AL (0-99) and display it on the video screen as decimal
• 5. Data Conversions (cont’d)
• Converting from ASCII to Binary
• The algorithm for converting from ASCII to binary is :
• Begin with a binary result of 0
• Subtract 30H from the character typed on the keyboard to convert it to BCD
• Multiply the result by 10 and add the new BCD digit
• Repeat steps 2 and 3 until the character typed is not an ASCII-coded number
• Example 7-29 illustrates a procedure (READN) used in a program that implements this algorithm
• 6. Data Conversions (cont’d)
• see Example 7-30
• see Example 7-31
• Using Lookup Tables for Data Conversions
• A lookup table is formed in the memory as a list of data that is referenced by a procedure to perform conversions
• is used XLAT instruction
• 7. Data Conversions (cont’d)
• Converting from BCD to 7-segment Code
• Example 7-32 illustrates a lookup table that contains the 7-segment codes for the numbers 0 to 9
• Using a Lookup Table to Access ASCII Data
• Example 7-33 shows a table that references ASCII-coded character strings located in the code segment
• 8. Disk Files
• Data are found stored on the disk in the form of files
• The disk is organized in four main parts :
• the boot sector
• the file allocation table (FAT)
• the root directory
• the data storage
• Disk Organization
• Fig. 7-2 illustrates the organization of sectors and tracks on the surface of the disk
• Fig. 7-3 shows the organization of data on a disk
• 9. Disk Files (cont’d)
• Files are usually accessed through DOS INT 21H function calls
• There are two ways to accesse a file using
• INT 21H :
• uses a file control block
• uses a file handle
• Sequential File Access
• All DOS files are sequential files
• 10. Disk Files(cont’d)
• File Creation
• A file is created by the INT 21 H function call number 3CH
• The file name must be stored at a location addressed by DS:DX before calling the function
• CX must contain the attribute of the file (or subdirectory) created
• An ASCII-Z string is a character string that ends with a 00H or null character
• Example 7-37 lists a short procedure that creates the new file on the disk
• Table 7-5 lists and defines the attribute bit positions
• 11. Disk Files(cont’d)
• Writing to a File
• Before writing to a file, the file must have been created or opened
• The file handle is used to refer to the file whenever data are written
• Function number 40H is used to write data to an opened or newly created file. In addition to loading a 40H into AH, we must also load BX = the file handle, CX = the number of bytes to be written, and DS:DX = the address of the area to be written to the disk ( see Example 7-38 and 7-39 )
• 12. Disk Files(cont’d)
• The File Pointer
• It is a 32-bit number that addresses any byte in a file
• Once a file is opened, the file pointer can be changed with the move file pointer function number 42H
• A file pointer can be moved :
• from the start of the file (AL=00H)
• from the current location (AL=01H)
• from the end of the file (AL=02H)
• The distance moved by the file pointer is specified by registers CX and DX
• 13. Disk Files(cont’d)
• Register BX must contain the file handle before using function 42H to move the file pointer
• Example 7-40 shows a procedure that opens a file, moves the file pointer to the end of the file, writes 256 bytes of data, and then closes the file
• Fig. 7-5 shows how this is accomplished by creating a second file (see Example 7-41 )
• Random Access Files
• Creating a Random Access File (see Example 7-42 )
• Reading and Writing a Record (see Example 7-43 )
• 14. Example Programs
• Calculator Program
• This program demonstrates how data conversion plays an important part in many application programs (see Example 7-44 )
• Numeric Sort Program
• Fig. 7-6 shows five numbers that are sorted with a bubble sort
• Example 7-45 illustrates a program that accepts 10 numbers from the keyboard (0-65535)
• 15. Interrupt Hooks
• Hooks are used to tap into or intercept the interrupt structure of the microprocessor
• a special keystroke, called a hot key, can be detected when we hook into the keyboard interrupt
• Whenever the hot-key is typed, a terminate and stay resident (TSR) program that performs a special task, can be accessed
• see Example 7-48
• 16.
• 17.
• 18.
• 19.
• 20.
• 21.
• 22.
• 23.
• 24.
• 25.
• 26.
• 27.
• 28.
• 29.
• 30.
• 31.
• 32.
• 33.
• 34.
• 35.
• 36.
• 37.
• 38.