简单的装配h8s程序

时间:2015-06-18 21:02:00

标签: assembly

我必须制作一个简单的汇编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

所以它唯一要做的就是把它写入控制台然后打印出来。任何想法程序应该是什么样的?

0 个答案:

没有答案