日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编题目:编写包含多个功能子程序的中断例程

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编题目:编写包含多个功能子程序的中断例程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝一個新的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*4+2]mov init[1],axmov es:[7ch*4],offset setScreenmov es:[7ch*4+2],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*4+2],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

?

總結

以上是生活随笔為你收集整理的汇编题目:编写包含多个功能子程序的中断例程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。