關於給彙編生成的程式新增暫停語句

2021-04-12 23:32:44 字數 822 閱讀 7979

如果大家對c語言稍微有些了解的話,一定知道getch()函式的作用[起暫停作用]。暫停的作用對於源程式編譯執行時來說是不言而喻的。很遺憾,組合語言並沒有類似於像c語言中getch()函式這麼方便的語句。不過,我們可以結合彙編中的中斷知識來幫助自己實現乙個起暫停作用的子程式。方法如下:

1、先定義乙個子程式如下:

pause proc near  ;子程式定義(起退出緩衝作用)

jmp short exitbegin

exitstr db 0ah,0dh,'press any key to exit...$'

exitbegin:

push ax

push ds

push dx

;以上3條push指令的作用是儲存現場

mov ax,seg 

pause ;取子程式名pause所在的段位址

mov ds,ax

lea dx,exitstr

mov ah,9  ;顯示字串exitstr的內容

int 21h

mov ah,7 ;等待輸入乙個[無回顯]字元

int 21h

pop dx

pop ds

pop ax

;以上3條pop指令的作用是恢復現場

retpause endp  ;子程式定義結束

2、然後在mov ah,4ch、int 21h兩條[返回dos的]指令之前呼叫該子程式[這裡用call exit]即可,

子程式定義放在mov ah,4ch、int 21h兩條指令之後

3、說明:只要能滿足前2點要求,那這個子程式在任何dos16位匯程式設計序中都可以通用! 

關於給表新增計算列所帶來的效能提公升

最近發現專案中的sql的where部分有很多的計算組成的查詢條件,例如 use adventureworks2014 select 1from dbo.person where firstname lastname diane margheim 因此想要針對這個部分進行下優化,所以打算採用計算列的方...

給程式集新增數字簽名和驗證程式集的資料簽名

在vs安裝後發現路徑 vc7 common7 tools bin 下有許多小工具。1。makecert.exe 證書建立工具 2。cert2spc.exe 發行者證書測試工具 3。signtool.exe 檔案簽名工具 4。chktrust.exe 檢查簽署證書後的ocx是否正確 建立自己的根證書 ...

微信小程式 給陣列的每個物件新增動畫(資料驅動)

思路 用資料驅動事件,用陣列的方式去對迴圈陣列的每個物件進行操作 js data rotateanimation 箭頭旋轉動畫 animationoff false,false,false,false 控制篩選內容的顯示開關 給每個人陣列新增新屬性 checked false onload func...