汇编刚开始,谢谢帮忙
这个程序理论上是显示EE,但是不显示,帮帮忙看看,谢谢。。。!!
STACK SEGMENT STACK 'STACK'
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV AL,10H
MOV CX,4000H
MOV SI,0H
L1:
MOV [SI],AL
MOV BL,[SI]
INC SI
CMP AL,BL
JE L2
MOV DL,01H
JMP L3
L2:
LOOP L1
MOV DL,0EEH
L3:
CALL DISPDL
MOV AH,4CH
INT 21H
DISPDL PROC NEAR
PUSH SI
PUSH DX
XOR SI,SI
ADD SI,3
MOV CX,5
PUSH CX
L4:
XOR DH,DH
MOV CL,4
SHL DX,CL
SHR DL,CL
OR DX,3030H
XCHG DL,DH
MOV AH,02H
INT 21H
XCHG DL,DH
MOV AH,02H
INT 21H
DEC SI
POP CX
LOOP L4
POP DX
POP SI
RET
DISPDL ENDP
CODE ENDS
END START
补充:DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV AL,10H
MOV CX,4000H
MOV SI,0H
L1:
MOV [SI],AL
MOV BL,[SI]
INC SI
CMP AL,BL
JE L2
MOV DL,01H
JMP L3
L2:
LOOP L1
MOV DL,0EEH
L3:
CALL DISPDL
MOV AH,4CH
INT 21H
DISPDL PROC NEAR
PUSH DX
XOR DH,DH
MOV CL,4
SHL DX,CL
SHR DL,CL
ADD DL,37H
ADD DH,37H
XCHG DL,DH
MOV AH,02H
INT 21H
XCHG DL,DH
MOV AH,02H
INT 21H
RET
DISPDL ENDP
CODE ENDS
END START
追问:已经改过了,可以看一下我问题补充。。。这回结果更离谱。。。
我明白了,谢谢!!
答案:L4:
XOR DH,DH
MOV CL,4
SHL DX,CL
SHR DL,CL
ADD DL,37H
ADD DH,37H
XCHG DL,DH
MOV AH,02H
INT 21H
XCHG DL,DH
MOV AH,02H
INT 21H
DEC SI
POP CX
LOOP L4
POP DX
POP SI
RET
DISPDL ENDP
这样改一下就可以了。记住:0-9加上30H,A-F加上37H。要想数字和字母都能显示,最好加个判断。
上一个:汇编语句“shr al ,1”是什么意思? 初学汇编语言有好多不懂的,哪位高手指点一下
下一个:汇编,帮帮忙!!