Recent

Welcome to our blog, "Exploring the Wonders of Computer Engineering," dedicated to all computer engineering students and enthusiasts! Join us on an exciting journey as we delve into the fascinating world of computer engineering, uncovering the latest advancements, trends, and insights.

Monday, May 15, 2023

Chapter 10: Input and Output Operations in MASM



Introduction:


Importance of input and output operations in assembly language programming

Overview of different input and output methods available in MASM

Console Input:


Reading character input from the console

Handling input errors and checking for special keys

Reading numeric input from the console

Console Output:


Displaying characters and strings to the console

Formatting output using escape sequences

Displaying numeric values to the console

File Input and Output:


Reading from and writing to files in MASM

Opening and closing files

Performing sequential and random access file operations

Example:


assembly

Copy code

.model small

.stack 100h


.data

    filename db 'sample.txt', 0

    buffer db 100 dup(0)


.code

main proc

    mov ax, @data

    mov ds, ax


    ; Console input: Read a character from the user

    call readCharacter


    ; Console output: Display the character

    call displayCharacter


    ; File output: Write the character to a file

    call writeToFile


    ; File input: Read the contents of the file

    call readFromFile


    ; Console output: Display the file contents

    call displayString


    mov ah, 4Ch

    int 21h

main endp


; Procedure to read a character from the console

readCharacter proc

    mov ah, 01h

    int 21h ; Read character from console

    mov buffer, al ; Store the character in buffer

    ret

readCharacter endp


; Procedure to display a character to the console

displayCharacter proc

    mov dl, buffer ; Move the character to dl

    mov ah, 02h

    int 21h ; Display character to console

    ret

displayCharacter endp


; Procedure to write a character to a file

writeToFile proc

    mov ah, 3Ch ; Create or open a file

    mov cx, 0 ; Mode: Write

    lea dx, filename ; File name

    int 21h ; Create or open the file


    mov bx, ax ; File handle

    mov ah, 40h ; Write to file

    mov cx, 1 ; Number of bytes to write

    lea dx, buffer ; Data to write

    int 21h ; Write the character to the file


    mov ah, 3Eh ; Close the file

    int 21h ; Close the file

    ret

writeToFile endp


; Procedure to read the contents of a file

readFromFile proc

    mov ah, 3Dh ; Open the file

    mov al, 0 ; Mode: Read

    lea dx, filename ; File name

    int 21h ; Open the file


    mov bx, ax ; File handle

    mov ah, 3Fh ; Read from file

    mov cx, 100 ; Number of bytes to read

    lea dx, buffer ; Buffer to store data

    int 21h ; Read the contents of the file


    mov ah, 3Eh ; Close the file

    int 21h ; Close the file

    ret

readFromFile endp


; Procedure to display a string to the console

displayString proc

    lea dx, buffer ; Address of the string

    mov ah, 09h ; Display string

    int 21h ; Display the string

    ret

displayString endp


end main

In this example, we demonstrate input and output operations in MASM. We have a buffer variable to store input/output data and a filename variable that represents the name of the file.


First, we read a character from the console using the readCharacter procedure. It uses the int 21h interrupt with function 01h to read a character from the console and stores it in the buffer.


Next, we display the character to the console using the displayCharacter procedure. It moves the character from buffer to the dl register and uses the int 21h interrupt with function 02h to display the character.


Then, we write the character to a file using the writeToFile procedure. It creates or opens the file specified in filename, writes the character from buffer to the file, and then closes the file.


After that, we read the contents of the file using the readFromFile procedure. It opens the file specified in filename, reads the contents into the buffer, and then closes the file.


Finally, we display the contents of the file to the console using the displayString procedure. It uses the int 21h interrupt with function 09h to display the string stored in the buffer.


By understanding input and output operations in MASM, readers gain the ability to interact with users, read and write data to files, and display information on the console. This knowledge allows them to build assembly language programs that can handle user input, process data from files, and present results to the user effectively.


0 comments:

Post a Comment

Popular Posts

Categories

Text Widget

Search This Blog

Powered by Blogger.

Blogger Pages

About Me

Featured Post

Module 5: Context-Sensitive Languages and Turing Machines

Total Pageviews

Post Bottom Ad

Responsive Ads Here

Author Details

Just For Healthy world and Healthy Family

About

Featured

Text Widget

Contact Form

Name

Email *

Message *

Followers

Labels

