凡科做网站不要钱,长沙铭万做网站,服装网页设计图片,做商城网站产品怎么分布安装一个新的int 7ch中断例程#xff0c;为显示输出提供如下的功能子程序。 #xff08;1#xff09;清屏。#xff08;2#xff09;设置前景色。#xff08;3#xff09;设置背景色。#xff08;4#xff09;向上滚动一行 #xff08;一#xff09;用ah寄…安装一个新的int 7ch中断例程为显示输出提供如下的功能子程序。 1清屏。2设置前景色。3设置背景色。4向上滚动一行 一用ah寄存器传递功能号0表示清屏1表示设置前景色2表示设置背景色3表示向上滚动一行 二对于2、3号功能用al传递颜色值(al)∈{0,1,2,3,4,5,6,7}。 代码如下 ;功能安装一个新的int7ch中断例程实现一个子程序 setScreen 提供如下功能
; 1清屏。
; 2设置前景色。
; 3设置背景色。
; 4向上滚动一行; 入口参数说明
; 1每个子程序用 ah 寄存器传递功能号
; 2对于2、3号功能用al传送颜色值assume cs:code,ds:datadata segment err db ~~~~~ ah args is error! ~~~~~,$init dw 10 dup(0)data endscode segmentstart:mov ax,datamov ds,axmov ax,0mov es,axmov ax,es:[7ch*4]mov init[0],axmov ax,es:[7ch*42]mov init[1],axmov es:[7ch*4],offset setScreenmov es:[7ch*42],csmov ax,102hint 7ch;call breakPointmov ax,201hint 7ch;call breakPointmov ax,300hint 7ch;call breakPointmov ax,0hint 7chmov ax,400hint 7chmov ax,0mov es,axmov ax,datamov ds,axmov ax,init[0]mov es:[7ch*4],axmov ax,init[1]mov es:[7ch*42],axok: mov ax,4c00hint 21hsetScreen:jmp short setmainlist dw sub0,sub1,sub2,sub3setmain:cmp ah,3ja subErrmov bl,ahmov bh,0shl bx,1call word ptr list[bx]iretsub0: ;清屏mov cx,0b800hmov es,cxmov cx,2000mov bx,0sub0s:mov byte ptr es:[bx], add bx,2loop sub0sretsub1: ;设置前景色。mov cx,0b800hmov es,cxmov cx,2000mov bx,1sub1s:and byte ptr es:[bx],11111000bor es:[bx],aladd bx,2loop sub1sretsub2: ;设置背景色。mov cx,0b800hmov es,cxmov cx,2000mov bx,1shl al,1shl al,1shl al,1shl al,1sub2s:and byte ptr es:[bx],10001111bor es:[bx],aladd bx,2loop sub2sretsub3: ;向上滚动一行mov cx,0b800hmov es,cxmov ds,cxmov di,0mov si,160climov cx,24sub3s:push cxmov cx,160rep movsbpop cxloop sub3smov cx,160mov bx,0sub3s1:mov byte ptr es:3840[bx], add bx,2loop sub3s1retsubErr: ;显示错误信息mov ax,datamov ds,axmov ah,9mov dx,offset errint 21hjmp okbreakPoint: ;设置断点用于调试pushfpop bxor bh,3push bxpopfretcode endsend start