Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

CSIS 250 Assembly Language Programming Assignment 03 - AddSub Movsx Add and Sub Signed Operations with Different Data Sizes Create the 403-AddSub MovSX.asm file. Assemble

image text in transcribed
CSIS 250 Assembly Language Programming Assignment 03 - AddSub Movsx Add and Sub Signed Operations with Different Data Sizes Create the 403-AddSub MovSX.asm file. Assemble and link Copy the completed asm and .exe files to your C:\CSIS250 folder. Command Prompt Type a data segment with these signed byte, word and dword variables: Dunp of offset e .data 1. OF bNume1 SBYTE 127 bNume2 SBYTE -80 Dunp of offset 0 bNume3 SBYTE 32 2. Result SBYTE ? Dump of offset on wNume1 SWORD 32000 3. 0868318 wNume2 SWORD -4096 WNume3 SWORD 256 Dunp of offset 0 wResult SWORD ? SBFC dwumi SDWORD 2eeeeee ; 2.2 million Dunp of offset Be dwume2 SDWORD - 1600000 -1.6 million 5. FBSP dwume3 SDWORD 6e0e dwResult SDWORD ? Durp of offset Be Perform these seven calculations, displaying the indicated results. 6. 8888832 Use the 32-bit registers (EAX and EBX) for all calculations except Dunp of offset e for numbers 4 and 5 below, where the AX register can be used for all operations, since every operand has the 16-bit word site. 7.FFFF9DF1 Use the movex command to preserve the sign when byte and word values (less than word in size) are loaded to a 32-bit register. Load the calculated values in the appropriate variable with the mos operation bResult = Numei + bNum2 . Nume3 display bResult Use 32-bit registers for arithmetic after loading word operands with moves wResult = WNumei + WNum2 - Nume3 display wResult Use 32-bit registers for arithmetic atlet loading word operands with moves 3. dwResult = dwNume1 + dwNumez - dwNume3 display dwResult movess operator is not required to load these 32-bit operands (uemes) (00063101 - 394,000) 4. wResult - 60800 - WNum@1 + 8092 - WNume3 display wResult Use the AX register for all these 16-bit operations (mors not required) 5. WResult - WNume2 - 1 WNume3 + 2480 display wResult Use the AX register for all these operations, use the de operation to subtract from AX) dwResult = bNum2 + WNume - bNum1 + 1 display dwResult Use the ine operation to add to the accumulator (last term) 7. dwResult = -bNumei + dwNume wnumei + 1024 display dwResult Use the seg operation to make the bNumbl value negative after loading into 32-tegister with movest Add these two instruction lines right before the exit command to keep the display window open, call Crlf call WaitMsg 1. 6. CSIS 250 Assembly Language Programming Assignment 03 - AddSub Movsx Add and Sub Signed Operations with Different Data Sizes Create the 403-AddSub MovSX.asm file. Assemble and link Copy the completed asm and .exe files to your C:\CSIS250 folder. Command Prompt Type a data segment with these signed byte, word and dword variables: Dunp of offset e .data 1. OF bNume1 SBYTE 127 bNume2 SBYTE -80 Dunp of offset 0 bNume3 SBYTE 32 2. Result SBYTE ? Dump of offset on wNume1 SWORD 32000 3. 0868318 wNume2 SWORD -4096 WNume3 SWORD 256 Dunp of offset 0 wResult SWORD ? SBFC dwumi SDWORD 2eeeeee ; 2.2 million Dunp of offset Be dwume2 SDWORD - 1600000 -1.6 million 5. FBSP dwume3 SDWORD 6e0e dwResult SDWORD ? Durp of offset Be Perform these seven calculations, displaying the indicated results. 6. 8888832 Use the 32-bit registers (EAX and EBX) for all calculations except Dunp of offset e for numbers 4 and 5 below, where the AX register can be used for all operations, since every operand has the 16-bit word site. 7.FFFF9DF1 Use the movex command to preserve the sign when byte and word values (less than word in size) are loaded to a 32-bit register. Load the calculated values in the appropriate variable with the mos operation bResult = Numei + bNum2 . Nume3 display bResult Use 32-bit registers for arithmetic after loading word operands with moves wResult = WNumei + WNum2 - Nume3 display wResult Use 32-bit registers for arithmetic atlet loading word operands with moves 3. dwResult = dwNume1 + dwNumez - dwNume3 display dwResult movess operator is not required to load these 32-bit operands (uemes) (00063101 - 394,000) 4. wResult - 60800 - WNum@1 + 8092 - WNume3 display wResult Use the AX register for all these 16-bit operations (mors not required) 5. WResult - WNume2 - 1 WNume3 + 2480 display wResult Use the AX register for all these operations, use the de operation to subtract from AX) dwResult = bNum2 + WNume - bNum1 + 1 display dwResult Use the ine operation to add to the accumulator (last term) 7. dwResult = -bNumei + dwNume wnumei + 1024 display dwResult Use the seg operation to make the bNumbl value negative after loading into 32-tegister with movest Add these two instruction lines right before the exit command to keep the display window open, call Crlf call WaitMsg 1. 6

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_2

Step: 3

blur-text-image_3

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

Relational Database And SQL

Authors: Lucy Scott

3rd Edition

1087899699, 978-1087899695

More Books

Students also viewed these Databases questions