求解试验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:
如果说不能这么找位子,那应该怎么做呢?请教啊
为什么不用ds和ss或者es?
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了
a,b,c能用来定义段嘛?哪还要ds,es,cs干嘛? a b c 是寄存器吗 自己定义的段 这个程序运行不对啊???小甲鱼老师,做做{:1_1:}点评吧!
页:
[1]