| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1015 人关注过本帖
标题:急救!急救!急救!!!
取消只看楼主 加入收藏
jhtyolg20002
Rank: 1
等 级:新手上路
帖 子:66
专家分:6
注 册:2007-3-29
收藏
 问题点数:0 回复次数:2 
急救!急救!急救!!!
(用汇编)编写一个程序,将一个包含有20个有符号数据的数组arrayM分成两个数组:正数数组arrayB和负数数组arrayC并分别把这两个数组中的数据显示出来.(是显示数据,不是个数)
下面的代码好象有点乱,请各位大哥大姐费心了
谢谢!






 DATA  SEGMENT
          MA  DW        2,-5,34,28,10,-9,-56,20,-25,-23,-46,-8,-14,-10,81,82,-97,30,-47,3       ;定义源数组各个元素
   
          MB  DW        20   DUP(?) ;定义正数的存储单元
          MC  DW        20   DUP(?) ;定义负数的存储单元
        PLUS  DW        ?           ;记录正数个数
      NEGATV  DW        ?           ;记录负数个数
       COUNT  =         ($-MB)/2
       WTEMP  DW        ?
        DATA  ENDS
        STAK  SEGMENT   PARA   STACK   'STACK'
         SPP  DB        100   DUP(?)            ;定义堆栈空间
         TOP  DB        ?
        STAK  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA,SS:STAK
      START:  MOV       AX,DATA
              MOV       DS,AX       ;设置数据段寄存器
              MOV       AX,STAK     ;设置堆栈段寄存器
              MOV       SS,AX
              LEA       SP,TOP      ;设置堆栈指针
              LEA       SI,MA
              LEA       DI,MB
              LEA       BX,MC
              MOV       CX,20       ;设置循环次数
       LOP1:  MOV       AX,0
              MOV       AL,[SI]
              CMP       AL,0
              JNL       LOP2        ;元素为正数则跳出
              MOV       [BX],AL     ;否则为负数则存入负数数组
              INC       NEGATV      ;负数计数
              INC       BX          ;修改数组地址
              JMP       AGAIN0
       LOP2:  MOV       [DI],AL     ;将正数存入正数数组
              INC       PLUS        ;正数计数
              INC       DI          ;修改数组地址
     AGAIN0:  INC       SI          ;修改原数组地址
              LOOP      LOP1
              ;MOV       AH,4CH      ;返回DOS系统
              ;INT       21H

              MOV       CX,COUNT
              MOV       BX,OFFSET MB
     AGAIN1:  MOV       AX,[BX]
              MOV       WTEMP,AX
              CALL      WRITE
              INC       BX
              INC       BX
              CALL      DPCRLF
              LOOP      AGAIN1
.EXIT         0
;

       WRITE  PROC
              PUSH      AX
              PUSH      BX
              PUSH      DX
              MOV       AX,WTEMP
              TEST      AX,AX
              JNZ       WRITE1
              MOV       DL,'0'
              MOV       AH,2
              INT       21H
              JMP       WRITE5
     WRITE1:  JNS       WRITE2
              MOV       BX,AX
              MOV       DL,'-'
              MOV       AH,2
              INT       21H
              MOV       AX,BX
              NEG       AX
     WRITE2:  MOV       BX,10
              PUSH      BX
     WRITE3:  CMP       AX,0
              JZ        WRITE4
              SUB       DX,DX
              DIV       BX
              ADD       DL,30H
              PUSH      DX
              JMP       WRITE3
     WRITE4:  POP       DX
              CMP       DL,10
              JE        WRITE5
              MOV       AH,2
              INT       21H
              JMP       WRITE4
     WRITE5:  POP       DX
              POP       BX
              POP       AX
              RET
       WRITE  ENDP
      DPCRLF  PROC
              PUSH      AX
              PUSH      DX
              MOV       AH,2
              MOV       DL,0DH
              INT       21H
              MOV       AH,2
              MOV       DL,0AH
              INT       21H
              POP       DX
              POP       AX
              RET
      DPCRLF  ENDP
        CODE  ENDS
              END       START
搜索更多相关主题的帖子: 急救 
2007-12-07 11:17
jhtyolg20002
Rank: 1
等 级:新手上路
帖 子:66
专家分:6
注 册:2007-3-29
收藏
得分:0 
我还没有看 但先谢谢 楼上的仁兄 了
2007-12-08 16:41
jhtyolg20002
Rank: 1
等 级:新手上路
帖 子:66
专家分:6
注 册:2007-3-29
收藏
得分:0 
I 老虎 YOU!
再次谢谢楼上的仁兄了!已经运行通过!
非常感谢,祝你幸福一生!
2007-12-08 16:50
快速回复:急救!急救!急救!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027460 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved