自己编写了一个利用DAC0832输出三角波的程序请高手指点。。。

wmg494005678 2008-12-20 10:58:48
先给出书上写的输出锯齿波的例子

STACK SEGMENT STACK 'STACK'
DW 32 DUP(0)
STACK ENDS

CODE SEGMENT
START PROC FAR
ASSUME SS:STACK,CS:CODE
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,380H ;DAC0832的端口
AGAIN1:
INC AL ;AL初始值为0,sub ax,ax
OUT DX,AL ;输出AL值
PUSH AX ;保存AX,因为调用十一号功能时用到AL
MOV AH,11
INT 21H
CMP AL,0
POP AX
JZ AGAIN1
RET
START ENDP
CODE ENDS
END START

这是我根据书上的例子自己写的输出三角波的程序,请高手指点。。。

STACK SEGMENT STACK 'STACK'
DW 32 DUP(0)
STACK ENDS

CODE SEGMENT
START PROC FAR
ASSUME SS:STACK,CS:CODE
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,380H ;DAC0832的端口
AGAIN1: ;三角波递增的部分
CMP AL,0FFH
JZ AGAIN2
INC AL ;AL初始值为0,sub ax,ax
OUT DX,AL ;将AL值写到DAC0832并输出
PUSH AX ;保存AX,因为调用十一号功能时用到AL
MOV AH,11 ;检测有无输入
INT 21H
CMP AL,0
POP AX
JZ AGAIN1
AGAIN2: ;三角波递减的程序部分
CMP AL,0 ;判断AL值是否为0,如为0就转到AGAIN1开始递增
JZ AGAIN1
DEC AL
OUT DX,AL ;输出AL
PUSH AX
MOV AH,11 ;调用十一号功能,检测有无输入
INT 21H
CMP AL,0
POP AX
JZ AGAIN2
RET
START ENDP
CODE ENDS
END START
...全文
2183 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoju1234 2011-03-28
  • 打赏
  • 举报
回复
汇编啊,不懂,懂点c语言
q1wertyuiopasdf 2010-06-10
  • 打赏
  • 举报
回复
不会 掉的大

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