在我的作业中,我必须制作一个代码,要求我提供我的名字然后阅读,但名称必须遵守某些条件,例如前2个字母必须是大写< / strong>而其他人必须是普通字母 + 名称只能包含26个字母,并且只能包含一个字以外的单词by&#34; &#34;或&#34; - &#34;
还有其他条件,但我可以像处理字符数一样处理它们。虽然对于下面的那些我完全迷失了。我知道我将不得不比较每个角色,但我不知道如何区分大写字母和普通字母,我不知道如何在这里使用ASCII表格。我看到很多汇编语言的例子,但它们看起来不像我使用的那种(当然是结构)
以下是使用以下结构的代码示例:
segment .data
msg: db "Voici la chaine initiale : "
len: equ $-msg
msg1: db "AAAAAAAAAA", 10
len1: equ $-msg1
msg2: db "Entrez l'indice a modifier : "
len2: equ $-msg2
msg3: db "Entrez le nouveau caractere : "
len3: equ $-msg3
msg4: db "Voici la chaine modifiee : "
len4: equ $-msg4
retour: db 10
lecture1 : times 1 db 0
segment .bss
lecture2 : resb 1
segment .text
global _start
_start:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80
mov eax, 4
mov ebx, 1
mov ecx, msg1
mov edx, len1
int 0x80
mov eax, 4
mov ebx, 1
mov ecx, msg2
mov edx, len2
int 0x80
答案 0 :(得分:0)
对于大写字母,ascii字符代码必须在0x41和0x5A之间,对于小写字母,ascii字符代码必须在0x61和0x7A之间,用于空格ascii字符代码必须为0x20,对于连字符( - ),ascii字符代码必须为0x2D < / p>