CSC231 Homework 3 2014
--D. Thiebaut (talk) 15:17, 29 September 2014 (EDT)
Preparation
Looping. Version 1
- Create the following program in your beowulf2 directory:
;;; ; loop1.asm
;;; ; D. Thiebaut
;;; ;
;;; ; a simple program using a loop in which the ecx
;;; ; register is printed.
;;; ;
;;; ; to assemble and run:
;;; ;
;;; ; nasm -f elf loop1.asm
;;; ; nasm -f elf 231Lib.asm
;;; ; ld -melf_i3896 -o loop1 loop1.o 231Lib.o
;;; ; ./loop1
;;; ; -------------------------------------------------------------------
extern _printDec ; the function that prints eax in decimal
extern _println ; the function that brings the cursor to the next line.
;;; ------------------------------------------------------------
;;; code area
;;; ------------------------------------------------------------
section .text
global _start
_start:
mov ecx, 10
for: mov eax, ecx
call _printDec
call _println
loop for
;;; exit()
mov eax,1
mov ebx,0
int 0x80 ; final system call
- Run it.
- Verify that it displays the different values of ecx, the loop counter.
Looping. Version 2