美国Stryon公司即将推出iNET产品将有能力让软件开发商用微软公司的.NET开发的应用利用J2EE技术无缝地移植到非Windows平台上。iNET相当于.NET的JAVA实现。它由一个IL2JAVA工具,用JAVA实现的.NET框架类库等组成。能集成Tomcat,Sun One,WebLogic,Oracle9i,iPlanet等多种用以实现ASP.NET和Web服务的Web服务器。
是的,这就是Web服务。一切都是因为Web服务的出现,使得.NET和J2EE争夺的焦点已不完全是对象模型之间的战争或者编程语言选美竞赛了。Web服务使用基于 XML 的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为单个计算网络协同运行。开发人员可以用像过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的Web服务组合在一起的应用程序。
Web 服务所实现的最基本的方案是向它的客户端提供某个基本功能以供其使用。也可以以复合方式使用Web服务来集成一组似乎完全不同的现有应用程序。还能创建构成端对端工作流解决方案的应用程序(如企业到企业交易中的解决方案)。
Web服务是建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此将会有很强的生命力。但具体到Web服务编程时,.NET和J2EE有一些区别。.NET Web服务可用C#,VB,JScript等语言编写,还能利用一些Windows资源;而J2EE Web服务一般使用JAVA语言及J2EE资源,像Bean,EJB,CORBA等。它们在编程环境,语法结构,管理配置等方面也各有自己的特色。iNET Web服务用JAVA语言实现了.NET 类库中提供的Web服务APIs。它能把用户用.NET开发的Web服务移植到与平台无关的JAVA。因是JAVA,故也可利用JAVA的资源。
进行Web服务调用时发生的过程与进行常规方法调用时发生的过程类似。主要的差别在于,不是调用位于客户端应用程序中的方法,而是根据指定的传输(如 HTTP)生成请求消息。由于Web 服务方法可能位于另一台计算机上,因此Web 服务处理请求所需的信息必须通过网络传递给承载Web 服务的服务器。Web 服务处理此信息并通过网络将结果发送回客户端应用程序。这就是可编程的 Internet.
可以预见,作为 Internet下的一个革命性进步,Web服务必将开创一个分布式应用程序开发的新时代。
这是我自己编过项目中的多字节运算子程序有加法,除法,减乘更为简单类推一下吧
注释写得很详细了,出口入口地址也有标记
n个数据相加子程序
11,13,15为进位。12,14,16为相加结果,分别为低8位、中、高8位
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ADDP: MOV 11H,#00H
MOV 12H,#00H
MOV R0,#20H <---"20"起始位置
MOV 12H,@R0
LOOP1: MOV A,R0
ADD A,#03H
MOV R1,A
MOV A,12H
ADD A,@R1
JNB PSW.7,SI1
INC 11H
SI1: MOV 12H,A
MOV A,R1
MOV R0,A
CJNE R0,#4DH,LOOP1 <---"4D"终止变量,YANG YF DESIGN
MOV A,#00H
MOV 13H,#00H
MOV 14H,#00H
MOV R0,#21H <---"21"起始位置
MOV 14H,@R0
MOV A,14H
ADD A,11H
MOV 14H,A
LOOP2: MOV A,R0
ADD A,#03H
MOV R1,A
MOV A,14H
ADD A,@R1
JNB PSW.7,SI2
INC 13H
SI2: MOV 14H,A
MOV A,R1
MOV R0,A
CJNE R0,#4EH,LOOP2 <---"4E"终止变量
MOV A,#00H
MOV 15H,#00H
MOV 16H,#00H
MOV R0,#22H <---"22"起始位置
MOV 15H,@R0
MOV A,16H
ADD A,13H
MOV 16H,A
LOOP3: MOV A,R0
ADD A,#03H
MOV R1,A
MOV A,16H
ADD A,@R1
JNB PSW.7,SI3
INC 15H
SI3: MOV 16H,A
MOV A,R1
MOV R0,A
CJNE R0,#4FH,LOOP3 <---"4F"终止自定义位置变量 ,
MOV A,#00H
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
除法运算子程序
支持被除数32位、除数24位,任意位长除法
被除数需根据计时和累加组数****预先置入,****调试准确度调整亦调节此值!!!!!!!!
17H、18H、19H为除数输入口,32H、33H、34H、35H为运算结果
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
SETDIV: MOV P1,#0FFH
JNB P1.1,MEAS_F 当P1.1置1(高)为测速,置0(低)为测频
MEAS_V: MOV R2,#11111111B ***测速****
MOV R3,#11101000B 被除数R2-R5,转移至22H-25H进行变位处理
MOV R4,#00100101B **被除数为定值,前端0的个数已知
MOV R5,#00001011B 设被除数前端0的个数已知为y,除数前端0的个数计数为x(R0),后部循环次数为(32-y)-(24-x)=(8-y)+x
JMP STARDIV
MEAS_F: MOV R2,#00111010B ***测频**** YANG YF DESIGN
MOV R3,#01100110B 被除数R2-R5,转移至22H-25H进行变位处理
MOV R4,#00111110B **被除数为定值,前端0的个数已知
MOV R5,#10000111B 设被除数前端0的个数已知为y,除数前端0的个数计数为x(R0),后部循环次数为(32-y)-(24-x)=(8-y)+x
JMP STARDIV
STARDIV:MOV 22H,R2
MOV 23H,R3
MOV 24H,R4
MOV 25H,R5
MOV 17H,16H 除数17H-19H,载入累加后12H、14H、16H结果
MOV 18H,14H
MOV 19H,12H
MOV 32H,#00H结果输出位32H-35H初置0 YANG YF DESIGN
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV R0,#00H
MOV R1,#00H
MOV 10H,#00H
CHECKFRONT: CLR C
MOV A,17H检查除数高位是否有空位0
RLC A
JNC MOVFRONT
JMP LOOPCOUNT
MOVFRONT: INC R0
CLR C 除数高位空位为0时前移
MOV A,19H 1)
RLC A
MOV 19H,A
MOV A,18H 2)
RLC A
MOV 18H,A
MOV A,17H 3)
RLC A
MOV 17H,A
JMP CHECKFRONT
LOOPCOUNT: MOV A,#09H
ADD A,R0
MOV 10H,A 后部循环次数R0
JUDGSUB:MOV PSW,#00H
MOV A,R1
CJNE A,10H,JMP0
JMP RESULTDIV
JMP0: MOV A,22H
MOV C,ACC.7 ******!!!!
MOV F0,C
CLR C ******!!!!
SUBB A,17H
JC CANOTSUB 溢位
JNZ JMP1WHEN ACC!=#00H THEN JUMP
MOV A,23H
CLR C
SUBB A,18H
JC CANOTSUB
JMP1: JNZ JMP2WHEN ACC!=#00H THEN JUMP
MOV A,24H
CLR C
SUBB A,19H
JC CANOTSUB
JMP2: JMP SUBBPART
CANOTSUB: JNB F0,TURN1
JB F0,MOVDR
JMP SUBBPART
SUBBPART: CLR C
MOV A,25H
JNB PSW.1,JMPSP1
JB ACC.7,JMPSP1
SETB ACC.7
MOV A,19H
INC A
MOV 19H,A
JMPSP1: MOV A,24H
SUBB A,19H
MOV 24H,A
MOV A,23H
SUBB A,18H
MOV 23H,A
MOV A,22H
SUBB A,17H
MOV 22H,A
ACALL SETCY_1
JB B.0,MOVDL 除数因条件右移后左移恢复
LJMP JUDGSUB
MOVDR: SETB B.0
CLR C 除数右移一位
MOV A,17H 1)
RRC A
MOV 17H,A
MOV A,18H 2)
RRC A
MOV 18H,A
MOV A,19H 3)
RRC A
MOV 19H,A
MOV PSW.1,C 除数末尾移出暂存至F1
ACALL SETCY_0
JMP SUBBPART
MOVDL: MOV C,PSW.1
MOV A,19H 1)
RLC A
MOV 19H,A
MOV A,18H 2)
RLC A
MOV 18H,A
MOV A,17H 3)
RLC A
MOV 17H,A
CLR B.0
SETB B.1
JMP JUDGSUB
TURN1: CLR C
MOV A,25H 1)
RLC A
MOV 25H,A
MOV A,24H 2)
RLC A
MOV 24H,A
MOV A,23H 3)
RLC A
MOV 23H,A
MOV A,22H 4)
RLC A
MOV 22H,A
JB B.1,JMPCALLSC0
ACALL SETCY_0
JMPCALLSC0: CLR B.1
JMP JUDGSUB
SETCY_0:JB B.2,JMPSE1 B.2判断是否置1后第一次置0,是则忽略一次
INC R1 已计算次数计数
CLR C移入一位0
MOV A,35H
RLC A
MOV 35H,A 输出地址32H-35H
MOV A,34H
RLC A
MOV 34H,A
MOV A,33H
RLC A
MOV 33H,A
MOV A,32H
RLC A
MOV 32H,A
CLR C
JMPSE1: CLR B.2
RET
SETCY_1:INC R1 已计算次数计数 YANG YF DESIGN
SETB C 移入一位1
MOV A,35H
RLC A
MOV 35H,A 输出地址32H-35H
MOV A,34H
RLC A
MOV 34H,A
MOV A,33H
RLC A
MOV 33H,A
MOV A,32H
RLC A
MOV 32H,A
CLR C
SETB B.2
RET
RESULTDIV: 不可删 YANG YF DESIGN
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^