сгенерировать случайную букву на языке ассемблера 68k

Я застрял на своем задании, где мне говорят сгенерировать случайную букву в диапазоне от A до J. Я знаю, что должен использовать таблицу ascii, но как мне написать код в easy68k? Я пробовал все, но я могу только генерировать случайное число, а не букву. Пожалуйста помоги


person user3522812    schedule 11.04.2014    source источник
comment
Сгенерируйте случайное число в диапазоне 0..9, затем добавьте к нему 'A'.   -  person Michael    schedule 11.04.2014


Ответы (1)


Из быстрой проверки списка «задач-ловушек» кажется, что задача 8 возвращает текущее время в миллисекундах. Вы можете/должны использовать это как начальное значение для правильного генератора случайных чисел, но пока давайте просто запустим это число.

Я бы сделал что-то вроде:

random_character:
  moveq.w #8,d0
  trap    #15   ; returns ms in d1
  divu.w  #10,d1
  moveq.w #0,d1 ; clear lower word
  swap    d1    ; get remainder, i.e. compute d1 % 10
  addi.w  #'A',d1
  rts

Что-то вроде этого должно работать. Конечно, если вы позвоните слишком быстро, вы получите одно и то же письмо, пока часы не пройдут.

person unwind    schedule 11.04.2014