回 帖 发 新 帖 刷新版面

主题:汇编程序求助


刚学汇编,还不太懂,希望指点,3Q

1.数据区BUF存储有若干带符号字节数据。编写程序,计算前N个数据之和,并存放到字单元SUM中。

2.编写程序,统计从键盘输入一串字符中出数字字符的个数、字母字符的个数及非数字/字母字符的个数,统计结果存放在内存中。当输入字符为'$'时,停止输入。

回复列表 (共9个回复)

沙发

你叫我们帮你做作业阿?把你的思考写出来以及在思考过程中遇到什么问题,要具体一点,我可不想帮助懒汉。

板凳

真的不会做啊,听课都听晕了[em7]

3 楼

第一题:
.model    small
.data
buff    db    1,2,3,4,5,6,7,8,9,10
bufflen    equ    $-buff
sum    dw    0
.code
    mov    ax,@data
    mov    ds,ax
    
    mov    cx,bufflen

    xor    dx,dx
    xor    ah,ah
    lea    si,buff
sum_lop:
    lodsb
    add    dx,ax
    loop    sum_lop
    
    mov    sum,dx
    
    mov    ah,4ch
    int    21h
    end

4 楼

第二题,写的时候忘了你用$结束的条件,这个程序用回车结束即可更付合大家习惯。
.model    small
.data
buff    db    40h,0,40h dup (0)
num    dw    0
char    dw    0
other    dw    0

.code
    mov    ax,@data
    mov    ds,ax
    
    lea    dx,buff
    mov    ah,0ah
    int    21h
    
    mov    si,offset buff
    inc    si
    mov    cl,[si]
    xor    ch,ch
    inc    si
    
cout_lop:
    lodsb
    
    cmp    al,'0'
    jl    char_Upper_YN
    cmp    al,'9'
    jg    char_Upper_YN
    add    [num],1
    loop    cout_lop
    jmp    exit
    
char_Upper_YN:    
    cmp    al,'A'
    jl    char_Lower_YN
    cmp    al,'Z'
    jg    char_Lower_YN
    add    [char],1
    loop    cout_lop
    jmp    exit
char_Lower_YN:
    cmp    al,'a'
    jl    char_other
    cmp    al,'z'
    jg    char_other
    add    [char],1
    loop    cout_lop
    jmp    exit
char_other:
    add    [other],1
    loop    cout_lop
exit:    
    mov    ah,4ch
    int    21h
    end

5 楼

给我加分哦。.....

6 楼

3Q~[em2]

7 楼

3q也不帮我加分啊,55555555555,我都这么尽力了.

8 楼

呵呵,加了

9 楼

呵呵 看不懂

我来回复

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