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,c
mov ss,ax
mov sp,11h
mov ax,b
mov es,ax
mov cx,8h
mov bx,0
s: mov ax,ds:[bx]
add ax,es:[bx]
push ax
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
我用DEBUG运行 发现DS刚开始是等于0BA0,按理说CS不是应该加256字节等于OBB0吗?可实际他等于0BB3,哪位大哥告诉我为什么。可能我哪个知识忘了。
7 个解决方案
#1
DS是 0BA0,程序的起始就应该在0BB0,这个没错。
但是你程序的开头,不是CS,而是
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
所以0BB0是 a segment所在的位置,
CS的位置,应该往后数
a,b,c 3个segment所占的字节
但是你程序的开头,不是CS,而是
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
所以0BB0是 a segment所在的位置,
CS的位置,应该往后数
a,b,c 3个segment所占的字节
#2
我估计 segment这东西,不够16字节,是要不齐的
所以3个segment虽然都不够 16字节,但是各自占据一个字节。
你 在debug下用D命令看看,是不是这个情况
我也刚学,所以不敢说的太绝对
所以3个segment虽然都不够 16字节,但是各自占据一个字节。
你 在debug下用D命令看看,是不是这个情况
我也刚学,所以不敢说的太绝对
#3
说错了,不是各自占一个字节,是不够16字节,都补到了16字节。
各自占16字节
各自占16字节
#4
db 1,2,3,4,5,6,7,8这里面定义的空间不算吗?8个字有32B吧。
#5
主要是地址和操作数的区别
#6
好的,谢谢你,我明白了。能加下QQ以后有问题想请教一下行吗?因为我都是自学的,没有人教,遇到一个问题不会要自己看书看很久。。。
#7
我平时上不了QQ,我也是自学的,也没有人教。
共同努力吧!
最近事情比较多,已经两周没怎么动了。
犯懒了,呵呵
共同努力吧!
最近事情比较多,已经两周没怎么动了。
犯懒了,呵呵
#1
DS是 0BA0,程序的起始就应该在0BB0,这个没错。
但是你程序的开头,不是CS,而是
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
所以0BB0是 a segment所在的位置,
CS的位置,应该往后数
a,b,c 3个segment所占的字节
但是你程序的开头,不是CS,而是
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
所以0BB0是 a segment所在的位置,
CS的位置,应该往后数
a,b,c 3个segment所占的字节
#2
我估计 segment这东西,不够16字节,是要不齐的
所以3个segment虽然都不够 16字节,但是各自占据一个字节。
你 在debug下用D命令看看,是不是这个情况
我也刚学,所以不敢说的太绝对
所以3个segment虽然都不够 16字节,但是各自占据一个字节。
你 在debug下用D命令看看,是不是这个情况
我也刚学,所以不敢说的太绝对
#3
说错了,不是各自占一个字节,是不够16字节,都补到了16字节。
各自占16字节
各自占16字节
#4
db 1,2,3,4,5,6,7,8这里面定义的空间不算吗?8个字有32B吧。
#5
主要是地址和操作数的区别
#6
好的,谢谢你,我明白了。能加下QQ以后有问题想请教一下行吗?因为我都是自学的,没有人教,遇到一个问题不会要自己看书看很久。。。
#7
我平时上不了QQ,我也是自学的,也没有人教。
共同努力吧!
最近事情比较多,已经两周没怎么动了。
犯懒了,呵呵
共同努力吧!
最近事情比较多,已经两周没怎么动了。
犯懒了,呵呵