narrow.asm

URL: http://147.64.242.52/~bennett/class/cmsc3100/spring2026/notes/begin/code/narrow.asm
 

%include "CONSTANTS.h"

section .data
    format1: db `In hex the numbers are %#x and %#x\n`,0
    format2: db `In decimal the number are %d and %hhd\n\n`,0
section .bss

section .text

global main

main:
    ;I am selecting r12 because it is preserved.
    mov r12, 0xeeff
    ;mov bl, r12
    ;mov bl, r12d
    ;mov bl, r12w
    mov bl, 0
    mov bl, r12b 

    mov rdi, format1
    mov rsi, r12 
    mov rdx, rbx
    call CallPrintf

    mov r12, 0xeeff
    mov bl, 0
    mov bl, r12b 
    mov rdi, format2
    call CallPrintf

    mov r12, -23
    mov bl, r12b 
    mov rdi, format1
    mov rsi, r12 
    mov rdx, rbx
    call CallPrintf

    mov r12, -23
    mov bl, r12b 
    mov rdi, format2
    mov rsi, r12 
    mov rdx, rbx
    call CallPrintf

    mov r12, 0xffffffffffffff0f 
    mov bl, r12b 

    mov rdi, format2
    mov rsi, r12 
    mov rdx, rbx
    call CallPrintf

    jmp Exit