发现个问题 不知道是我的代码有问题还是书上就错了 求精通的来看看
本帖最后由 一个人 于 2012-9-9 08:33 编辑这是我写的第十二章后面的实验代码(基本是照搬课本上的代码 嘿嘿) 先看括号里的那几句
手机发帖 没有排版 大家将就一下
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0 ;设置复制源内容头地址
mov ax,0
mov es,ax
mov di,200h ;设置复制内容目标地址
mov cx,offset do0ends-offset do0
;设置复制次数
cld
rep movsb ;正序复制
mov ax,0
mov es,ax
mov word ptr es:,200h
mov word ptr es:,0h ;设置0号中断向量地址
mov ax,4c00h
int 21h
do0: jmp short do0start ;do0start为代码段开始,直接跳到do0start
db "divid eerror!"
do0start: ( mov ax,0
mov ds,ax
mov si,202h) ;jmp short do0start占两字节 ds:si指向字符串首地址
mov ax,0b800h
mov es,ax
mov di,12*160 36*2 ;设置显示位置地址
mov cx,13 ;设置字符串复制次数
s: mov al,ds:
mov ah,95 ;设置字符串颜色属性
mov es:,ax
inc si
add di,2
loop s ;复制字符串到显存
mov ax,4c00h
int 21h
do0ends: nop
code ends
end start
然后课本上的是mov ax,cs 我用课本上的就不能实现 但是用自己写的就能实现 我感觉课本上应该是错了 那个字符串在前面已经被复制到了0:202处 所以不应该是mov ax,cs吧
希望精通的给解释下 谢谢了
没人管啊?…… 还没人解答 你们是不知道啊?
页:
[1]