0

こんにちは、アセンブリ言語 emu8086 を学習しようとしています。現在、ループを学習しようとしています。私が投稿するすべての質問は、個人的な好奇心によるものです。最初に、入力したい値の数を入力します。問題は、ループ出力を使用して、入力ループを使用して bx 内に保存した値を表示しようとしていることです。何らかの理由で、出力ループが機能していません。助けてください。

                                                                                                      include 'emu8086.inc'
      .model small          
      .code
      start:
      mov ah,01h                                             
      int 21h
      sub al,'0'
      mov cl, al
      mov ch,0
      mov bx,0
      push cx
      input:
            mov ah,01h
            int 21h
            mov [2000+bx],al
            inc bx   
           loop input 

           pop cx
           output:    
            mov dx,[2000+bx]   


            mov ah,02h 

            int 21h  

            inc bx


 loop output

終了開始

4

1 に答える 1

0

コードには 2 つの問題があります。

  • bx出力ループの前にゼロにリセットする必要があります。

  • int 21hwithを使用して DOS に正常に終了し、プログラムを終了する必要がありますax = 4c00h

于 2013-07-29T08:12:32.193 に答える