怎样显示AX内容到屏幕
你们好啊!,我想问你一个问题:
怎样实现把AX中的内容以十进制显示输出到屏幕呢?
这段代码可行吗?
MOV CX,8
A: SHL AL,1
JC one
MOV DL,30h;'0'
JMP H
one: MOV DL,31h;'1'
H: MOV AH,02h
INT 21h
LOOP A
问题点数:20、回复次数:6Top
1 楼zxy1492(柳暗花明又一坑)回复于 2004-04-04 21:43:14 得分 9
go_on:
mov bx,0ah
div bx
cmp al,0
je finish
mov dh,ah
mov ah,02h
mov dl,al
int 21h
mov ah,0
mov al,dh
jmp go_on
finish:
试试看Top
2 楼zxy1492(柳暗花明又一坑)回复于 2004-04-04 21:53:14 得分 0
少了点^_^
finish:
mov dl,ah
mov ah,02h
int 21hTop
3 楼flashzlm(小正正)回复于 2004-04-04 22:25:30 得分 0
渊源,你好。
光用你的代码就可以吗?我的代码不用了吧?Top
4 楼csdsjkk()回复于 2004-04-04 22:56:08 得分 11
mov dx,-1
push dx
mov cx,10
l1:
mov dx,0
div cx
push dx
or ax,ax
jnz l1
l2:
pop dx
cmp dx,-1
je exit
add dl,'0'
mov ah,2
int 21h
jmp l2
exit:
Top
5 楼flashzlm(小正正)回复于 2004-04-04 23:05:38 得分 0
为什么我用了你们的代码后,在命令提示符(cmd.exe)下执行exe文件都是一行空白呢?(我的OS是win2000)
整个程序代码是:(作用是在给定字符串中找一个空格符号“02H",并且输出该空格的位置)
extra SEGMENT
T DB 'PERSONAL COMPUTER'
extra ENDS
code SEGMENT
ASSUME CS:code ,ES:extra
main PROC FAR
start:
MOV AX,extra
MOV ES,AX
SUB AX,AX
PUSH AX
LEA DI,T
MOV AL,20h
MOV CX,17
CLD
REPNZ SCASb
MOV AX,17
SUB AX,CX
;
MOV DX,-1
PUSH DX
MOV CX,10
l1:
MOV DX,0
DIV CX
PUSH DX
OR AX,AX
JNZ l1
l2:
POP DX
CMP DX,-1
JE exit
ADD DL,'0'
MOV AH,2
INT 21h
JMP l2
exit:
;
RET
main ENDP
code ENDS
END start
会不会是因为windows2000的关系呢?Top
6 楼flashzlm(小正正)回复于 2004-04-05 00:17:30 得分 0
谢谢!我知道了。我在程序里没有加
INT AH,4CH
INT 21H
即:带返回码终止Top




