Question: ASSEMBLY LANGUAGE X86 INTEL THE FOLLOWING IS THE CODE FOR CLEAR SCREEN CLRSCR PROCEDURE clrscr PROC ;clear screen = scroll the whole screen window. ;use

ASSEMBLY LANGUAGE X86 INTEL

ASSEMBLY LANGUAGE X86 INTEL THE FOLLOWING IS THE CODE FOR CLEAR SCREEN

CLRSCR PROCEDURE clrscr PROC ;clear screen = scroll the whole screen window.

THE FOLLOWING IS THE CODE FOR CLEAR SCREEN CLRSCR PROCEDURE

clrscr PROC

;clear screen = scroll the whole screen window.

;use coordinates 0,0 to 24,79

;BIOS INT 10h function 06h

mov ah, 06h ; scroll up

mov al, 0 ; entire window

mov ch, 0 ; upper left row

mov cl, 0 ; upper left col

mov dh, 24 ; lower right row

mov dl, 79 ; lower right col

mov bh, 7 ; attribute for blanked area

int 10h ; white: RGB=111=7

ret

clrscr ENDP --------------------------------------------------------------------

Initial Outline Code

main proc

.data

TestString01 BYTE "***********************************",0dh,0ah,

"* PROGRAM 5 TESTING PROCEDURE *",0dh,0ah,

"***********************************",0dh,0ah,0

TestString02 BYTE "WriteBin: Printing a binary number....: ",0

TestString03 BYTE "ReadChar: Type an ASCII character.....: ",0

TestString04 BYTE "Writechar: That character was.........: ",0

TestString05 BYTE "ReadString: Type an ASCII String......: " ,0

TestString06 BYTE "WriteString...........................: ",0

TestString07 BYTE "ReadDec: Type a 16bit Decimal number..: ",0

TestString08 BYTE "WriteDec: The Number was..............: ",0

TestString09 BYTE "ReadHex: Type a 16bit Hex number......: ",0

TestString10 BYTE "WriteHex:The Number was...............: ",0

TestString11 BYTE "WriteDec: Number of Characters Typed..: ",0

Buffer BYTE 10 DUP ('!')

.code

mov ax ,@data

mov ds,ax

call clrscr ;Clear the Screen

mov dx, offset TestString01 ;First Large Prompt/Header

call writestring

call crlf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

call crlf

mov dx, offset TestString03 ;Prompt to Test ReadChar

call WriteString;

call Readchar ; Reads Filtered Char into AL

call crlf

mov dx, offset TestString04 ;Prompt for WriteChar

call WriteString

call Writechar ; Writes ASCII char in AL to Screen

call crlf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

call crlf

mov dx, offset TestString05 ;Prompt for ReadString

call WriteString;

mov dx, offset buffer ; Where to store the read-in-String

mov cx, 9

call ReadString ;Stores typed string to where DX points

call crlf

mov dx, offset TestString11 ; Prompt for WriteDec, which will

call WriteString ; print out the number of characters typed

Call WriteDec

Call Crlf

mov dx, offset TestString06 ; Print out the string that was entered

call WriteString; ; uses DX register for source

mov dx, offset buffer

call writeString

call crlf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

call crlf

mov dx, offset TestString07 ;Prompt for ReadDec Test

call WriteString;

call ReadDec ; puts value in AX

call crlf

mov dx, offset TestString08 ; Prompt for WriteDec Test

call WriteString;

call WriteDec ; Print AX register in Decimal

call crlf

mov dx, offset TestString02 ; Prompt for WriteBin test

call WriteString;

call writebin ; Prints AX register in Binary

call crlf

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

call crlf

mov dx, offset TestString09 ; Prompt for READHEX

call WriteString;

call ReadHex

call crlf

mov dx, offset TestString10 ; Prompt for WRITEHEX

call WriteString;

call WriteHex ; Prints AX register in Hexidecimal

