//=====================================================
//此程序只适用于51系列单片机,哦
NAME TEST //模块名为test
MSK EQU MSK-1
LVAL EQU 12345678H
VALUE EQU 01H
MASK EQU 01H
P2 EQU 0A0H //定义端口
P3 EQU 0B0H
BUZF BIT P3.4 //定义蜂鸣器
?PR?FOO?TEST SEGMENT CODE //声明段
RSEG ?PR?FOO?TEST //可重定位段
ENTRY: MOV A,#0FDH
SETB BUZF
//宏要先定义后使用哦
CLEAR MACRO FLASH,PutOut //练习宏定义,位PutOut熄灭
MOV C,PutOut
JC NPUT
MOV P2,FLASH
CALL DELAY
CLR BUZF
SJMP $
NPUT: MOV P2,#0FFH
ENDM
LOOP: INC A
MOV P2,A
CALL DELAY
RR A
CALL DELAY
//CLEAR 0,0 //宏调用:定义灯全亮,且不熄灭
CLEAR 0,1 //宏调用:定义灯全亮,且不熄灭
SJMP LOOP
DELAY PROC NEAR //练习子过程“延时”
USING 3 //使用第三组
MOV R5,#0FFH
REL: MOV R6,#0FFH
DJNZ R6,$
DJNZ R5,REL
RET
ENDP
END
//==========================================================
//COED END
介个程序是不是跟8086很类似啊,,超像,唯一不同的地方是
DATA SEGMENT DATA
DB ......
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START :
...............
..................
...............................
CODE ENDS
END START
很久没有写过8086的程序了,上面的8086框架是模糊记忆的.....哈哈,过段时间要考master,复试是要微机原理的,,到时候再加强吧~~~~哈哈 !