Question
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. Please specify any questions.
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.
The second program code
This is all of the information that is available to me from the instructor. Could you please specify what information needs clarifying.
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 26Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started