Difference between revisions of "CSC231 Homework 11 2012"
(→Problem #1) |
(→Problem #1) |
||
Line 10: | Line 10: | ||
This is a continuation of the first problem of [[CSC231_Homework_8_Fall_2012 | Homework 8]]. Here you need to complete the output of the '''dumpRegs''' function so that it outputs all the registers in decimal, both in unsigned and in signed format. | This is a continuation of the first problem of [[CSC231_Homework_8_Fall_2012 | Homework 8]]. Here you need to complete the output of the '''dumpRegs''' function so that it outputs all the registers in decimal, both in unsigned and in signed format. | ||
− | Here's an example of the output of your program. | + | Here's an example of the output of your program showing how to shows the contents of each register in hexadecimal, as an unsigned it, and as a signed int. |
------------------------------------- | ------------------------------------- | ||
− | eax = | + | eax = 0x00000004 4 4 |
− | ebx = | + | ebx = 0x00000001 1 1 |
− | ecx = | + | ecx = 0xFFFFFFFF 4294966272 -1 |
− | edx = | + | edx = 0x000012FC 4860 4860 |
− | edi = | + | edi = 0xFFFFFFFE 4294966271 -2 |
− | esi = | + | esi = 0x12235557 304305495 304305495 |
------------------------------------- | ------------------------------------- | ||
Revision as of 13:23, 28 November 2012
--D. Thiebaut 13:14, 28 November 2012 (EST)
Problem #1
This is a continuation of the first problem of Homework 8. Here you need to complete the output of the dumpRegs function so that it outputs all the registers in decimal, both in unsigned and in signed format.
Here's an example of the output of your program showing how to shows the contents of each register in hexadecimal, as an unsigned it, and as a signed int.
------------------------------------- eax = 0x00000004 4 4 ebx = 0x00000001 1 1 ecx = 0xFFFFFFFF 4294966272 -1 edx = 0x000012FC 4860 4860 edi = 0xFFFFFFFE 4294966271 -2 esi = 0x12235557 304305495 304305495 -------------------------------------
Requirements
- You need to store your dumpRegs function and all its accompanying functions in a separate file called dumpRegs.ing
- Your main program, called hw11a.asm will be exactly as follows:
;;; your header
%include "dumpRegs.inc"
section .data
;;; your data
section .text
global _start
_start:
;;; Initialize the registers
mov eax, 0x12345678
mov ebx, 0x55FF55FF
mov ecx, 0xFEDCBA98
mov edx, 0x00000000
mov esi, 0xFFFFFFFF
mov edi, 0xFFFFFFF0
;;; dump them twice to verify that no registers gets modified...
call dumpRegs
call dumpRegs
;;; exit back to OS
mov ebx, 0
mov eax, 1
int 0x80
Optional and Extra-Credits
Problem #2