mov ax, 4c00h

int 21h

main endp

Purpose: The purpose of this lab assignment is to further familiarize the student with the basic procedures in Intel Architecture by implementing IO procedures similar to Irvine Libraries. Introduction In this lab, we are going to write several Lo procedures that use the OS/BIOS to do our input and output functions. Some of these procedures have already been written in previous lab assignments. For instance WriteDec and ReadDec have already been written as part of previous assignment. the Specifications Write the following procedures to act almost exactly like the Irvine library functions Part A moves the cursor to a newline. No parameters needed A2. WriteDec: Write Decimal Digits to Screen Ge. Binary to ASCID. Integer in AX. Retums nothing A3. WiteBin: Writes Integer to screen (std output in ASCII BINARY format. Integer in AX. Binary digits are displayed in groups of four for easy reading A4 Writes character to screen. Char in AL on entry Part B B1. CIrScr: Scroll the whole screen window. CODE GIVEN BELOW B2. ReadChari Read single character from Std input (keyboard). Char in AL on exit B3. Read String Read string from keyboard. Entry: DX offset of bytes where data is stored. CX: max of characters to be read. Exit: count of bytes read in CX. Stops when user presses ENTER key (Odh) B4. Write String, Writes string to the screen. DX Address of String. Returns nothing Part C- C1. Read Dec (unsigned); Read Decimal Digits from keyboard ie ASCII to Binary Up to 4 digits assumed C2. Read Hex (unsigned), Read 16 bit hex integer from keyboard. Retums value in AX. Accepts both upper and lower case C3. WriteHex Writes 16 bit unsigned integer to screen in HEX Format 4 digits. Integer in AX on entry All in registers should be 16 bit (not 32 bit Thus if the book says a function uses the EAX register, you should use the 16 bit equivalent, AX. Also, the WriteBin procedure does not need to print spaces, and should only print 16 characters total. Irvine doesn't have a "ReadDec so make the input match the ReadHex format which Irvine uses Purpose: The purpose of this lab assignment is to further familiarize the student with the basic procedures in Intel Architecture by implementing IO procedures similar to Irvine Libraries. Introduction In this lab, we are going to write several Lo procedures that use the OS/BIOS to do our input and output functions. Some of these procedures have already been written in previous lab assignments. For instance WriteDec and ReadDec have already been written as part of previous assignment. the Specifications Write the following procedures to act almost exactly like the Irvine library functions Part A moves the cursor to a newline. No parameters needed A2. WriteDec: Write Decimal Digits to Screen Ge. Binary to ASCID. Integer in AX. Retums nothing A3. WiteBin: Writes Integer to screen (std output in ASCII BINARY format. Integer in AX. Binary digits are displayed in groups of four for easy reading A4 Writes character to screen. Char in AL on entry Part B B1. CIrScr: Scroll the whole screen window. CODE GIVEN BELOW B2. ReadChari Read single character from Std input (keyboard). Char in AL on exit B3. Read String Read string from keyboard. Entry: DX offset of bytes where data is stored. CX: max of characters to be read. Exit: count of bytes read in CX. Stops when user presses ENTER key (Odh) B4. Write String, Writes string to the screen. DX Address of String. Returns nothing Part C- C1. Read Dec (unsigned); Read Decimal Digits from keyboard ie ASCII to Binary Up to 4 digits assumed C2. Read Hex (unsigned), Read 16 bit hex integer from keyboard. Retums value in AX. Accepts both upper and lower case C3. WriteHex Writes 16 bit unsigned integer to screen in HEX Format 4 digits. Integer in AX on entry All in registers should be 16 bit (not 32 bit Thus if the book says a function uses the EAX register, you should use the 16 bit equivalent, AX. Also, the WriteBin procedure does not need to print spaces, and should only print 16 characters total. Irvine doesn't have a "ReadDec so make the input match the ReadHex format which Irvine uses

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!