勇闖天涯
級別: *
|
不知道能用這個程序來干嘛? 這個程序將以如下步驟進行運行: 開機后 第1個運行周期:由于D0=0,故置位M1,復位M2 執行INC D0,得D0=1 執行ADD D2 D0 D2,得D2=1 0+1=1 第2個運行周期:執行INC D0,得D0=2 執行ADD D2 D0 D2,得D2=3 1+2=3 第3個運行周期:執行INC D0,得D0=3 執行ADD D2 D0 D2,得D2=6 3+3=6 第4個運行周期:執行INC D0,得D0=4 執行ADD D2 D0 D2,得D2=10 6+4=10 第5個運行周期:執行INC D0,得D0=5 執行ADD D2 D0 D2,得D2=15 10+5=15 如此循環,直到D0=100,復位M1,置位M2,假設此時D2=x(具體等于多少先不追究) 第101個運行周期:由于D0=100,故復位M1,置位M2 執行DEC D0,得D0=99 執行SUB D2 D0 D2,得D2=x-99 x-99=x-99 第102個運行周期:由于D0=99,故置位M1,復位M2 執行INC D0,得D0=100 執行ADD D2 D0 D2,得D2=x+1 x-99+100=x+1 第103個運行周期:由于D0=100,故復位M1,置位M2 執行DEC D0,得D0=99 執行SUB D2 D0 D2,得D2=x-98 x+1-99=x-98 第104個運行周期:由于D0=99,故置位M1,復位M2 執行INC D0,得D0=100 執行ADD D2 D0 D2,得D2=x+2 x-98+100=x+2 第105個運行周期:由于D0=100,故復位M1,置位M2 執行DEC D0,得D0=99 執行SUB D2 D0 D2,得D2=x-97 x+2-99=x-97 第106個運行周期:由于D0=99,故置位M1,復位M2 執行INC D0,得D0=100 執行ADD D2 D0 D2,得D2=x+3 x-97+100=x+3 之后的程序將如此循環,D0的值將在99和100之間變來變去,D2的值將一直遞增 樓主怎么說沒有循環呢? 剛才發現周期分析上有錯誤,過來說明一下,上面說到的第102和103個周期其實應該在一個周期內就完成了,我卻把他分析成一個周期 運行結果是一樣的 [ 此帖被勇闖天涯在2008-10-21 11:32重新編輯 ] |
---|---|
|
勇闖天涯
級別: *
|
M0?我怎么沒看到樓主的程序里面出現M0呢? 莫非是我樓主的程序的還沒看完?我只看到第25步,而且是執行到END,后面的程序我沒看到 請賜教,在樓主的這個程序里面M0在哪里?起什么作用?怎么工作? |
---|---|
|
勇闖天涯
級別: *
|
請pony123 兄弟說出你對這個程序的分析好嗎? 到現在我還認為我分析的是對的,希望你能用你的邏輯推理把我說服 結果誰對誰錯都不重要,重要的是大家共同進步! |
---|---|
|
勇闖天涯
級別: *
|
請教一個問題 為什么D0沒有遞加呢? 樓主的程序里面是INC,而不是INCP,我認為只要M1置1,每個運算周期執行一次該命令 請賜教。 |
---|---|
|
勇闖天涯
級別: *
|
說到這里我還是打住吧,你先看看手冊再來回帖好嗎? 很高興認識你! 交個朋友,如何? |
---|---|
|