询问一个微机原理中的汇编语言小问题,望赐教

我的程序是这样的,要求是首先把数据段中的list转到附加段中的result,然后在result中进行冒泡排序。程序:datasegmentorg0000hlistdb12... 我的程序是这样的,要求是首先把数据段中的list转到附加段中的result,然后在result中进行冒泡排序。
程序:
data segment
org 0000h
list db 12,7,1,8,13,10
count equ $-list
data ends
extra segment
org 1000h
result db 6 dup(?)
extra ends
sort segment
assume cs:sort,ds:data,es:extra
start:mov ax,data
mov ds,ax
mov ax,extra
mov es,ax
lea si,list
lea di,result
mov cx,6
cld
rep movsb
begin:mov ax,extra
mov es,ax
mov cx,count-1
loop1:mov dx,cx
mov bx,0
loop2:mov al,es:result[bx]
cmp al,es:result[bx+1]
jae no_change
xchg al,es:result[bx+1]
mov es:result[bx],al
no_change:
add bx,1
loop loop2
mov cx,dx
loop loop1
mov ax,4c00h
int 21h
sort ends
end begin
有两个问题:第一,为什么list的偏移地址是0100?应该是0000才对啊

如果有问题,请问怎么改回正常,使偏移地址返回0000?
第二个问题,最后我要通过debug程序给老师看list和result的结果,但是我要知道段寄存器ds和es的值,请问是否有什么简洁的方法,可以在已经完成转移字符串和对result冒泡排序之后快速查询到ds和es的值,从而能够显示出result和list来,如果没有,请提供一下自己的解决方案,谢谢啦
如果程序有错误的话,也希望指出
展开
 我来答
fastfs
2014-04-19 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:788万
展开全部
第一个问题程序的开始地址弄错了 把end begin改成start

第二个问题在debug里 直接d ds:0看list d es:1000h看result
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式