- [tolearn] 谢谢你哈…… 10/19 07:10
- [huang425618] 呵呵,第二种方法原来就是第七章的内容,我当时还没学到那呢。我其实不是为我自己辩解,只是我想说,我们的 10/03 20:00
- [qq93324030] 不觉得第二种方法好,他怎么就能那么确定abc三个段是连续的呢?万一不连续他的程序就没作用了。。 10/02 04:37
- [qq93324030] 谢谢,和你对比了我就不用贴了 10/02 00:18
[2010-09-30 12:43] 实验5 (5)
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 es,ax
mov ax,b
mov ss,ax
mov ax,c
mov ds,ax
mov bx,0
mov cx,8
s: mov al,es:[bx]
add al,ss:[bx]
mov [bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
db:就是以字节为单位定义变量 define byte
我想编程中其中有个原则就是用最短的代码来达到我们的目的
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 bx,0
mov cx,8
s: mov ax,[bx]
add ax,[bx+10h]
mov [bx+20h],ax
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
这是论坛上找到的,比我少了四行代码,历害的
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 es,ax
mov ax,b
mov ss,ax
mov ax,c
mov ds,ax
mov bx,0
mov cx,8
s: mov al,es:[bx]
add al,ss:[bx]
mov [bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
db:就是以字节为单位定义变量 define byte
我想编程中其中有个原则就是用最短的代码来达到我们的目的
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 bx,0
mov cx,8
s: mov ax,[bx]
add ax,[bx+10h]
mov [bx+20h],ax
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
这是论坛上找到的,比我少了四行代码,历害的
评论次数(2) |
浏览次数(594) |
类型(汇编作业) |
收藏此文 |
[ qq93324030 发表于 2010-10-02 04:37 ]
不觉得第二种方法好,他怎么就能那么确定abc三个段是连续的呢?万一不连续他的程序就没作用了。。
[ huang425618 发表于 2010-10-03 20:00 ]
呵呵,第二种方法原来就是第七章的内容,我当时还没学到那呢。我其实不是为我自己辩解,只是我想说,我们的原则是根据实际编程情况利用最短的代码完成我们的任务,达到我们的目的。如果不连续自然用其它的方法了。很感谢你给我的评论,我那么多上传的作业也就你给我评论,非常感谢