嘿嘿,和C语言里面的goto(x,y)+显示字符 差不多的功能
程序代码:
date segment db 'GAO SHU WO NI SHI BU SHI CHU NAN HAO MA?','$' date ends code segment assume cs:code,ds:date start: mov ax,date mov ds,ax mov si,0 mov dh,20 ;屏幕显示的行号 mov dl,18 ;屏幕显示的列号 mov cl,2 ;字符的显示颜色 call show_str mov ax,4c00h int 21h show_str:dec dh mov al,160 ;定位屏幕的输出位置公式 x为行号 y为列号 输出位置内存偏移地址 f(x,y)=x*160+2y mul dh mov bx,ax mov al,2 mul dl add ax,bx ;ax里面存放的是屏幕最终定位的内存偏移地址 mov bx,0b800h ;显存I/O地址 mov es,bx mov di,ax mov ah,cl s: mov al,[si] cmp al,'$' jz over mov es:[di],ax inc si add di,2 jmp s over: ret code ends end start
[ 本帖最后由 zhu224039 于 2012-10-13 04:34 编辑 ]