Python (21) java (14) MASM (10) Server Installation (10) Short Cut ! (6) Clojure (2) Control Structures: Conditionals and Loops in Python (2) Data Structures: Lists (2) Data Types (2) Elixir (2) Error Handling and Exceptions in Python (2) F# (2) File Handling and Exceptions in Python (2) Functions and Modules in Python (2) Go (2) Input and Output Operations in MASM (2) Introduction to Python Programming (2) Modules and Packages in Python (2) Object-Oriented Programming (OOP) in Python (2) Routers (2) Swift (2) Tuples (2) Variables (2) Working with Files and Directories in Python (2) and Dictionaries in Python (2) and Operators in Python (2) c (2) " Hello (1) "Exploring the Digital Frontier: A Glimpse into the Top 10 Programming Languages of 2024 and Their Real-World Applications" (1) #AlgorithmDesign #CProgramming #CodingCrashCourse #ProgrammingBasics #TechEducation #ProgrammingTips #LearnToCode #DeveloperCommunity #CodingShortcuts (1) #CProgramming101 #ProgrammingForBeginners #LearnCProgramming #CodingNinja #TechEducation #ProgrammingBasics #CodersCommunity #SoftwareDevelopment #ProgrammingJourney #CodeMastery (1) #HTMLBasics #WebDevelopment101 #HTMLTags #CodeExamples #BestPractices #WebDesignTips #LearnToCode #HTMLDevelopment #ProgrammingTutorials #WebDevInsights (1) #cpp #c #programming #python #java #coding #programmer #coder #code #javascript #computerscience #html #developer (1) #dbms #sql #database #sqldeveloper #codingbootcamp #sqldatabase (1) #exammotivation (1) #exampreparation (1) #examstrategies (1) #examstress (1) #studytips (1) 10 sample programs covering different aspects of Java programming: (1) A Comprehensive Introduction to Networking: Understanding Computer Networks (1) Active Directory Domain Services (1) Advanced Settings and Next Steps (1) Algorithm Design in C: A 10-Minute Crash Course (1) Appache Groovy (1) Arithmetic and Logical Operations in Assembly Language (1) Arrays and Methods (1) Basic Server Maintenance and Troubleshooting (1) C# (1) Choosing the Right Programming Language for Beginners (1) Choosing the Right Server Hardware (1) Common networking protocols (1) Conquer Your Day: Mastering Time Management (1) Conquering Exam Stress: Your Guide to Coping Skills and Relaxation (1) Conquering Information: Flashcards (1) Control Flow and Looping in MASM (1) Control Flow: Conditional Statements and Loops (1) Control Structures and Loops: Managing Program Flow (1) Control Structures in MASM (1) DBMS (1) DHCP (1) DNS (1) Dart (1) Data Encapsulation (1) Data Representation and Memory Management in MASM (1) Data Science (1) Data Structures Made Simple: A Beginner's Guide (1) Database Manage (1) Database Management Systems (DBMS) (1) Databases (1) Debugging Tips and Tricks for New Programmers (1) Empower Your Journey: Boosting Confidence and Motivation in Competitive Exams (1) Error Handling and Exception Handling in PHP (1) Ethernet (1) Exception Handling (1) F#: The Language of Choice for a Modern Developer’s Toolbox (1) F++ (1) FTP (1) File Handling and I/O Operations (1) File Sharing and Data Storage Made Simple (1) Functions and Includes: Reusable Code in PHP (1) Getting Started with MASM: Setting Up the Development Environment (1) Homomorphisms (1) Hub (1) IP addressing (1) Installing Windows Server 2019 (1) Installing Your First Server Operating System (1) Introduction to Assembly Language and MASM (1) Introduction to C Programming: A Beginner-Friendly Guide (1) Introduction to Java Programming (1) Introduction to PHP (1) Java Collections Framework (1) Java17 (1) JavaScript (1) Mastering Algorithms: A Comprehensive Guide for C Programmers (1) Mastering Exams: A Guide to Avoiding Common Mistakes (1) Mastering Network Design and Implementation: A Guide to Planning and Principles (1) Mnemonics (1) Module 3 : Exploring Myhill-Nerode Relations and Context-Free Grammars (1) Module 1: Foundations of Formal Language Theory and Regular Languages (1) Module 2 : Advanced Concepts in Regular Languages: Expressions (1) Module 4 : Exploring Context-Free Languages and Automata (1) Module 5: Context-Sensitive Languages and Turing Machines (1) Multithreading and Concurrency (1) NVMe vs SSD vs HDD: A Detailed Comparison (1) Network (1) Network Basics: Connecting to Your Server (1) Network Security: Safeguarding Your Digital Landscape (1) Network Services and Applications** - DNS (1) Network Topology (1) Networking Hardware and Protocols (1) Node (1) OSI Reference Models (1) OSI reference model (1) Object-Oriented Programming (OOP) (1) Object-Oriented Programming in PHP (1) PHP Syntax and Variables (1) Prioritization (1) Procedures and Parameter Passing in MASM (1) Purescript (1) Python Programming Basics for Computer Engineering Students: A Comprehensive Guide (1) Relational Databases (1) Revamp Wi-Fi: Top Routers & Tech 2023 (1) SQL (1) SSD vs HDD (1) Sample programmes in PHP (1) Server Security Essentials for Beginners (1) Setting Up Remote Access for Your Server (1) Setting Up Your Java Development Environment (1) String Manipulation and Array Operations in MASM (1) Switch (1) TCP and UDP (1) TCP/IP Model (1) The 2024 Programming Language Panorama: Navigating the Latest Trends (1) The Latest Innovations in Computer Technology: A Comprehensive Guide for Tech Enthusiasts (1) The World of Servers - A Beginner's Introduction (1) Topologies (1) Troubleshooting and Maintenance: A Comprehensive Guide (1) Understanding Variables and Data Types (1) User Management and Permissions (1) Web Development with PHP (1) Wi-Fi technologies (1) Working with Data (1) Working with Databases in PHP (1) Working with Files and Directories in PHP (1) World!" program in 10 different programming languages (1) and Closure (1) and Goal Setting (1) and HTTP - Email and web services - Remote access and VPNs (1) and Models (1) and Quizzes to Ace Your Next Exam (1) and Router (1) crystal (1) difference between a Domain and a Workgroup (1) or simply #exam. (1)

Categories

Translate

cal

Recent News

About Me

authorHello, my name is Jack Sparrow. I'm a 50 year old self-employed Pirate from the Caribbean.
Learn More →

Health For you

Pages

Amazon Shopping Cart

https://amzn.to/3SYqjIv

Pages

Comments

health02

Recent Posts

Popular Posts

Popular Posts

Copyright © LogicBytes: Unraveling Computer Engineering | Powered by Blogger
Design by Saeed Salam | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates