1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Galina-37 [17]
3 years ago
5

Create a macro named mReadInt that reads a 16- or 32-bit signed integer from standard input and returns the value in an argument

. Use conditional operators to allow the macro to adapt to the size of the desired result. Write a program that tests the macro, passing it operands of various sizes.
Computers and Technology
1 answer:
timofeeve [1]3 years ago
7 0

Answer:

;Macro mReadInt definition, which take two parameters

;one is the variable to save the number and other is the length

;of the number to read (2 for 16 bit and 4 for 32 bit) .

%macro mReadInt 2

mov eax,%2

cmp eax, "4"

je read2

cmp eax, "2"

je read1

read1:

mReadInt16 %1

cmp eax, "2"

je exitm

read2:

mReadInt32 %1

exitm:

xor eax, eax

%endmacro

;macro to read the 16 bit number, parameter is number variable

%macro mReadInt16 1

mov eax, 3

mov ebx, 2

mov ecx, %1

mov edx, 5

int 80h

%endmacro

;macro to read the 32 bit number, parameter is number variable

%macro mReadInt32 1

mov eax, 3

mov ebx, 2

mov ecx, %1

mov edx, 5

int 80h

%endmacro

;program to test the macro.

;data section, defining the user messages and lenths

section .data

userMsg db 'Please enter the 32 bit number: '

lenUserMsg equ $-userMsg

userMsg1 db 'Please enter the 16 bit number: '

lenUserMsg1 equ $-userMsg1

dispMsg db 'You have entered: '

lenDispMsg equ $-dispMsg

;.bss section to declare variables

section .bss

;num to read 32 bit number and num1 to rad 16-bit number

num resb 5

num1 resb 3

;.text section

section .text

;program start instruction

global _start

_start:

;Displaying the message to enter 32bit number

mov eax, 4

mov ebx, 1

mov ecx, userMsg

mov edx, lenUserMsg

int 80h

;calling the micro to read the number

mReadInt num, 4

;Printing the display message

mov eax, 4

mov ebx, 1

mov ecx, dispMsg

mov edx, lenDispMsg

int 80h

;Printing the 32-bit number

mov eax, 4

mov ebx, 1

mov ecx, num

mov edx, 4

int 80h

;displaying message to enter the 16 bit number

mov eax, 4

mov ebx, 1

mov ecx, userMsg1

mov edx, lenUserMsg1

int 80h

;macro call to read 16 bit number and to assign that number to num1

;mReadInt num1,2

;calling the display mesage function

mov eax, 4

mov ebx, 1

mov ecx, dispMsg

mov edx, lenDispMsg

int 80h

;Displaying the 16-bit number

mov eax, 4

mov ebx, 1

mov ecx, num1

mov edx, 2

int 80h

;exit from the loop

mov eax, 1

mov ebx, 0

int 80h

Explanation:

For an assembly code/language that has the conditions given in the question, the program that tests the macro, passing it operands of various sizes is given below;

;Macro mReadInt definition, which take two parameters

;one is the variable to save the number and other is the length

;of the number to read (2 for 16 bit and 4 for 32 bit) .

%macro mReadInt 2

mov eax,%2

cmp eax, "4"

je read2

cmp eax, "2"

je read1

read1:

mReadInt16 %1

cmp eax, "2"

je exitm

read2:

mReadInt32 %1

exitm:

xor eax, eax

%endmacro

;macro to read the 16 bit number, parameter is number variable

%macro mReadInt16 1

mov eax, 3

mov ebx, 2

mov ecx, %1

mov edx, 5

int 80h

%endmacro

;macro to read the 32 bit number, parameter is number variable

%macro mReadInt32 1

mov eax, 3

mov ebx, 2

mov ecx, %1

mov edx, 5

int 80h

%endmacro

;program to test the macro.

;data section, defining the user messages and lenths

section .data

userMsg db 'Please enter the 32 bit number: '

lenUserMsg equ $-userMsg

userMsg1 db 'Please enter the 16 bit number: '

lenUserMsg1 equ $-userMsg1

dispMsg db 'You have entered: '

lenDispMsg equ $-dispMsg

;.bss section to declare variables

section .bss

;num to read 32 bit number and num1 to rad 16-bit number

num resb 5

num1 resb 3

;.text section

section .text

;program start instruction

global _start

_start:

;Displaying the message to enter 32bit number

mov eax, 4

mov ebx, 1

mov ecx, userMsg

mov edx, lenUserMsg

int 80h

;calling the micro to read the number

mReadInt num, 4

;Printing the display message

mov eax, 4

mov ebx, 1

mov ecx, dispMsg

mov edx, lenDispMsg

int 80h

;Printing the 32-bit number

mov eax, 4

mov ebx, 1

