NASM 어셈블리, 문자열 배열의 처음 4 바이트를 인쇄하는 방법

하리스

If namesis an array of a string of names stored like this : TomBobPeterJim. 각 이름을 어떻게 분리하고 푸시 할 수 있습니까? 각 이름은 4 바이트를 차지합니까? 이것은 내가 시도한 것이지만 전체 줄을 인쇄합니다.

      ;printf("Name %d:\t%s\n",x+1,names[x]);

      mov ecx, dword x
      mov edx, names
      lea ebx, [edx+ecx*4]
      push ebx
      inc ecx
      push ecx
      push szOut
      call _printf
      add esp, 12
rcgldr

각 이름의 끝에 0을 넣어야합니다 (먼저 거기에 문자를 저장하십시오). char * names []가 어셈블시 정의되는 예, Microsoft 구문 :

        .data
name0   db      "Tom"
name1   db      "Bob"
name2   db      "Peter"
name3   db      "Jim"
nameend db      0
szOut   db      "%d %s",00ah,000h
        align   4                       ;put on 4 byte boundary
names   dd      name0, name1, name2, name3, nameend
numnam  dd      ($-names)/4 - 1         ;in this case, numnam == 4
x       dd      0
        .code
        extern  _printf:proc
_main   proc    near
        xor     ebx,ebx                 ;bh == 0
        mov     ecx, x                  ;esi = ptr to name
main0:
        mov     esi, names[ecx*4]
        mov     edi, names+4[ecx*4]     ;edi = ptr to end name
        mov     bl, [edi]               ;save last char
        mov     [edi],bh                ;set zero
        push    esi                     ;display name
        push    ecx
        push    offset szOut
        call    _printf
        add     esp, 12
        mov     [edi],bl                ;restore last char
        inc     x                       ;loop till done
        mov     ecx,x
        cmp     ecx,numnam
        jnz     main0
        xor     eax,eax
        ret

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

nasm 어셈블리 : 문자열이 두 번 인쇄됩니다.

분류에서Dev

NASM x86_64 Linux 어셈블리에서 문자열의 문자를 다른 문자와 비교하는 방법

분류에서Dev

줄 바꿈 Mips 어셈블리 언어없이 문자열을 인쇄하는 방법

분류에서Dev

lldb에서 어셈블리 전역 문자열 변수를 인쇄하는 방법

분류에서Dev

어셈블리 : 인쇄하기 전에 문자열을 편집하는 방법

분류에서Dev

파이썬에서 s 문자열에서 처음 4 바이트를 제거하는 방법

분류에서Dev

어셈블리에서 문자열의 문자를 업데이트하는 방법은 무엇입니까?

분류에서Dev

c 문자열의 처음 x 단어를 자르는 방법?

분류에서Dev

LC-3 어셈블리 언어를 사용하여 별도의 줄에 문자열을 인쇄하는 다른 방법

분류에서Dev

malloc을 사용하여 NASM 어셈블리에서 새 char 배열을 만드는 방법

분류에서Dev

Nasm 어셈블러의 두 문자열을 test 또는 cmp와 올바르게 비교하는 방법 (x64)

분류에서Dev

Javascript를 사용하여 문자열의 처음 4 자리 숫자가 0 인 경우 경고를 생성하는 방법

분류에서Dev

이 4 자리 숫자와 2 개 소수를 인쇄하도록 문자열을 포맷하는 방법

분류에서Dev

배열의 모든 요소를 인쇄하는 어셈블리 코드

분류에서Dev

배열에서 문자열 인덱스 (처음 세 문자)를 찾는 방법

분류에서Dev

Nasm 어셈블러에서 C-printf ()로 특정 수의 바이트 만 인쇄하는 방법은 무엇입니까?

분류에서Dev

문자열 MASM 어셈블리에서 문자의 ASCII 코드를 얻는 방법

분류에서Dev

바이트 값이있는 문자열 배열을 인쇄하는 방법

분류에서Dev

NASM 어셈블리 : 문자열 길이 확인 + 문자열 확인은 '0', '1', '2'로만 구성되어 있습니까?

분류에서Dev

배열에 JavaScript / TScript의 하위 문자열이 포함되어 있음을 확인하는 방법

분류에서Dev

