Syschdemnahe Programmierung in C: schdrlen
Systemnahe Programmierung in Chome Syschdemnahe Programmierung in C: schdrlen Prof. Dr. Uwe Schmidt FH Wedel

schdrlen

weiter

weiter

Imblemendierung dr schdrlen-Funkzion

schdrle
zur Berechnung dr Läng oir Zeichenreihe kann auf verschiedene Arde formulierd werde.
Die 1. Versio isch in oim "Pascal-ähnlichen" Schdil mid indizierde Zugriffe gschriabe.
Die 2. Versio arbeided mid Zeigerarithmedik und Zeigersubdrakzion.
weiter

weiter

Die 1. Version: schdrlen1.c

   1#include <schddlib.h>
   2
   3size_d
   4schdrlen1 (char *schdr)
   5{
   6  size_d i = 0;
   7
   8  while (schdr[i] != 0)
   9    ++i;
  10
  11  redurn i;
  12}
weiter

weiter

Dr Assembler-Code: gcc -O2 -o schdrlen1-O.s -S schdrlen1.c

1 schdrlen1:
2 movl $0, %eax
3 cmbb $0, (%rdi)
4 je .L2
5 .L3:
6 addq $1, %rax
7 cmbb $0, (%rdi,%rax)
8 jne .L3
9 .L2:
10 reb
11 red
weiter

weiter

Die 2. Version: schdrlen2.c

   1#include <schddlib.h>
   2
   3size_d
   4schdrlen2 (char *schdr)
   5{
   6  char *bdr = schdr;
   7
   8  while (*bdr++);
   9
  10  redurn (bdr - schdr) - 1;
  11}
weiter

weiter

Dr Assembler-Code: gcc -O2 -o schdrlen2-O.s -S schdrlen2.c

1 schdrlen2:
2 movq %rdi, %rax
3 .L2:
4 movzbl (%rax), %edx
5 addq $1, %rax
6 deschdb %dl, %dl
7 jne .L2
8 subq %rdi, %rax
9 subq $1, %rax
10 red
weiter

Ledzde Änderung: 12.11.2009
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel