| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:大家帮我看看这个哪里错了
取消只看楼主 加入收藏
做个好人
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2010-4-9
结帖率:33.33%
收藏
已结贴  问题点数:15 回复次数:3 
大家帮我看看这个哪里错了
找出buf数据块里最小的偶数(带符号字节数),以16进制形式输出.

DATA SEGMENT
SAVEREG    DB     50 DUP(?);
BUF   DB   66H,84H,94H,7AH,70H,69H;
COUNT EQU  ($-BUF)/1;  
DATA ENDS


CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
MAIN    PROC  FAR;
    MOV    AX,DATA
    MOV    DS,AX
    ;此处输入代码段代码
    LEA    SI,BUF;       首地址;
    MOV    CX,COUNT;     个数;
    PUSH   SI;
    PUSH   CX;
    CALL   MINPROC;
    CALL   OUTPUT;
  
    MOV    AH,4CH;
    INT    21H;
;寻找最小元素。   
MINPROC   PROC   NEAR
    LEA    DI,SAVEREG;
    MOV    [DI],AX;
    MOV    [DI+2],BX;
    MOV    [DI+4],CX;
    MOV    [DI+6],DX;
    POP    DX;
    POP    SI;数组首地址;
    POP    CX;个数;
    PUSH   DX;
    MOV    AL,[SI];
SEARCH:   
    MOV    DL,[SI];
    TEST   DL,01H;
    JZ     AA1;
    JMP    AA2;
AA1:
    CMP    DL,AL;
    JL     AA3;
    JMP    AA2;
AA3:
    MOV    AL,DL;    改变al
AA2:
    INC    SI;
    LOOP   SEARCH;
    MOV    AH,0;
    POP    CX;
    PUSH   AX;
   
    PUSH   CX;
   
   
    LEA    DI,SAVEREG
    MOV    AX,[DI];
    MOV    BX,[DI+2];
    MOV    CX,[DI+4];
    MOV    DX,[DI+6];
RET
MINPROC  ENDP;
;寻找最小元素函数结束

;最小元素存在栈区里,下面的函数为从栈中取元素,然后以16进制输出。
OUTPUT    PROC   NEAR;
    LEA    DI,SAVEREG;
    MOV    [DI],AX;
    MOV    [DI+2],BX;
    MOV    [DI+4],CX;
    MOV    [DI+6],DX;
    POP   AX;
    POP    BX;              最小元素在栈里
    PUSH  AX;
   
    MOV  CH,4;
    MOV  CL,4;  
      
RLL:
    ROL  BX,CL;
    MOV  DL,BL;
      
    AND  DL,0FH;   
      
    ADD  DL,30H;
    CMP  DL,3AH;
    JB   SKIP;
    ADD  DL,7;
      
SKIP:  
    MOV  AH,2;
    INT  21H;
    DEC  CH;
    JNZ  RLL;
   
   
   
    MOV  DL,'H';
    MOV  AH,2;
    INT  21H;
    LEA    DI,SAVEREG
    MOV    AX,[DI];
    MOV    BX,[DI+2];
    MOV    CX,[DI+4];
    MOV    DX,[DI+6];
RET
OUTPUT  ENDP;
;16进制输出函数结束
MAIN   ENDP;
CODE   ENDS;
      END
   
搜索更多相关主题的帖子: 元素 
2010-12-26 14:41
做个好人
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2010-4-9
收藏
得分:0 
谢谢楼上的几位,太感谢了.
2010-12-26 22:11
做个好人
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2010-4-9
收藏
得分:0 
回复 3楼 xiaomarn
呵呵,学完C,学C++,然后又开数据结构,现在又开算法基础和java.
2010-12-26 22:12
做个好人
Rank: 1
等 级:新手上路
帖 子:23
专家分:1
注 册:2010-4-9
收藏
得分:0 
回复 3楼 xiaomarn
您好.改完之后,为什么我最后 一行少了个main 结果就不一样了呢.
就是您的是end main
我的事end  结果就不一样了
2010-12-26 22:36
快速回复:大家帮我看看这个哪里错了
数据加载中...
 
   



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

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