|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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 ;将do0写到0:200处
- mov cx,offset do0end-offset do0
- cld
- rep movsb
-
- ;设置中断向量表
- mov ax,0
- mov es,ax ;将es指向中断向量表
- mov word ptr es:[7ch*4],200h ;发生7ch中断时跳转到0:200处执行
- mov word ptr es:[7ch*4+2],0
-
- mov ax,4c00h
- int 21h
-
-
-
- ;dh 行号
- ;dl 列号
- ;cl 颜色
- ;ds:si 指向字符串首地址 结束标志‘0’
- do0:
- add dl,dl ;列号最大为80,不会溢出
- mov al,160
- mul dh ;8位mul,al放乘数1,AX放结果
- mov di,ax
- mov dh,0
- add di,dx ;显存索引 = 行*160+列x2
- mov ax,0b800H
- mov es,ax
- mov ah,cl; ;字体颜色
-
- s: cmp byte ptr [si],0
- je ok ;(ds:[si])=0时则跳转
- mov al,[si]
- mov es:[di],ax ;写显存
- inc si
- add di,2
- jmp s
- ok: iret
- do0end: nop
- code ends
- end start
复制代码 |
|