用組合語言編寫延時1S的子程式,用組合語言編寫乙個延時1S的子程式

時間 2021-08-14 23:01:27

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...