1樓:湯旺河邊
; 本程式通過編譯,執行正確
code segment
assume cs:code,ds:code; -----------------------------------------
; subroutine 延時指定的時鐘嘀嗒數; 入口:
; didas=時鐘嘀嗒數(1秒鐘約嘀嗒18.2次,10秒鐘嘀嗒182次。若延時不是秒的10數次倍,誤差稍微大點)
delay1s proc near
push dx
push cx
xor ax,ax
int 1ah
mov times,dx
mov times[2],cx
read_time: xor ax,axint 1ah
sub dx,times
sbb cx,times[2]
cmp dx,didas
jb read_time
pop cx
pop dx
rettimes dw 0,0
delay1s endp
; -----------------------------------------
didas equ 18
start: call delay1***it_proc: mov ah,4ch ;結束程式int 21h
code ends
end start ;編譯到此結束
2樓:
是51的彙編麼?晶振頻率是12mhz的,定時器是1ms,迴圈1000為1s,使用是查詢方式,需要中斷方式可以再幫你寫,不知道你要是1s精度要求高不高,我沒有去精確計算,這個不是非常高!!
delay1s:
mov r1,#1000
del_3:
mov th0,#0fch
mov tl0,#18h
setb tr0
del_1:
jbc tf0 del_2
jmp del_1
del_2:
djnz r1 del_3ret
用8086組合語言,編寫延時子程式
3樓:在八寶亭滑行的麵包果
pc的無法計算,影響因素太多了,光靠主頻不能得出確切值的
彙編 延時子程式,組合語言中延時子程式的問題
daily proc near mov cx,2000h d0 mov ax,0ffffh d1 dec ax jz d1 loop d0 daily endp 延時大概是0.33s 其實延時跟cpu有很大關係,不能用軟體精確計算,可以用8254實現,硬體和軟體功能具有邏輯上的等效性。 用delay...
用組合語言編寫程式,用組合語言編寫乙個程式
print macro para 定義乙個巨集,這樣輸出字串的時候,可以省些事兒 lea dx,para mov ah,9 int 21h endm data segment msg1 db 請用拼音輸入姓名學號 格式為 xinming,xuhao buffer db 50,52 dup 0 為什麼...
用組合語言編寫簡單程式,用組合語言編寫一個簡單程式
sweet馮 1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds dat...