CSC231 Homework 4 Fall 2017

From dftwiki3
Revision as of 15:15, 13 October 2017 by Thiebaut (talk | contribs) (Created page with "--~~~~ ---- =Problem 1= <br /> Write an assembly language program called '''hw4a.asm''' that translate a decimal unsigned integer into its octal equivalent. Here is an exa...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

--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  
> 4294967295
37777777777
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.


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.