. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
主题 : :  一段很简单的程序,已经通过MASM编译,希望能把相关值显示出来,求助!  [待解决] 回复[ 6次 ]   点击[ 448次 ]  
vadulex
[帖 主] [ 发表时间:2010-11-09 21:09 ] 
荣誉值:0
信誉值:0
注册日期:2010-11-09 20:25
如题,程序实现统计一组数据中大于零,等于零,小于零的个数并分别放在GREATZ,ZERO.LITTLEZ中。
现在想实现程序运行后可以在屏幕上显示出(DOS编译环境)这三个项及其数值,初学汇编,有些无从下手,希望高手指点!
万分感谢!

STACK   SEGMENT STACK 'STACK'
        DW 100H DUP(?)  
TOP     LABEL WORD
STACK   ENDS

DATA    SEGMENT
BUFFER  DW 5
        DB 01H,06H,16H,0,12H 
GREATZ  DW ?
ZERO    DW ?
LITTLEZ DW ?
DATA    ENDS

CODE    SEGMENT
            ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
            
START:  
        MOV AX,DATA
        MOV DS,AX
        MOV ES,AX
        MOV AX,STACK
        MOV SS,AX
        LEA SP,TOP
        XOR AX,AX
        MOV GREATZ,AX
        MOV ZERO,AX
        MOV LITTLEZ,AX
        MOV CX,BUFFER
        LEA SI,BUFFER+1
                           
ST_COUNT:
        MOV AX,[SI]
        ADD SI,2
        AND AX,AX
        JLE COUNT1
        INC GREATZ
        JMP COUNT3
        
COUNT1:
        JL COUNT2
        INC ZERO
        JMP COUNT3
        
COUNT2:
        INC LITTLEZ
        
COUNT3:
        DEC CX
        JNZ ST_COUNT
        MOV AH,4CH
        INT 21H

CODE    ENDS
        END START
masmaster
[第1楼] [ 回复时间:2010-11-09 21:27 ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
看的不是王爽老师的书!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved