17 create a macro named longloop that is not constrained by the loop instruction 39 5347125

17. Create a macro named LongLoop that is not constrained by the LOOP instruction's limited ? 128 to +127 byte range. All labels must b e local. 18. Write a macro named mShowValue that writes a literal string to standard output, followed by the contents of an integer variable in unsigned decimal. Push and pop any reg isters modified by the macro. All labels must be local. Following is a sample call: .data salary DWORD 52100 .code mShowValue “Salary is equal to: “, salary 19. Write a sequence of statements that exits a macro if the count argument is blank. 20. Write a sequence of statements that displays an error mess age on the console during assembly if the first macro argument named count is identical to “ECX”. Make the comparison case – insensitive. 21. Write a macro named myMac that has a single paramet er named first , which is given a default argument initializer of 0. The macro should move first to the EAX register. 22. The mWrite macro shown in Chapter 10 displays a string literal on the console. A sample call is: mWrite “Hello there” Show how to call mWrite and pass it a string that contains both ordinary characters and carriage – return/linefeed bytes (0Dh, 0Ah). 23. Use the REPEAT directive to define an array named myArray that conta ins 50 16 – bit unsigned words, with initial values based on the following sequence: {5,7,9,…,103} 24. Use the FOR directive to create five uninitialized DWORD variables in which each varia ble name is a member of the following list: monday,tuesday,wednesday,thursday,friday. 25. Write down the contents of the first five rows (in hexadecimal) of the table generated by th e following statements: count = 0 FORC digit, BYTE count,”&digit” count = count + 1 ENDM

"Get 15% discount on your first 3 orders with us"
Use the following coupon
FIRST15

Order Now