到拉萨去兜风 发表于 2012-12-11 23:04:47

实验5 第5小题


(5)程序如下,编写code段中代码,将a段和b段中的数据依次相加,将结果存到C段中。assume cs:codea segment    db 1,2,3,4,5,6,7,8a endsb segment    db 1,2,3,4,5,6,7,8b endsc segment    db 0,0,0,0,0,0,0,0c endscode segmentstart: ?
       mov ax,4c00h       int 21hcode endsend start
我写程序如下,不知对不对,请各位帮助一下,assume cs:codea segment    db 1,2,3,4,5,6,7,8a endsb segment    db 1,2,3,4,5,6,7,8b endsc segment    db 0,0,0,0,0,0,0,0c endscode segmentstart: mov ax,a       mov ds,ax       mov ax,b       mov es,ax       mov ax,c       mov ss,ax       mov bx,0       mov cx,8    s: add ,es:       mov ss:,       inc bx       loop s           mov ax,4c00h    int 21hcode endsend start
望各位不吝赐教,谢谢各位大虾!!!!!错在哪里,能帮我找出来,便于我以后继续学习{:5_110:}

summerchencong 发表于 2012-12-11 23:04:48

同意楼上的说法,你在debug实验一下add ,es:
mov ss:,
是会ERROR的

s0512 发表于 2012-12-11 23:48:15



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 bx,0

       mov cx,8

    s: ;add ,es:
      mov al,
      add al,es:

       ;mov ss:,
      mov ss:,al

       inc bx

       loop s

         mov ax,4c00h

    int 21h

code ends

end start

s0512 发表于 2012-12-11 23:53:15

MOV 指令不能同时为内存操作数{:5_108:}加油兄弟!!

到拉萨去兜风 发表于 2012-12-12 19:46:07

s0512 发表于 2012-12-11 23:48 static/image/common/back.gif
assume cs:code

a segment


s: ;add ,es:    这一句是把a与b相加,再把值送到 DS:中去                                 两个值求和
      mov al,         这一句把DS:中的数据送到AX寄存器中低位"al "中去                      复制数据
      add al,es:      这一句是把b 的数据与:DS:中的数据相加,再把值送到 “al" 中去    两上值求和

       ;mov ss:,   这一句是把ds:中的数据复制到ss:中去
      mov ss:,al         这一句是把上面第三句 al 中的数据复制到ss:中去,就想当于复制到 "c"中去

       inc bx

       loop s
以上是我对每句的理解,看对不对,谢谢各位的帮助。

s0512 发表于 2012-12-12 22:08:21

到拉萨去兜风 发表于 2012-12-12 19:46 static/image/common/back.gif
s: ;add ,es:    这一句是把a与b相加,再把值送到 DS:中去                                 两个值求和 ...

对的。。。
不过SS通常用在栈操作。。这种写法还是比较另类

shdfsbgfjks 发表于 2012-12-14 00:27:08

楼上答案都很正确

到拉萨去兜风 发表于 2012-12-18 21:56:09

我总感觉还差哪么一丁点东西,在思考中,或许就是这个写法本身就是一个BUG程序
页: [1]
查看完整版本: 实验5 第5小题