PORT EQU 0CFA0H ;定义DAC接口地址
CSEG AT 4000H
LJMP START
CSEG AT 4100H
START:
MOV DPTR,#PORT+1;DAC输出寄存器端口地址送DPTR
MOV A,#00H ;给A赋初值
LOOP:
MOV B,#0FFH ;置计数初值与B
LOOP1:
MOV DPTR,#PORT ; DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;地址加一
MOVX @DPTR,A ;启动转换
INC A ;数据加一
CJNE A,#0FFH,LOOP1 ;如果没到峰值,循环转换
MOV A,#00H ;赋A=0
DJNE B,LOOP ;x显示锯齿波
RET
这是51单片机的 和8086差不多 可根据这个程序修改 纯手打的 包括注释 希望楼主采纳 !!O(∩_∩)O
MOV CX,0FFFFH
MOV DX,300H
MOV AL,00H
JCB: OUT DX,AL
INC AL
CALL DY1
LOOP JCB
DY1:MOV BX,DYDA
DY0:DEC BX
JNZ DY0
RET