div.asm

URL: https://mirkwood.cs.edinboro.edu/~bennett/class/cmsc3100/spring2026/notes/flags/code/div.asm
 
%include "CONSTANTS.h"

NUMBER EQU 30 

section .data
     fmtString: db `%d/%d = %d R %d\n`,0 
section .bss

section .text

global main
main:
 
    ; for i = 1; i < NUMBER; ++i
    ; cout << NUMBER << "/" <<  i << " = " << NUMBER/i << " R " << NUMBER % i
    ; r12 = i
    mov r12, 1

mainLoop:
    cmp r12, NUMBER
    je .done
    mov rdx, 0
    mov rax, NUMBER
    div r12

    mov rdi, fmtString
    mov rsi, NUMBER
    mov r8, rdx
    mov rdx, r12
    mov rcx, rax
    call CallPrintf

    inc r12
    jmp mainLoop

.done:

    jmp Exit