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

汇编区,好冷清啊,远没有c语言那么热闹,发个程序

chenwei435 发布于 2011-11-02 19:37, 890 次点击
输入字符串,按enter键结束,为了区别,我在末尾加了a
程序代码:
DATAS SEGMENT
    str db 50 dup (?)
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
   
    mov cx,50
    mov bx,0
loops:  mov ah,1h
        int 21h
        cmp al,13
        jz exit
        mov [str+bx],al
        inc bx
        loop loops
exit:   mov [str+bx],'a'
        mov [str+bx+1],'$'
        lea dx,str
        mov ah,9h
        int 21h         
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
2 回复
#2
chenwei4352011-11-02 20:25
一个输入字符串,然后倒序输出程序(enter键结束)
程序代码:
DATAS SEGMENT
    str db 50 dup (?)
    str1 db 50 dup (?)
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
   
    mov cx,50
    mov bx,0
loops:  mov ah,1h
        int 21h
        cmp al,13
        jz loop1
        mov [str+bx],al
        inc bx
        loop loops
      
loop1:    mov si,0
        mov cx,bx
        dec bx
      
loop2:  mov al,[str+bx]
        mov [str1+si],al
        dec bx
        inc si
        cmp bx,-1
        jz  exit
        loop loop2
               
exit:    mov [str1+si],'$'
        lea dx,str1
        mov ah,9h
        int 21h   
              
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
#3
insok2011-11-02 22:21
汇编好难懂额。。能懂的大概都成精了吧。。。而且我觉得这东西要经常切换大小写,有点麻烦。。
那个。。在结束加a是什么意思啊?是输入结束时加a么?
1