1
Q
做中斷鏈接任務
A
回答
2
我不使用它了,只是想與可能我給裝配了第一步彙編再次發揮:
.186
.MODEL TINY, C
.code
ORG 100h
Entry:
; Install handler
push ds
xor cx, cx
mov ds, cx
mov ax, ds:[8*4]
mov dx, ds:[8*4+2]
cli
mov ds:[8*4], OFFSET InterruptHandler
mov ds:[8*4+2], cs
pop ds
mov word ptr [OldIntVect], ax
mov word ptr [OldIntVect+2], dx
sti
; Wait for the user to press a key. In the meantime you should see lots of wildcards!
xor ax, ax
int 16h
; Restore original handler
mov ax, word ptr [OldIntVect]
mov dx, word ptr [OldIntVect+2]
push ds
xor cx, cx
mov ds, cx
cli
mov ds:[8*4], ax
mov ds:[8*4+2], dx
sti
pop ds
; Exit to DOS
int 20h
PROC MyHandler
mov ah, 0Eh
mov al, '*'
int 10h
ret
ENDP
InterruptHandler:
pushf
call cs:[OldIntVect]
cmp [busy], 0
jne ExitHandler ; If jumps then the timer was faster than the time it takes for MyHandler to complete
mov cs:[busy], 1
pusha
call MyHandler ; Other options are using a pointer to function or just inlining the code here.
popa
mov cs:[busy], 0
ExitHandler:
iret
OldIntVect dd ?
busy db ?
END Entry
的WinXP(32位)下測試:
>tasm timer.asm
Turbo Assembler Version 1.01 Copyright (c) 1988, 1989 Borland International
Assembling file: TIMER.ASM
Error messages: None
Warning messages: None
Remaining memory: 481k
>tlink /t timer.obj
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International
>timer
***************************
但是,這當然只適用於DOS環境(DOSBox,Windows 32位版本等),並且最多隻需調整一次引導加載程序。
無論如何,感謝美麗的時候,你只給我恢復這一切:P
+0
驚人的你怎麼做到了!謝謝! :d – Osukaa
相關問題
- 1. 任務鏈接沒有TaskCompletionSource?
- 2. 鏈接背景任務Alamofire
- 3. 鏈接兩個任務
- 4. 鏈接沒有做任何事
- 5. RichTextBox鏈接不做任何事情
- 6. 在jira中鏈接子任務與groovy
- 7. Python中鏈接任務的狀態
- 8. 檢查斷開的鏈接web服務
- 9. Python asyncio:可中斷任務
- 10. 區分任務和中斷
- 11. 做硬鏈接或軟鏈接在文件系統中佔用任何空間?
- 12. Dreamweaver中的鏈接斷開
- 13. 重寫中斷鏈接
- 14. 如何在發生異常時中斷任務鏈?
- 15. php不斷鏈接
- 16. codeigniter斷開鏈接
- 17. 鏈接到不斷變化的鏈接
- 18. 任務鏈接(等待上一個任務完成)
- 19. 使網站中的所有超鏈接都不做任何事
- 20. 芹菜:多重參數鏈接任務
- 21. 如何鏈接獨立的C#任務?
- 22. 鏈接兩個任務流Oracle Adf庫
- 23. 定義和鏈接任務分別
- 24. 順序連續芹菜鏈接任務
- 25. Django是這個鏈接任務嗎?
- 26. WiX HeatDirectory任務指向符號鏈接
- 27. JIRA - 鏈接問題和子任務
- 28. 軌道3 rake任務鏈接
- 29. 在Localizable中,ViewController.xib的鏈接中斷
- 30. hg中斷鏈接通過proxy_pass服務於nginx
連鎖中斷處理是高度依賴於工作環境(操作系統,芯片等),並且未曾最常見方式來編程。您應該更具體地瞭解您正在從事的是什麼類型的系統,即使如此,耐心也可能是有條件的。 – dmckee
我正在使用VirtualBox上的Windows XP。 – Osukaa