mov ecx, num

mov edx, 4

int 80h

;displaying message to enter the 16 bit number

mov eax, 4

mov ebx, 1

mov ecx, userMsg1

mov edx, lenUserMsg1

int 80h

;macro call to read 16 bit number and to assign that number to num1

;mReadInt num1,2

;calling the display mesage function

mov eax, 4

mov ebx, 1

mov ecx, dispMsg

mov edx, lenDispMsg

int 80h

;Displaying the 16-bit number

mov eax, 4

mov ebx, 1

mov ecx, num1

mov edx, 2

int 80h

;exit from the loop

mov eax, 1

mov ebx, 0

int 80h

You might be interested in
Imagine you have borrowed your friend's computer to work on a class project. Checking
castortr0y [4]

Answer:

Yes.It would be considered as a computer Crime.

Explanation:

This is because you are an unauthorised user

6 0
3 years ago
or each array created, the name of the array becomes the name of the pointer constant created by the compiler for the array, and
JulijaS [17]

Answer:

The answer is "Starting address"

Explanation:

Arrays are a type of data structure that can store a fixed size successive assortment of components of a similar kind. An Array is used to store an assortment of data, yet it is regularly more valuable to consider a cluster an assortment of factors of a similar sort.

Rather than proclaiming singular factors, for example, number0, number1, ..., and number99, you declare one Array variable, for example, numbers and use numbers[0], numbers[1], and ..., numbers[99] to speak to singular factors. A particular component in a cluster is gotten to by a list.

All Arrays comprise of bordering memory areas. The most minimal address compares to the first element and the most highest address to the last element.

4 0
3 years ago
You are part of the team assigned to implement new software at XYZ Inc. The employees at XYZ Inc. trust the results obtained fro
Ad libitum [116K]

There are different kinds of software implementation strategy. The software implementation strategy would you recommend in this situation to allow users fall-back access to the old system as the new one is implemented is parallel start up.

  • Parallel running often called parallel start up strategy for system changeover where a new system slowly takes over the roles of the older system even when both systems operate.

This conversion often occur when the technology of the old system is outdated and as such a new system is needed to be installed to replace the old one.

The parallel running phase is the act of changing a fragment of business information technology operation to a new system.

Learn more about Parallel start up from

brainly.com/question/9343211

7 0
2 years ago
Each wireless network has its own name to identify it, known as service set identity. true false
Dominik [7]
True. The acronym for service set identity is SSID, which you've likely saw before. And like you say, it's simply the unique name given to a wireless network so that we are able to identify what network we are connecting to.
8 0
3 years ago
Develop Swimlane Activity diagram for Assignment announcement and submission system.
ArbitrLikvidat [17]
  • Using cases can be visualized in greater detail in this report of an activity diagram.
  • In other words, it's a behavioral diagram that regulates the number of actions via systems. They can also be used to show sequences of activities in business operations.
  • UML Activity Diagrams A business process can be examined to determine its flow and demands that use these tools.

The steps to this question can be defined as follows:

For step 1:

  • The task is to decide the action steps depending upon your use case.

For step 2: Identify all parties involved

  • If you know whoever the actors are, it's easier to determine the acts they are liable for.

For step 3: Establish a movement among activities

  • Change the priority in which the action is required by studying the flowchart.
  • If you need to add any branches to the graph, note the conditions that must be met for certain processes to take place.
  • Furthermore, do you even have to finish some tasks before moving onto someone else?

For step 4: Adding swimlanes

  • We know who is to blame for each act. It's time to assign everyone a swimming lane and group every action they are accountable for under it.
  • Some many activities and actions make up your sales system or process.

Please find the diagram in the attachment file.

Learn more:

Assignment submission: brainly.com/question/11714037

8 0
3 years ago
Other questions:
  • Under extreme programming, ________ and ________ are intimately related parts of the same process
    13·2 answers
  • Create a program the outputs the total cost of a lunch order. Users should be prompted to input the number of hamburgers, fries,
    6·1 answer
  • What is the name of the organization responsible for assigning public ip​ addresses?
    13·1 answer
  • Matching: match each step with its correct sequence number. This question tests whether you know the order in which a CPU perfor
    14·1 answer
  • which statement is true? O A Future games will be more context oriented. OB. Future games will be more product driven. Future ga
    13·2 answers
  • Which components exist in the contextual tab for tables called Design? Check all that apply.
    15·2 answers
  • The names of the governing body or organizationds that creates rules for information technology and information communication te
    9·1 answer
  • When power is completely removed from your computer
    11·1 answer
  • What is the best way of farming exotics in destiny?
    12·2 answers
  • What is the bandwidth for asymmetric digital subscriber line<br> (ADSL)?
    10·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!