열에서 특정 단어를 검색하는 방법 및 트리거시 처음 4 자 제거

분류에서Dev

LC3 어셈블리-문자열 길이 계산 방법

분류에서Dev

문자열 인쇄 (어셈블리)

분류에서Dev

어셈블리 NASM 포인터없이 검색 트리를 만들고 작업하는 방법

분류에서Dev

If 문을 배열로 어셈블하는 올바른 방법

분류에서Dev

32 비트 NASM 어셈블리에서 VGA를 변경하는 방법

분류에서Dev

문자열에 NodeJS의 하위 문자열 배열의 텍스트가 포함되어 있는지 확인한 다음 배열에서 해당 하위 문자열의 인덱스를 찾는 방법은 무엇입니까?

분류에서Dev

디렉토리에서 첫 번째 및 마지막 파일 이름의 처음 4자를 인쇄하는 방법

분류에서Dev

Raspberry Pi에서 ARM 어셈블리를 사용하여 문자열 길이를 찾는 방법

Related 관련 기사

  1. 1

    nasm 어셈블리 : 문자열이 두 번 인쇄됩니다.

  2. 2

    NASM x86_64 Linux 어셈블리에서 문자열의 문자를 다른 문자와 비교하는 방법

  3. 3

    줄 바꿈 Mips 어셈블리 언어없이 문자열을 인쇄하는 방법

  4. 4

    lldb에서 어셈블리 전역 문자열 변수를 인쇄하는 방법

  5. 5

    어셈블리 : 인쇄하기 전에 문자열을 편집하는 방법

  6. 6

    파이썬에서 s 문자열에서 처음 4 바이트를 제거하는 방법

  7. 7

    어셈블리에서 문자열의 문자를 업데이트하는 방법은 무엇입니까?

  8. 8

    c 문자열의 처음 x 단어를 자르는 방법?

  9. 9

    LC-3 어셈블리 언어를 사용하여 별도의 줄에 문자열을 인쇄하는 다른 방법

  10. 10

    malloc을 사용하여 NASM 어셈블리에서 새 char 배열을 만드는 방법

  11. 11

    Nasm 어셈블러의 두 문자열을 test 또는 cmp와 올바르게 비교하는 방법 (x64)

  12. 12

    Javascript를 사용하여 문자열의 처음 4 자리 숫자가 0 인 경우 경고를 생성하는 방법

  13. 13

    이 4 자리 숫자와 2 개 소수를 인쇄하도록 문자열을 포맷하는 방법

  14. 14

    배열의 모든 요소를 인쇄하는 어셈블리 코드

  15. 15

    배열에서 문자열 인덱스 (처음 세 문자)를 찾는 방법

  16. 16

    Nasm 어셈블러에서 C-printf ()로 특정 수의 바이트 만 인쇄하는 방법은 무엇입니까?

  17. 17

    문자열 MASM 어셈블리에서 문자의 ASCII 코드를 얻는 방법

  18. 18

    바이트 값이있는 문자열 배열을 인쇄하는 방법

  19. 19

    NASM 어셈블리 : 문자열 길이 확인 + 문자열 확인은 '0', '1', '2'로만 구성되어 있습니까?

  20. 20

    배열에 JavaScript / TScript의 하위 문자열이 포함되어 있음을 확인하는 방법

  21. 21

    열에서 특정 단어를 검색하는 방법 및 트리거시 처음 4 자 제거

  22. 22

    LC3 어셈블리-문자열 길이 계산 방법

  23. 23

    문자열 인쇄 (어셈블리)

  24. 24

    어셈블리 NASM 포인터없이 검색 트리를 만들고 작업하는 방법

  25. 25

    If 문을 배열로 어셈블하는 올바른 방법

  26. 26

    32 비트 NASM 어셈블리에서 VGA를 변경하는 방법

  27. 27

    문자열에 NodeJS의 하위 문자열 배열의 텍스트가 포함되어 있는지 확인한 다음 배열에서 해당 하위 문자열의 인덱스를 찾는 방법은 무엇입니까?

  28. 28

    디렉토리에서 첫 번째 및 마지막 파일 이름의 처음 4자를 인쇄하는 방법

  29. 29

    Raspberry Pi에서 ARM 어셈블리를 사용하여 문자열 길이를 찾는 방법

뜨겁다태그

보관