|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|