就爱吃麻花 发表于 2011-8-6 15:47:28

求解试验5第五题

本帖最后由 weixianlang 于 2011-8-9 13:33 编辑


这一题想不出来啊,a b c都没有引用什么ss,ds,怎么确定他们在内存中的位子啊
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, c
mov ds, ax
mov bx, 0
mov cx, 8
mov dh, 0
s: mov dl, a:
mov , dl
inc bx
loop s

mov bx, 0
mov cx, 8
mov dh, 0
s0: mov dl, b:
add , dl
inc bx
loop s0

mov ax, 4c00h
int 21h

code ends
end start


我这样写试了一下,发现报错,2个错误位子,就是mov dl, a:   和   mov dl, b:
如果说不能这么找位子,那应该怎么做呢?请教啊

只是丶梦 发表于 2011-8-6 16:06:21

为什么不用ds和ss或者es?

只是丶梦 发表于 2011-8-6 16:32:33


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 cx,8
       mov si,0
    mov ax,0
    mov bx,0
s:mov al,ds:
    mov bl,ds:
    add al,bl
    mov ds:,al
    inc si
    loop s
       mov ax, 4c00h
       int 21h
code ends
end start

这个我写了下 也和你一样用了一个ds 不过我是用a
因为db一行16个所以b在a+16(是十进制)的位置开始
后面你就知道了吧?虽然我在想为什么不用es和ss 不过我看你用ds我也只用ds了

parbbo 发表于 2011-8-6 19:25:24

a,b,c能用来定义段嘛?哪还要ds,es,cs干嘛?

zhdw 发表于 2011-8-6 19:40:18

a b c 是寄存器吗   

parbbo 发表于 2011-8-6 19:57:03

自己定义的段

响当当 发表于 2011-8-9 10:47:58

这个程序运行不对啊???小甲鱼老师,做做{:1_1:}点评吧!
页: [1]
查看完整版本: 求解试验5第五题