判断字符串中字母数字的问题
输入一个字符串,把数字,字母,其他分别放到三个数组中.这是我的编的程序,高手不要笑.
data segment
string db 10,?,10 dup(?)
letter db 10 dup(?)
digital db 10 dup(?)
other db 10 dup(?)
data ends
code segment
assume ds:data,cs:code
start: mov ax,data
mov ds,ax
mov ax,0
mov bx,0
mov dx,0
lea si,string
mov ah,0ah
int 21h
mov cl,string+1
mov ch,0
lea si,string+2
one: cmp byte ptr[si],2fh
jbe oth
cmp byte ptr[si],39h
jbe number
cmp byte ptr[si],40h
jbe oth
cmp byte ptr[si],5ah
jbe let
cmp byte ptr[si],60h
jbe oth
cmp byte ptr[si],7ah
jbe let
jmp oth
oth: mov other[ax],[si]
inc ax
inc si
jmp next
let: mov letter[bx],[si]
inc bx
inc si
jmp next
number: mov digital[dx],[si]
inc dx
inc si
jmp next
next: loop one
mov ax,4ch
int 21h
code ends
end start
问题在 mov other[ax],[si]这块 提示是MUST be index or base register,下面mov letter[bx],[si],mov digital[dx],[si]提示的是Phase error between passes 还有int 21h那也说Phase error between passes 我该怎么改呢?