注册 登录
编程论坛 汇编论坛

汇编新手求解.

lawfay 发布于 2012-12-19 17:13, 724 次点击
我没有任何编程经验,初学者一枚.这是老师今天让写的一个小程序 如果正常运行的话 能够记录我在键盘上敲击的内容并且显示在屏幕上.但是我写出来的程序最后在屏幕显示的结果前总是有2个乱七八糟的符号.
以下是代码
    DATAS SEGMENT
buffer db 20
       db 0
       db 50 DUP(0)
st1    db 'type your name',0dh,0ah,'$'
st2    db 'your name is:',0dh,0ah,'$'   
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV DX,OFFSET st1
    MOV AH,09H
    INT 21H
    MOV DX,OFFSET buffer
    MOV AH,0AH
    INT 21H
    LEA SI,buffer+1
    MOV CH,0
    MOV Cl,[SI]
    ADD SI,CX
    ADD SI,1
    MOV BYTE PTR [SI],'$'
    MOV DX,OFFSET st2
    MOV AH,09H
    INT 21H
    MOV DX,offset buffer
    MOV AH,09H
    INT 21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

我自己想了很多边 估计是SI指向的数据单元有问题 可是我改了很多边 都改不正常。。求大神帮忙啊 啊啊啊啊啊!!
5 回复
#2
朱三哥2012-12-20 03:41
自己去看中断去 我懒的查
#3
x64asm2012-12-20 20:12
以下是引用朱三哥在2012-12-20 03:41:33的发言:

自己去看中断去 我懒的查


二楼之言深合我意,我等岂能沦为他人作业帮工?
#4
suijishu2012-12-20 21:45
楼上二位都有理,我在有理下吧。。。
#5
zerolzb2012-12-29 16:19
以下是引用x64asm在2012-12-20 20:12:13的发言:

 
 
我等岂能沦为他人作业帮工?
+1..
#6
水哥2012-12-30 22:55
+1
1