回 帖 发 新 帖 刷新版面

主题:[讨论]各位帮忙看下,错在呢

统计Buf数组中,(无符号数)介于7  ,4 ,之间的数的个数

大侠指点下改动过了,还是有错!!!!

Data segment 
 Buf DB 1,2,3,5,6,8,10,9
 Length11 EQU $-Buf
Data ends
Programe segment 
 assume cs:Programe,ds:Data
 Mian   proc  far 
  Repeat:     call Count
              call Binhex
              mov ax,4c00h
              int 21h
Mian endp
Count  proc   near 
       Mov  ax,Data
       Mov  ds, ax
       Mov  bx, 0
       mov  cx,0
       Mov si,OFFSET Buf
 Loop1:  mov al,[si]
cmp al, 7
JA  Next
cmp al, 4
JB  Next
INC bx
Jmp Next
Next:   INC si
INC cx
         Cmp cx,Length11
       JL Loop1
       Ret
Count endp
Binhex   proc     near
     mov ch,4
   rotate:  mov cl,4
          rol bx,cl
          mov al,bl
          and al,0fh
          add al,30h
          cmp al,3ah
          jl printit
          add al,7h
    printit:  mov dl,al
          mov ah,2
          int 21h
          dec ch
          jnz rotate
          ret
  Binhex endp


Programe ends
          end Mian

回复列表 (共5个回复)

沙发


程序结构不是很清楚!这道题应该不难!注意子程序的入口和出口参数!

板凳

功能说一下啊.....

3 楼

程序是不是统计BUF中4-7的个数,并输出.
cx没有初始化.
还有MIAN过程中不要用死循环,改为MOV AX,4C00H INT 21H把.

4 楼

谢谢,努力试试

5 楼

MOV AX,4C00H 
INT 21H
京是回到DOS下

我来回复

您尚未登录,请登录后再回复。点此登录或注册