汇编语言程序设计 加减乘除

要求用汇编语言设计一个小程序,实现加减乘除的功能。

data segment data1 dw 20H data2 dw 30H addResult dw ? subResult dw ? mulResult dw ? divResult dw ?data endsstack1 segment para stack dw 20H dup(0)stack1 endscode segment assume cs:code,ds:data,ss:stack1begin: move ax ,data move ds,ax move ax,data1 add ax,data2 move addResult,ax move ax,data1 sub ax,data2 move subResult,data2 move ax,data1 mul data2 move mulResult,ax move ax,data1 div data2 move divResult,ax move ah,4ch int 21Hcode ends end begin
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-27
楼主,你用是什么的汇编啊。是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)
相似回答