南郊居士 发表于 2015-4-1 10:26:32

实验5(5)的又一种写法

本帖最后由 南郊居士 于 2015-4-1 10:29 编辑

高手勿笑啊,写完以后发现和各版本答案都不一样,贴出来分享一下
assume cs:code

a segment
                db 1, 2, 3, 4, 5, 6, 7, 8
a ends

b segment
                db 1, 2, 3, 4, 5, 6, 7, 8
b ends

c segment
                db 0, 0, 0, 0, 0, 0, 0, 0
c ends

code segment
start:      mov ax, a
                mov ds, ax
                              
                mov ax, b
                mov es, ax
                              
                mov ax, c
                mov ss, ax
                mov sp, 8
                              
                mov bx, 6
                mov cx, 4
                              
s:                mov ax,
                add ax, es:
                push ax
                sub bx, 2
                loop s
                              
                mov ax, 4c00h
                int 21h

code ends

end start

个人感觉还是不要把SS作为数据段寄存器使用,因为中断过程需要压栈,可能会抹掉一些不可预料的内容

我这样做不能算是违规吧。。。(书上要求“依次相加”),甲鱼哥说老板们只看结果的。





emumax 发表于 2015-4-2 12:47:10

思路不错,循环少了一半
页: [1]
查看完整版本: 实验5(5)的又一种写法