汇编语言编写的程序显示有语法错误
DATA SEGMENT
TIMER DB 4 DUP(0)
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS: CODE,DS:DATA,SS:STACK
START:MOV AX,0
MOV DS,AX
MOV SI,18H
SHL SI,1
SHL SI,1
MOV DX,OFFSET CLOCK
MOV [SI+2],DX
MOV DX,0FF00H
MOV AL,00010011B
OUT DX,AL
MOV DX,0FF01H
MOV AL,00011000B
OUT DX,AL
MOV AL,00000011B
OUT DX,AL
STI
WAIT HLT
JMP WAIT
CLOCK PROC FAR
PUSH AX
PUSH SI
MOV AX,SEG TIMER
MOV DS,AX
MOV SI,OFFSET TIMER
MOV AL,[SI]
INC AL
MOV [SI],AL
CMP AL,50
JNS TREND
MOV AL,0
MOV [SI],AL
MOV AL,[SI+1]
ADD AL,1
DAA
MOV [SI+1],AL
CMP AL,60H
JNZ TREND
MOV AL,0
MOV [SI+1],AL
CMP AL,[SI+2]
ADD AL,1
DAA
MOV [SI+2],AL
CMPAL,60H
JNZ TREND
MOV AL,0
MOV [AL+2],AL
MOV AL,[SI+3]
ADD AL,1
DAA
MOV[SI+3],AL
CMP AL,24H
JNZ TREND
MOV AL,0
MOV [SI+3],AL
TREND:POP SI
POP AX
STI
IRET
CLOCK ENDP
CODE ENDS
END START
补充:就是那个中断的地方有错误,一运行就显示有语法错误
追问:改了这,是可以运行,但是什么也没有显示
答案:已经调试通过的代码
DATA SEGMENT
TIMER DB 4 DUP(0)
DATA ENDS
STACK SEGMENT
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,0
MOV DS,AX
MOV SI,18H
SHL SI,1
SHL SI,1
MOV DX,OFFSET CLOCK
MOV [SI+2],DX
MOV DX,0FF00H
MOV AL,00010011B
OUT DX,AL
MOV DX,0FF01H
MOV AL,00011000B
OUT DX,AL
MOV AL,00000011B
OUT DX,AL
STI
WAIT1:
HLT
JMP WAIT1
CLOCK PROC FAR
PUSH AX
PUSH SI
MOV AX,SEG TIMER
MOV DS,AX
MOV SI,OFFSET TIMER
MOV AL,[SI]
INC AL
MOV [SI],AL
CMP AL,50
JNS TREND
MOV AL,0
MOV [SI],AL
MOV AL,[SI+1]
ADD AL,1
DAA
MOV [SI+1],AL
CMP AL,60H
JNZ TREND
MOV AL,0
MOV [SI+1],AL
CMP AL,[SI+2]
ADD AL,1
DAA
MOV [SI+2],AL
CMP AL,60H
JNZ TREND
;MOV AL,0
;MOV [AL+2],AL
PUSH SI
MOV SI,0
MOV AL,0
MOV [SI+2],AL
POP SI
MOV AL,[SI+3]
ADD AL,1
DAA
MOV[SI+3],AL
CMP AL,24H
JNZ TREND
MOV AL,0
MOV [SI+3],AL
TREND:POP SI
POP AX
STI
IRET
CLOCK ENDP
CODE ENDS
END START
其他:汇编语言是符号语言,计算机直接执行的语言只有机器语言,汇编语言执行过程如下: 1、编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM),如:LX.ASM 汇编语言执行过程如下: 1、编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM),如:LX.ASM 汇编语言是符号语言,计算机直接执行的语言只有机器语言 O(∩_∩)O~ 吃饭刚吃饭 编写了这许多的代码,想要干什么?
上一个:qiu利用汇编语言编程显示一个等腰三角形
下一个:汇编语言设计从键盘输入一个四位的十六进制数,并在终端上显示出与它等值的二进制数 编写思路和流程图