汇编问题求解!
将数据段中的字符转化为大写,然后在第八行第三列显示.大家看下我代码哪里错了啊!assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
stack segment
dw 8 dup(0)
stack ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,8
mov dh,8
mov dl,3
call letterc
call show_str
mov ax,4c00h
int 21h
letterc:push ax
push si
mov ch,0
mov cl,[si]
jcxz s2
s:mov al,[si]
cmp al,'a'
jb s1
cmp al,'z'
ja s1
and al,11011111b
mov [si],al
s1:inc si
jmp letterc
s2:pop si
pop ax
ret
show_str:push ax
push si
push dx
mov ax,0b800h
mov es,ax
mov ax,160
mul dh
mov bx,ax
mov ax,2
mul dl
add bx,ax
mov al,2
mov cl,0
s3:
mov ch,[si]
jcxz s4
mov es:[bx],ch
mov es:[bx+1],al
inc si
add bx,2
jmp s3
s4:pop dx
pop si
pop ax
ret
codesg ends
end begin