王爽汇编第12章实验题!

assumecs:codecodesegmentstart:movax,csmovds,axmovsi,offsetdo0;设置ds:si指向源地址movax,0move... assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0 ;设置ds:si指向源地址

mov ax,0
mov es,ax
mov di,200h ;设置es:di指向目标地址

mov cx,offset do0end-offset do0 ;设置cx为传输长度
cld ;设置传输方向为正
rep movsb

mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0 ;设置中断向量表

mov ax,4c00h
int 21h

do0: jmp short do0start
db 'divide error!'

do0start:mov ax,cs
mov ds,ax
mov si,202h ;设置ds:si指向字符串

mov ax,0b800h
mov es,ax
mov di,12*160+34*2 ;设置es:di指向显存空间的中间位置

mov cx,13 ;设置cx为字符串长度
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s

mov ax,4c00h
int 21h

do0end: nop
code ends
end start
其中start: mov ax,cs和do0start:mov ax,cs中的cs有什么不同,do0start:mov ax,cs中的cs具体指什么???
展开
 我来答
救赎削肾客
2013-09-08 · TA获得超过1187个赞
知道大有可为答主
回答量:1196
采纳率:0%
帮助的人:960万
展开全部
这里是有点难理解!
start:这里的CS是指的是当前的程序的代码段
而后面的mov ax,cs是直接被翻译成了机器码,并将它复制到了中断子程序中,这段代码暂时是不执行的
当有其他某个程序运行的时候出现了该中断它才会被执行,并且这个时候cs就是
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0 ;设置中断向量表
这里设置的中断向量表中的cs应该是0
====================
这是我的想法,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式