write an lc3 assembly program that will reads a single lowercase character input from the keyboard (a - z) and convert it to uppercase (a - z), and prints it to the screen, looping indefinitely.

Respuesta :

(a - z) from the keyboard in lowercase, converts it to uppercase (A - Z), prints it to the screen, and loops endlessly is the goal of a lc3 assembly programme.

.ORIG x3000

LOOP LDI R0,KBSR

BRzp LOOPS

LDI R0,KBDR

LD R1,a

ADD R3,R0,R1 ; R3 = R0+R1

BRzp LOWER; if the entered character is larger than a then it is either lowercase or other

LD R1,A

ADD R3,R0,R1

BRzp UPPER; if the entered character is larger than A then it is either an Upper case

BR LOOP; if the entered character is smaller than A then it can be ignored, read the next character

UPPER LD R1,Z

ADD R3,R0,R1

BRp LOOP; if the character is less than Z then it is Upper case else next char

LD R1, MORE; convert the upper to lower case by adding 32

ADD R0,R1,R0

BR PRINT; print the char

LOWER LD R1,z

ADD R3,R0,R1

BRp LOOP; if the character is less than z then it is Upper case else next char

LD R1, LESS; convert the upper to lower case by subtracting 32

ADD R0,R1,R0

BR PRINT; print the char

PRINT LDI R1, DSR; Loop if Ready not set

BRzp PRINT

STI R0, DDR; send the character to be echoed

BR LOOP; next char

HALT

DSR .FILL xFE04

DDR .FILL xFE06

KBSR .FILL xFE00

KBDR .FILL xFE02

a . FILL #-97

z . FILL #-122

A . FILL #-65

Z . FILL #-90

MORE .FILL #32

LESS .FILL #-32

.END

Learn more about loops here:

https://brainly.com/question/29823293

#SPJ4