| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:遇到一个棘手的问题,求好心人解答一下
只看楼主 加入收藏
rapic
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-19
收藏
 问题点数:0 回复次数:4 
遇到一个棘手的问题,求好心人解答一下
STACK1  SEGMENT   STACK
              DW        256 DUP(?)
      STACK1  ENDS

        DATA  SEGMENT   USE16
        MES1  DB        'Show a as hex:',0DH,0AH,'$'
        MES2  DB        'Please input a string:','$'
        MES3  DB        50
              DB        ?
              DB        50 DUP(?),'$'

        DATA  ENDS

        CODE  SEGMENT   USE16
              ASSUME    CS:CODE,DS:DATA
         
      START:  MOV       AX,DATA
              MOV       DS,AX
              MOV       AX,0
              MOV       DX,OFFSET MES2
              MOV       AH,09H
              INT       21H                  

              MOV       DX,OFFSET MES3
              MOV       AH,0AH
              INT       21H

              MOV       DX,OFFSET MES3
              MOV       AH,09H
              INT       21H

              MOV       DX,OFFSET MES1         
              MOV       AH,09H
              INT       21H
              MOV       AX,4C00H    ;go back to dos
              INT       21H
        CODE  ENDS
              END       START

为什么我这个程序不能实现显示出键盘输入的字符串啊?另外我MES3在数据段的最初数据并不是全空啊,里面有一个最初的值2.有好心人能帮我解答一下吗?我郁闷好几天了。
搜索更多相关主题的帖子: 解答 
2009-11-19 09:03
rockcjw
Rank: 2
等 级:论坛游民
帖 子:28
专家分:32
注 册:2009-8-23
收藏
得分:0 
建议你把0A号功能再看一下
2009-11-24 21:14
az9841682
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:312
专家分:596
注 册:2009-9-11
收藏
得分:0 
MOV       AX,DATA
              MOV       DS,AX
              MOV       AX,0

这一步 貌似是多余
为什么 这一步 会影响 输出  我也不知道
我的是这样
data segment
mes1 db 'show a as',0dh,0ah,'$'
mes2 dw 50 dup(?),'$'
data ends

code segment
assume cs:code,ds:data
main proc far

start: mov dx,offset mes1+0
       ;mov byte ptr mes1+[bx],'$'
       mov ah,09h
       int 21h      ;这段貌似是输出DATA

      mov dx,offset mes2
      mov ah,0ah
      int 21h        ;往MES2输入数据
   
      mov ah,4ch
      int 21h
   
main endp
code ends
end main


[ 本帖最后由 az9841682 于 2009-11-30 02:43 编辑 ]
2009-11-30 02:42
娜美
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2009-11-3
收藏
得分:0 
你的输出STRING字符串有问题。。。。不能简单的用0Ah功能(应该没你这么用的吧貌似)。。
调用。。。。改成单个字符输出试试
2009-12-02 20:18
az9841682
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:312
专家分:596
注 册:2009-9-11
收藏
得分:0 
改动了一下
为什么SHOW  A  AS 前面有一大把的乱码 求什么去掉
data segment
mes1 db 'show a as',0ah,0dh,'$'
mes2 dw 50 dup(?),'$'
data ends

code segment
assume cs:code,ds:data
main proc far

start:sub dx,dx
      mov dx,offset mes1+0
      ;mov byte ptr mes1+[bx],'$'
      mov ah,09h
      int 21h

mov dx,offset mes2
mov ah,0ah
int 21h

mov dl,0dh
mov ah,02h
int 21h

mov dl,0ah
mov ah,02h
int 21h

lea dx,mes2
mov ah,09h
int 21h

mov ah,4ch
int 21h

main endp
code ends
end main
2009-12-20 16:09
快速回复:遇到一个棘手的问题,求好心人解答一下
数据加载中...
 
   



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

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