怎样用汇编语言实现输入两个十进制数将其相加输出结果
以下是完整的汇编供参考(注意,结果不能大于32767) CODE?SEGMENT ASSUME?CS:CODE start: ????call?input?;输入一个数 ????mov?bx,ax??;放入BX ????call?input?;输入另一个数 ????add??bx,ax?;与上一个数相加 ????call?dispbxd;?//显示结果 ????mov?ah,04ch ????int?21h ;输入数据子程序,以空格或回车结束 ;结果在ax中 input? PROC??? ????push?bx ????push?cx?????? ????xor?bx,bx input1:...全部
以下是完整的汇编供参考(注意,结果不能大于32767) CODE?SEGMENT ASSUME?CS:CODE start: ????call?input?;输入一个数 ????mov?bx,ax??;放入BX ????call?input?;输入另一个数 ????add??bx,ax?;与上一个数相加 ????call?dispbxd;?//显示结果 ????mov?ah,04ch ????int?21h ;输入数据子程序,以空格或回车结束 ;结果在ax中 input? PROC??? ????push?bx ????push?cx?????? ????xor?bx,bx input1: ????mov?ah,1 ????int?21H ????cmp?al,0dh ????je?input2 ????cmp?al,20h ????je?input2 ????sub?al,'0' ????mov?cl,al ????xor?ch,ch ????mov?ax,bx ????mov?bx,10 ????mul?bx ????mov?bx,ax ????add?bx,cx ????jmp?input1 input2: ????mov?ax,bx ????pop?cx ????pop?bx ????ret input?ENDP DISPBXD? PROC? ? ??????push?si ??????push?dx ??????push?cx ??????push?bx ??????push?ax ??????CMP?BX,0 ?? JGE?ZS ?? MOV?DL,'-' ??MOV?AH,2 ??INT?21H ??ZS: ??????MOV??SI,10 ??????XOR??CX,CX ??????MOV??AX,BX ??????NEXT: ??????MOV??DX,0 ??????DIV??SI ??????PUSH??DX ??????INC??CX ??????CMP??AX,0? ??????JNZ??NEXT ??????OUTP: ??????POP??DX ??????ADD??DL,30H ??????MOV??AH,2 ??????INT??21H ??????LOOP??OUTP ??????mov?dl,0dh ??????mov?ah,2 ??????int?21H ??????mov?dl,0ah ??????mov?ah,2 ??????int?21H ??????pop?ax ??????pop?bx ??????pop?cx ??????pop?dx ??????pop?si RET DISPBXD??ENDP CODE?ENDS END?START。
收起