1樓:菠蘿小子
樓主,你用是什麼的彙編啊。是8088/8086,還是微控制器的,是什麼公司的產品,什麼型號的,它們都是有一些差異的隱液。
我在這就說一下思路吧。用匯編做加減法比較容易,帶進位不帶進位的都可以,做乘除是比較難的,一灶笑物般是不用它做的,必須時也最好轉換成加減,這樣在實現的時候才會方便。
我再說點mc51的組合語言,也許你能用上。(都是一些語法)帶公升察進位加法:addc a,#data ;(a)+#data+(c)--a)
addc a,data ;(a)+(data)+(c)--a)addc a,@r;(a)+(r))+c)--a)帶進位的減法:subb a,#data
subb a,data
subb a,@r1
乘法:mul a b;(a)*(b)
除法:div a b;(a)/(b)
組合語言程式 加減乘除
2樓:菠蘿小子
樓主,你用是什麼的彙編啊。是8088/8086,還是微控制器的,是什麼公司的產品,什麼型號的,它們都是有一些差異的。
我在這就說一下思路吧。用匯編做加減法比較容易,帶進位不帶進位的都可以,做乘除是比較難的,一般是不用它做的,必須時也最好轉換成加減,這樣在實現的時候才會方便。
我再說點mc51的組合語言,也許你能用上。(都是一些語法)帶進位加法:addc a,#data ;(a)+#data+(c)--a)
addc a,data ;(a)+(data)+(c)--a)addc a,@r;(a)+(r))+c)--a)帶進位的減法:subb a,#data
subb a,data
subb a,@r1
乘法:mul a b;(a)*(b)
除法:div a b;(a)/(b)
彙編程式計算加減乘除。。
3樓:做而論道
這程式,應該在 debug 環境下執行。
如果是在命令列執行,這程式,就缺少結束退出的指令:
mov s,al
mov ah, 4ch ;加上這兩行int 21h
code ends
end start
另外,這程式,缺少顯示功能。
運算結果,只能用 debug 觀察。
使用組合語言程式設計,實現乙個簡易計算器,可以計算帶符號數加減乘除即可,不需其他功能,越簡單越好~
4樓:快快樂樂
從你的問題來看,你還沒有把軟體與硬體關聯起來,所有的指令在計算機內都被解碼器變成了一系列不同時序的高低電平的關係,通過這些高低電平可以做很多事,最簡單的可以用微控制器乙個引腳輸出高電平或低電平驅動一臺電動機,也可以通過某個i/o口輸入是高還是低電平來判斷有沒有鍵按下之類的。
計算機指令越豐富功能就越強,現在計算機的cpu功能當然越來越多,指令也越來越豐富,從586mmx開始就有與多**有關的指令了,而51微控制器硬體設計是功能就限制住了,也就有111條指令。
求乙個組合語言實現的具有加減乘除的功能的計算器,有中文解釋。asm檔案的**
5樓:網友
計算器這個題目用匯編本身就有難度了,還要加註釋,更增工作量,難有人做呀。
請分析這道8086組合語言程式,用8086組合語言編寫程式,接受從鍵盤上輸入的一個兩位十進位制數字,這個數經過BCD碼處理,以十六進位制顯示出
code segment 段開始標誌assume cs code 用assume將cs與該code段關聯起來 start 程式入口標誌 mov al,0abh 對將資料放入暫存器ax中,ax 0abh mov cl,4 對將資料放入暫存器cx中,cx 4rol al,cl 對al的8位資料進行向右的...
用組合語言寫程式輸入數進行以下運算
我不會c 演算法通訊演示c語言 包括中無效的主要 無效 其他 結果 輸出 後共 e操作 n 結果 我沒有測試,也沒有編譯你應該嘗試.組合語言 設計一個子程式,可以根據輸入的n,計算並輸出n的3次方 輸入0 40,求立方,並顯示 code segment assume cs code,ds codeo...
微控制器彙編程式求解,微控制器 組合語言編寫
嘿嘿 還是俺來幫你看看吧。1 原因找到了 你在第二段程式中 少了一條指令 使你的流水燈流到迴圈2就斷了。加上ljmp three 就可以跳轉到第三段流水燈控制程式上了。2 具體就是加在第二段程式的 cjne a,02h,loop3 指令的下面。即修改後 應如下 cjne a,02h,loop3 lj...