Difference between revisions of "CSC231 Homework 4 Fall 2017"

From dftwiki3
Jump to: navigation, search
(Problem 1)
Line 13: Line 13:
 
  > 1
 
  > 1
 
  00000000001
 
  00000000001
cs231a@aurora ~/ $ ./hw4a 
 
> 4294967295
 
37777777777
 
 
  cs231a@aurora ~/ $ ./hw4a  
 
  cs231a@aurora ~/ $ ./hw4a  
 
  > 0
 
  > 0
Line 52: Line 49:
 
Submit your program on Moodle.  Make sure you test it well before submitting it.  In particular, if you add comments to your program just before submitting it, you should assemble, link and run it at least once to make sure you didn't change the logic of your program by adding comments.
 
Submit your program on Moodle.  Make sure you test it well before submitting it.  In particular, if you add comments to your program just before submitting it, you should assemble, link and run it at least once to make sure you didn't change the logic of your program by adding comments.
 
<br />
 
<br />
 +
 
=Problem 2=
 
=Problem 2=
 
<br />
 
<br />
 
=Problem 3=
 
=Problem 3=
 
<br />
 
<br />

Revision as of 15:18, 13 October 2017

--D. Thiebaut (talk) 15:15, 13 October 2017 (EDT)


Problem 1


Write an assembly language program called hw4a.asm that translate a decimal unsigned integer into its octal equivalent.

Here is an example of how it should behave:

cs231a@aurora ~/ $ nasm -f elf hw4a.asm 
cs231a@aurora ~/ $ ld -melf_i386 hw4a.o 231Lib.o -o hw4a
cs231a@aurora ~/ $ ./hw4a 
> 1
00000000001
cs231a@aurora ~/ $ ./hw4a 
> 0
00000000000
cs231a@aurora ~/ $ ./hw4a 
> 2
00000000002
cs231a@aurora ~/ $ ./hw4a 
> 4
00000000004
cs231a@aurora ~/ $ ./hw4a 
> 8
00000000010
cs231a@aurora ~/ $ ./hw4a  
> 9
00000000011
cs231a@aurora ~/ $ ./hw4a  
> 32
00000000040
cs231a@aurora ~/ $ ./hw4a 
> 2147483647
17777777777


Details


  • Your program must be linked with the 231Lib.asm library
  • Your program will print a prompt ( "> " ) first, then the user enters a positive number (it will never be negative)
  • Your program gets the input using the _getInput() function in the 231Lib.asm library
  • Your program outputs the octal equivalent, padded with leading 0s.
  • You can use the on-line converter at http://calc.50x.eu/ to verify that your program outputs the correct information. Make sure you set it to 32 bits.


Submission


Submit your program on Moodle. Make sure you test it well before submitting it. In particular, if you add comments to your program just before submitting it, you should assemble, link and run it at least once to make sure you didn't change the logic of your program by adding comments.

Problem 2


Problem 3