Код языка сборки MIPS для использования значений ASCII для имени

Я новичок в MIPS, и это назначение немного сбивает меня с толку, потому что требование состоит в том, чтобы вычислить значения ASCII каждого символа в имени и напечатать имя в формате Last, First вместе с идентификационным номером студента, чьи цифры должны храниться как целые числа. Вот вопрос: 1. Цифровая часть идентификатора должна быть напечатана с использованием системного вызова целочисленной печати, остальная часть должна быть напечатана с использованием системного вызова односимвольной печати. 2. Значение в $a0 должно быть рассчитано на основе старого значения в $a0, за исключением загрузки значения в $a0 в начале

Пожалуйста, помогите мне начать с этим. Спасибо!


.text

main:

jal myLetter

li $v0, 10 

syscall  

myLetter:

li $v0, 4

la $a0, 'A'

syscall  


jal mySecondLetter

li $v0, 10 

syscall  

mySecondLetter:

li $a0, $a0

addi $a0, $a0, 34

sw $a0, $a0

syscall  


jal myThirdLetter

li $v0, 10 

syscall  

myThirdLetter:

li $a0, $a0

addi $a0, $a0, 5

sw $a0, $a0

syscall

jal myFourthLetter

li $v0, 10 

syscall  

myFourthLetter:

li $a0, $a0

addi $a0, $a0, 1

sw $a0, $a0

syscall

jal myFifthLetter

li $v0, 10 

syscall  

myFifthLetter:

li $a0, $a0

addi $a0, $a0, 4

sw $a0, $a0

syscall

jal myCommaOne

li $v0, 10 

syscall  

myCommaOne:

li $a0, $a0

sub $a0, $a0, 65

sw $a0, $a0

syscall

jal mySpace

li $v0, 10 

syscall  

mySpace:

li $a0, $a0

sub $a0, $a0, 12

sw $a0, $a0

syscall

jal myFirstNameLetterOne

li $v0, 10 

syscall  

myFirstNameLetterOne:

li $a0, $a0

addi $a0, $a0, 37

sw $a0, $a0

syscall


jal myFirstNameLetterTwo

li $v0, 10 

syscall  

myFirstNameLetterTwo:

li $a0, $a0

addi $a0, $a0, 49

sw $a0, $a0

syscall


jal myFirstNameLetterThree

li $v0, 10 

syscall  

myFirstNameLetterThree:

li $a0, $a0

sub $a0, $a0, 12

sw $a0, $a0

syscall

jr $ra

0 ответов

Другие вопросы по тегам