汇编输入并显示字符串长度
时间: 2023-11-11 22:05:10 浏览: 99
下面是使用 x86 汇编语言实现输入并显示字符串长度的代码:
```
section .data
message db '请输入一个字符串:', 0
length db '字符串长度为:', 0
buffer db 255
newline db 10, 0
section .bss
count resb 1
section .text
global _start
_start:
; 输出提示消息
mov eax, 4
mov ebx, 1
mov ecx, message
mov edx, 17
int 0x80
; 读取用户输入的字符串
mov eax, 3
mov ebx, 0
mov ecx, buffer
mov edx, 255
int 0x80
; 计算字符串长度
mov eax, 0
mov ecx, buffer
mov ebx, 0
.loop:
cmp byte [ecx+ebx], 0
je .done
inc eax
inc ebx
jmp .loop
.done:
mov [count], al
; 输出字符串长度
mov eax, 4
mov ebx, 1
mov ecx, length
mov edx, 14
int 0x80
mov eax, 4
mov ebx, 1
mov ecx, count
mov edx, 1
int 0x80
; 输出换行符
mov eax, 4
mov ebx, 1
mov ecx, newline
mov edx, 1
int 0x80
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
```
该程序先输出提示消息,然后通过 `read` 系统调用读取用户输入的字符串,然后使用循环计算字符串长度,并将结果存储在 `count` 变量中。最后,程序输出字符串长度和换行符,并退出。