![]() | 第9章 图形显示 | -243- | |||||||||||||||||||
exit: main disp loop2: loop3: next_dot: |
pop loop mov int mov int endp proc push push mov mov mov push mov mov lodsw xchg shl push jnc mov mov int inc pop dec jnz inc pop loop |
cx loop1 ax,0003h 10h ah,4ch 21h near bx si cx,16 si,offset buffer dx,100 cx cx,152 di,16 ah,al ax,1 ax next_dot ah,0ch al,2 10h cx ax di loop3 dx cx loop2 |
;恢复CX中的计数值 ;转LOOP1继续 ;设置字符显示模式3 ;结束进程 ;DISP子过程 ;保存寄存器 ;处理32个字节(16个字) ;SI寄存器指向文件缓冲区 ;汉字左上角的Y坐标送入DX寄存器 ;暂存CX寄存器中的计数值 ;汉字左上角的X坐标送入CX寄存器 ;处理一个字的16个Bit ;取得一个字的数据 ;交换高低字节 ;数据左移1位,最高位移入CF标志 ;保存移位后的结果 ;若移出的位是0,转NEXT_DOT ;画一个洋红色的点 ;X坐标加1,准备处理下一个点 ;恢复移位后的结果 ;16个Bit处理完了吗? ;若未处理完16个Bit,转LOOP3继续 ;Y坐标加1,准备处理下一条线 ;恢复CX寄存器中的计数值 ;转LOOP2继续 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |