这个密码对我不起作用。我的目标是要求用户字符串输入,转换为大写字母,并将它们逐个存储在数组中,然后将字符(即所有大写的字符)输出回用户。请帮助我:
org 100h
mov bl, 0
mov ah, 9
mov dx, input
int 21h
again:
mov ah, 1
int 21h
sub al, 20h
mov [inp+bl], al
inc bl
cmp bl, 2
jle again
loops:
mov bl, 0
mov ah, 2
mov dl, [inp+bl]
int 21h
inc bl
cmp bl, 2
jle loops
mov ax, 4Ch
int 21h
input db 'Input: ',24h
output db 'Output: ',24h
inp db 20 dup(?), 24h发布于 2018-03-15 16:17:52
mov inp+bl,al
这里的主要问题是您使用的寻址模式根本不存在!
如果将BL的每个实例更改为BX,则可以快速更正代码。
mov bx, 0
mov ah, 9
mov dx, input
int 21h
again:
mov ah, 1
int 21h
sub al, 20h
mov [inp+bx], al
inc bx
cmp bx, 2
jle again
loops:
mov bx, 0
mov ah, 2
mov dl, [inp+bx]
int 21h
inc bx
cmp bx, 2
jle loops亚al,20h
也许您已经对代码进行了过度简化,因为只有当用户只键入小写、、.z、和其他任何内容时,这种大写化才会起作用。
https://stackoverflow.com/questions/48721965
复制相似问题