17736715793 发表于 2020-6-20 15:38:28

用汇编语言编写

1.从2000H单元开始的100个字节数传送到2070H开始的寄存器
2.完成一盒字符串的统计,要求分别出字母,数字,其他字符的个数
3.从300H开始的有10个8位二进制有符号数,试编程求10个数之和,结果高位存入050BH中,低位存入050AH中

有没有大佬帮忙解惑啊

xiaosi4081 发表于 2020-6-20 15:40:35

assume cs:code
code segment
mov ax,2000h
mov ds,ax
mov ax,2070h
mov es,ax
mov si,0
mov di,0
mov cx,100
cld
rep movsb
mov ax,4c00h
int 21h
code ends
end

百度搜的

405794672 发表于 2020-6-22 21:17:26

本帖最后由 405794672 于 2020-6-23 12:12 编辑

忘记段寄存器不能直接赋值了。修改了一下。
1:                mov ax,2000H
                mov ds,ax
                mov ax,2070h
                mov es,ax
                mov di,0
                mov si,0
                mov cx,100
                cld
                rep movsb
               
2:                mov ax,字符串首地址
                mov ds,ax
                mov ax,0
                mov bx,0
                mov dx,0
                mov bp,0
a                cmp ds:,'A'自己找ASCII码值
                jnb letter
num                cmp ds:,'0'
                jnb lnum
other        cmp ds:,0
                jedisplay
                inc bp
                inc bx
                jmp a
letter        cmp ds:,'Z'
                ja sletter
                inc ax
                inc bx
                jmp a
sletter cmp ds:,'a'
                jbnum
                cmp ds:,'z'
                janum
                inc ax
                inc bx
                jmp a
lnum    cmp ds:,'9'
                ja other
                inc dx
                inc bx
                jmp a
display 这里开始进行显示了。注意。ax是字母数量,dx是数字数量,bp是其它字符数量

3:           mov ax,300H
                mov ds,ax
                mov ax,0
                mov bx,0
                mov cx,10
        num        add al,ds:
                adc ah,0
                inc bx
                loop num
                mov bx,50Ah
                mov ds,bx
                mov ds:0,ax
               
               
   
   

17736715793 发表于 2020-6-23 09:46:22

405794672 发表于 2020-6-22 21:17
1:mov ds,2000H
   mov es,2070h
   mov di,0


好好,谢谢

17736715793 发表于 2020-6-23 12:26:42

405794672 发表于 2020-6-22 21:17
忘记段寄存器不能直接赋值了。修改了一下。

感谢感谢,太感谢了
页: [1]
查看完整版本: 用汇编语言编写