汇编语言条件

时间:2014-03-04 01:28:26

标签: assembly x86

在我的作业中,我必须制作一个代码,要求我提供我的名字然后阅读,但名称必须遵守某些条件,例如前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

1 个答案:

答案 0 :(得分:0)

对于大写字母,ascii字符代码必须在0x41和0x5A之间,对于小写字母,ascii字符代码必须在0x61和0x7A之间,用于空格ascii字符代码必须为0x20,对于连字符( - ),ascii字符代码必须为0x2D < / p>