用中断例程完成loop指令的功能【安装中断例程,设置中断向量表】
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                用中断例程完成loop指令的功能【安装中断例程,设置中断向量表】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                ;問題:用中斷例程完成loop指令的功能
;應用舉例:在屏幕中斷顯示80個'!'?
1.asm
;安裝中斷例程
assume cs:codecode segment start:mov ax, csmov ds, axmov si, offset lp ;ds:[si] 只指向源地址mov ax, 0mov es, axmov di, 200h ;es:[di] 指向目標地址mov cx, offset lpend - offset lp ;cx為傳輸長度cld ;傳輸方向為正rep movsb ;rep 為cx!=0 繼續 拷貝[movsb];設置7ch中斷例程的入口地址mov ax, 0mov es, axmov word ptr es:[7ch*4], 200hmov word ptr es:[7ch*4+2], 0mov ax, 4c00hint 21h;7ch中斷例程lp:push bpmov bp, spdec cxjcxz lpertadd ss:[bp+2], bx ;ss:[bp+2] 為 int 7ch 下一條指令的第一個字節 地址;bx為 s標號 到 int 7ch 下一條指令的第一個字節 地址 的偏移地址lpert:pop bpiretlpend:nopcode ends end start2.asm
;實現loop
assume cs:codecode segment start:mov ax, 0b800hmov es, axmov di, 160*12mov bx, offset s - offset se ;設置從標號se到s的轉移位移mov cx, 80s:mov byte ptr es:[di], '!'mov byte ptr es:[di+1], 0ahadd di, 2;loop sint 7ch ;如果(cx)!=0,轉移到標號s處se:nopmov ax, 4c00hint 21hcode ends end start?
總結
以上是生活随笔為你收集整理的用中断例程完成loop指令的功能【安装中断例程,设置中断向量表】的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 配置终端服务连接的安全设置
 - 下一篇: Good Technology 产品特色