欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

发布时间:2023/12/1 编程问答 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

P154
例4.11

汇编思路:DATA段定义X、Y、RESULE分别用于存放随机数、存放随机数、存放最后计算结果。STACK段定义100DB大小的堆栈段运算存储空间。将AX获取到X的值,然后与Y进行CMP相减,判断JNS的值,结果是正数还是负数,若为正数直接将AX的值赋值给RESULT,然后调用4CH号功能返回DOS系统;若是负数,需要将AX进行求补运算,获得绝对值的结果,然后调用4CH号功能返回DOS系统。

汇编代码:

DATA SEGMENT X DW 10 ;随机数存储到X中 Y DW -14 ;随机数存储到X中 RESULE DW ? ;存放最后的结果 DATA ENDS STACK SEGMENT STACKDB 100 DUP(?) STACK ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK STACK: MOV AX,DATAMOV DS,AXMOV AX,X ;X的内容赋值给AXSUB AX,Y ;进行判断X-Y的SF符号位,1为负数,0位正数JNS DONE ;若SF符号位为0,即结果为正数,跳转到DONE标签处,否则结果为负数,执行下一条指令NEG AX ;执行到此条指令的时候,结果为负数,即SF=1,求补,即求绝对值 DONE: MOV RESULT,AX;将最后运算的结果赋值给RESULT单元MOV AX,4CH ;调用4CH号功能,返回DOS操作系统INT 21H ;终止当前程序的运行,并返回DOS系统 CODE ENDSEND START 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。