这是我写的1s延时子程序,汇编语言,但是在Keil上显示有错误,请大家帮忙修改一下,谢谢

DELAY:MOV R1,#0AH DELAY0:MOV R2,#0C8H DELAY1:MOV R3,#0F8H NOP DELAY2:DJNZ R3,DELAY2 DJNZ R2,DELAY1 DJNZ R1,DEALY0 RET
2026年09月19日 15:44
有2个网友回答
网友(1):

这个程序通过编译正常运行
代码段
假设CS,DS:代码:代码
; ------------------- ----------------------
;延时子程序指定的时钟周期数
;入口:
;迪达斯=时钟滴答数量(约1秒滴答18.2倍和182倍??,10秒打勾,如果不秒的延迟是几个倍至10倍,误差稍大)
Delay1S近
推DX XOR AX,AX
INT 1AH
MOV时报“,”DX
传送时报[2],CX
Read_Time:XOR AX,AX
INT 1AH
子DX时报
SBB CX时代[2]
CMP DX,迪达斯
JB Read_Time
弹出CX
流行的DX
时报DW 0,0
Delay1S ENDP
; ---------------------------- -------------
迪达斯EQU 18
开始:叫Delay1S
Exit_Proc:MOV AH,4CH;端程序
INT 21H />的代码最终
结束开始,编译结束

网友(2):

看看程序倒数第二行,你写“DJNZ R1,DEALY0”
应该是“DJNZ R1,DELAY0”
该打屁股啊