针指向的数据与0比较JNEINCNEXTALSICMMP所指数据不等于0跳至NEXT标号处指令相等则AL加1NEXT入口,指针加1下移指向下一个数进入循环CMMP,继续比较当前数
NEXT
INCLOOPMOVMOVMOVINT
RESULTAL将结果传送至RESULT中AL0AH4CH21H调用dos返回dos界面功能代码段CODE开始START程序结束AL清零
CODE
ENDSEND
4)最终正确代码DATASEGMENT数据段DATA开始
NUM1DB12345678第一组数分配字节空间首地址NUM1NUM2DB87654321第二组数分配字节空间首地址NUM2RESTDW存放结果
fDATAENDSCODESEGMENT
数据段DATA结束代码段CODE开始
ASSUMESTARTMOVMOV
DSDATACSCODEDATACODE对应DS,CSAXDATADSAX程序入口数据段装入初始化循环次数为8AX清零BX清零将NUM1首地址传送给SI将NUM2首地址传送给DI将SI所指单元数据传送给ALDI所指与AL相乘结果存入AXBXAXBX指针SI下移,指向NUM1下一个数指针DI下移,指向NUM2下一个数循环跳至NEXT标号处直至CX自减至0将结果传送给REST
MOVCX8MOVMOVLEALEANEXTAX0BX0SINUM1DINUM2
MOVALSIMULADDINCINCLOOPMOVMOVINT
BYTEPTRDIBXAXSIDINEXTRESTBXAH4CH21H
调用dos返回dos界面功能代码段CODE开始
CODE
ENDSENDSTART
程序结束
fr