Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

We are using the x86 processor, and they all are 32 bit programs. The programming language is Assembly, and we are using visual studio community.

We are using the x86 processor, and they all are 32 bit programs. The programming language is Assembly, and we are using visual studio community.

1) Create a definition of each data type listed below. Initialize each variable to a value that is consistent with its data type. Then move each variable into a register and step through your program to make sure that it works. Note: Make sure that your variable sizes match the register sizes. BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD,REAL4 Variables are in memory. To see them, while paused in debug mode, add a Memory window to your view. You can type on addresses to find values. To find a variable by name, use & in front of it. (e.g. for a variable named bVar, use &bVar).

2) Declare an array of 60 uninitialized unsigned doubleword values. Create another array of 60 unsigned doublewords, initialized to abcd. Look at these arrays in the memory window and note how they are stored. (Intel architecture uses little - endian order).

3) Create a DWORD variable in which the hexadecimal data would be stored internally as 12345678.

4) Define a symbol for your name as a null-terminated string.

5) Write a sequence of MOV instructions that will exchange the upper and lower words in a doubleword variable named three.This is some of the code I have done.

image text in transcribed

The second program code

image text in transcribed

INCLUDE Irvine32.inc .data A_value BYTE 10,20,30 B_value SBYTE 10 C_value WORD 65 D_value SWORD +6 E_value DWORD 12 F_value SDWORD -6 G_value REAL4 1.2 .code Emain PROC Mova, A_value MOV bb, B_value MOV a,C_value mod ,D_value MON es ,E_value mov ed,F_value Old G_value invoke ExitProcess, o main ENDP Cond main INCLUDE Irvine32.inc vvv .data array DWORD 60 DUP (?), o, 10 .code Emain PROC movec,60 Loop: not count, ci loop Loop invoke ExitProcess, 0 main ENDP END main 26 INCLUDE Irvine32.inc .data A_value BYTE 10,20,30 B_value SBYTE 10 C_value WORD 65 D_value SWORD +6 E_value DWORD 12 F_value SDWORD -6 G_value REAL4 1.2 .code Emain PROC Mova, A_value MOV bb, B_value MOV a,C_value mod ,D_value MON es ,E_value mov ed,F_value Old G_value invoke ExitProcess, o main ENDP Cond main INCLUDE Irvine32.inc vvv .data array DWORD 60 DUP (?), o, 10 .code Emain PROC movec,60 Loop: not count, ci loop Loop invoke ExitProcess, 0 main ENDP END main 26

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2014 Administration

Authors: Adam Jorgensen, Bradley Ball

1st Edition

111885926X, 9781118859261

More Books

Students also viewed these Databases questions

Question

3. You can gain power by making others feel important.

Answered: 1 week ago