Difference between revisions of "CSC231 Homework 7 2014"
(→Problem #2) |
(→Examples) |
||
Line 54: | Line 54: | ||
section .text | section .text | ||
− | extern | + | extern printInt16 |
_start: | _start: | ||
mov ax, 0 | mov ax, 0 |
Revision as of 10:37, 11 November 2014
--D. Thiebaut (talk) 10:33, 11 November 2014 (EST)
Page under construction
This assignment is due on 11/18/14, at 11:55 p.m.
Contents
Problem #1
- & Use the 231Lib.asm library as inspiration and write a function called printInt that prints a 32-bit 2-s complement number on the screen.
- Your function should work similarly to printDec, in that the number to print is passed through eax, and not through the stack!
- Your function should not modify any of the registers, including eax.
- Your function should be made global so that a test program can call it.
- Submit your function in a program called Hw7_1.asm.
Examples
section .text
extern printInt
_start:
mov eax, 0
call printInt ; prints 0
mov eax, 0xff
call printInt ; prints 255
mov eax, -1
call printInt ; prints -1
mov eax, 0xffffffff
call printInt ; prints -1
...
Problem #2
- Write a function called printInt16 that prints a 16-bit 2-s complement number on the screen.
- Your function should work similarly to printInt, but the number it prints is the number passed in ax (not eax).
- Your function should not modify any of the registers, including ax or the upper part of eax.
- Your function should be made global so that a test program can call it.
- Submit your function to Moodle in a program called Hw7_2.asm.
Examples
section .text
extern printInt16
_start:
mov ax, 0
call printInt16 ; prints 0
mov ax, 0xff
call printInt16 ; prints 255
mov eax, 0x0000ffff
call printInt16 ; prints -1
mov eax, 0xffff0001
call printInt16 ; prints 1
...