马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 loop 于 2011-5-31 12:13 编辑 assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset doend- offset do
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0],200h
mov word ptr es:[2],0
mov ax,4c00h
int 21h
do:
jmp short dostart
db "welcome to fishc.com!"
dostart:
mov ax,cs; 不知道此处的cs指向的是哪个cs,是中断处理程序的cs,还是进行除法运算的cs呢
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160+60
mov cx,21
s: mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
doend: nop
code ends
end start
不知道 dostart:处的cs指向的是哪个cs,是中断处理程序的cs,还是进行除法运算的cs呢
而且在13章中编写中断07ch处进行大小写转换程序
capital:
push cx;此处的cx,si指的是什么里面的cx,si,是调用7ch的程序,还是7ch处中断程序自身的cx,si
push si
change:mov cl,[si]
mov ch,0
jcxz,ok
and byte ptr [si],11011111b
inc si
jmp short change
ok: pop si
pop cx
iret
|