user: 这段汇编代码用C语言表示是什么样的:

```asm
<parse_baud_rate>:
  endbr64
  sub    $0x8,%rsp
  call   <atoi@plt>
  cmp    $0x7a120,%eax
  je     L164
  jg     L234
  cmp    $0x4b00,%eax
  je     L214
  jle    L181
  cmp    $0x1c200,%eax
  je     L360
  jle    L47
  cmp    $0x38400,%eax
  je     L236
  cmp    $0x70800,%eax
  jne    L137
  mov    D89(%rip),%rax
  mov    (%rax),%eax
L228:
  add    $0x8,%rsp
  ret
L47:
  cmp    $0x9600,%eax
  je     L147
  cmp    $0xe100,%eax
  jne    L137
  mov    D227(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   (%rax)
L181:
  cmp    $0x960,%eax
  je     L201
  jle    L145
  cmp    $0x12c0,%eax
  je     L195
  cmp    $0x2580,%eax
  jne    L137
  mov    D159(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L234:
  cmp    $0x1e8480,%eax
  je     L484
  jle    L180
  cmp    $0x3567e0,%eax
  je     L39
  jle    L19
  cmp    $0x3d0900,%eax
  jne    L137
  mov    D44(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   0x0(%rax,%rax,1)
L145:
  cmp    $0x12c,%eax
  je     L293
  cmp    $0x4b0,%eax
  jne    L137
  mov    D207(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   0x0(%rax)
L19:
  cmp    $0x2625a0,%eax
  je     L408
  cmp    $0x2dc6c0,%eax
  jne    L137
  mov    D157(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   0x0(%rax)
L180:
  cmp    $0xf4240,%eax
  je     L233
  jle    L8
  cmp    $0x119400,%eax
  je     L383
  cmp    $0x16e360,%eax
  jne    L137
  mov    D196(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   (%rax)
L8:
  cmp    $0x8ca00,%eax
  je     L502
  cmp    $0xe1000,%eax
  jne    L137
  mov    D0(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  nopl   0x0(%rax,%rax,1)
L164:
  mov    D179(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L502:
  mov    D187(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L383:
  mov    D30(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L233:
  mov    D55(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L408:
  mov    D114(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L293:
  mov    D82(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L39:
  mov    D101(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L484:
  mov    D95(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L195:
  mov    D62(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L201:
  mov    D93(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L147:
  mov    D150(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L137:
  mov    D116(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L236:
  mov    D63(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L360:
  mov    D154(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
  xchg   %ax,%ax
L214:
  mov    D192(%rip),%rax
  mov    (%rax),%eax
  jmp    L228
```

assistant: ```c
speed_t parse_baud_rate(char *str) {
  switch (atoi(str)) {
  case 300:
    return B300;
  case 1200:
    return B1200;
  case 2400:
    return B2400;
  case 4800:
    return B4800;
  case 9600:
    return B9600;
  case 19200:
    return B19200;
  case 38400:
    return B38400;
  case 57600:
    return B57600;
  case 115200:
    return B115200;
  case 230400:
    return B230400;
  case 460800:
    return B460800;
  case 500000:
    return B500000;
  case 576000:
    return B576000;
  case 921600:
    return B921600;
  case 1000000:
    return B1000000;
  case 1152000:
    return B1152000;
  case 1500000:
    return B1500000;
  case 2000000:
    return B2000000;
  case 2500000:
    return B2500000;
  case 3000000:
    return B3000000;
  case 3500000:
    return B3500000;
  case 4000000:
    return B4000000;
  default:
    return B0;
  }
}
```