(汇编程序问题)请教各位老师~~!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 02:27:31
这个是我自己编的2进制和十进制的转化程序~~为什么运行不出来呢??
请老师们指点指点~~~~谢谢
DATA SEGMENT
TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
SHUZI DW 1110011B
SHUMA DB 0,0,0,0,0,0,0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,SHUZI
LEA SI,SHUMA
MOV AX,CX
MOV DI,7
STA: CWD
DIV 000AH
MOV [SI],DX
INC SI
DEC DI
JNZ STA
STA1:LEA BX,TABLE
LEA SI,SHUMA
MOV AH,1
MOV DI,5
STA2:MOV AX,[SI]
XLAT
MOV DX,8004H
OUT DX,AL
MOV DX,8002H
MOV AL,AH
OUT DX,AL
ROL AH,1
INC SI
MOV CX,01FFH
LOOP $
DEC DI
JNZ STA2
JMP STA1
CODE ENDS
END START
今天上机调试了,代码是错了好多,,谢谢各位老师的帮助啊~~!!!
这个是我今天做的啊~~~! 能运行了
说不定大家能用上哦
SHU

MOV CX,01FFH/LOOP $;延时而已
JMP STA1 ;循环显示
数码管,我不懂。
楼主的除10取余法独具创意,只是SHUZI稍大,就出现溢出错误。
下面是在DOS中能显示的,你可参照修改你的程序。

DATA SEGMENT ;※Masm5.0编译通过※
TABLE db 30h,31h,32h,33h,34h,35h,36h,37h;'01234567'
db 38h,39h,41h,42h,43h,44h,45h,46h ;'89ABCDEF'
SHUZI DW 0ffffh;你可仍改回DW 1110011B;0073h=00115d
Table1 DW 10000,1000,100,10,1
SHUMA db 6 dup (0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV ax,SHUZI
LEA SI,SHUMA
xor bx,bx
mov cx,5 ;最多5位,65535
STA: xor dx,dx
div word ptr [bx+Table1]
MOV [si],al
mov ax,dx
INC SI
inc bx
inc bx
loop STA
STA1:LEA BX,TABLE
LEA SI,Shuma ;找数串头
MOV AH,1
MOV DI,5
STA2:MOV AX,[SI]
XLAT
call Show
inc si
MOV CX,01FFH
LOOP $ ;延时
DEC DI
JNZ STA2

mov ah,0
int 16h;等待
mov ah,4ch
int 21h;结束