2011-11-28 204 views
1

首先,這是瑪麗彙編語言。瞭解彙編語言中的跳過條件

這裏是我迄今爲止:我可以很容易地接受來自用戶的輸入等....

現在我想做的事,每次用戶輸入一個字符假設一個整數我想比較它是到'0',然後每次用戶輸入一個零時將一個零遞增1

這裏有一段簡單的代碼,我試圖去理解這個想法。

我的問題,我相信是明白是怎麼跳過條件的作品我認爲一旦我知道,我就知道如何比較我的初始化的變量

謝謝大家誰花時間來閱讀。

start, load prom 
    output prom 
    input 
    store num1 

    subt ex 
    skipcond 400 

    jump counterzero 




counterzero, Skipcond 400 if AC = 0, 
      store county + one 
      jump done 




done, load county 
      output 
      halt 



plus, dec 43 
eq,  dec 61 
prom, dec 62 
num1, dec 0 
num2, dec 0 
county, dec 0 

zero, dec 0 
one, dec 1 
sum, dec 0 
nul, dec 0 
h30, dec 48 
ex, dec 33 

編輯:我的測試是,我輸入零「0」,計數器是假設而不是增加它給了我一些奇怪的方箱:S

回答

0

skipcond躍過一條指令,如果條件得到滿足。所以,你有

skipcond 400 
jump counterzero 

這意味着,如果AC等於零,跳轉到跳轉後的指令。如果不是,執行跳轉。

現在,由於跳轉後的指令位於地址counterzero,因此在代碼中執行得並不多,所以沒有區別。

我不確定它是否符合您的意願,但在jump counterzero(您可以省略)之前,我會添加一個jump done。然後,只有當AC <> 0時,才跳轉到地址counter0。

如果它不起作用,請說明您的意圖,我可以詳細說明。