我必须制作一个简单的汇编h8s程序。它应该采用输入形式的键盘:0或00或000或0000 ... 00000000.然后它应该加1然后打印结果直到111111111.并且数字应该像这样形式翻转0000 + 1 = 0001到1000然后0100然后1100 ... 1111.到目前为止我有这个:
.h8300s
.equ syscall,0x1FF00 ; simulated IO area
.equ PUTS,0x0114 ; kod PUTS
.equ GETS,0x0113 ; kod GETS
; ------ datovy segment ----------------------------
.data
txt1: .asciz "Zadejte velikost čísla (0-00000000):\n" ;vypisovany text ukonceny \n
buffer: .space 100 ; vstupni buffer
.align 2 ; zarovnani adresy
par1: .long txt1 ; parametricky blok 1
par2: .long buffer ; parametricky blok 2
.align 1 ; zarovnani adresy
.space 100 ; stack
stck: ; konec stacku + 1
; ------ kodovy segment ----------------------------
.text
.global _start
_start: mov.l #stck,ER7
mov.w #PUTS,R0 ; 24bitovy PUTS
mov.l #par1,ER1 ; adr. param. bloku do ER1
jsr @syscall
mov.w #GETS,R0 ; 24bitovy GETS
mov.l #par2,ER1 ; adr. param. bloku do ER1
jsr @syscall
mov.w #PUTS,R0 ; 24bitovy PUTS
mov.l #par2,ER1 ; adr. param. bloku do ER1
jsr @syscall
lab1: jmp @lab1 ; konec vypoctu
.end
所以它唯一要做的就是把它写入控制台然后打印出来。任何想法程序应该是什么样的?