微机原理与接口技术实验,用汇编语言实现比较两个字符串是否相同。结果存在一个字节里,1代表相同,0代表不同,的代码实现
时间: 2024-03-23 18:40:02 浏览: 61
汇编语言比较两个字符串是否相同
5星 · 资源好评率100%
以下是一个简单的 x86 汇编语言代码实现:
```asm
.model small
.stack 100h
.data
str1 db 100 dup('$')
str2 db 100 dup('$')
result db 1 dup('$')
.code
mov ax, @data
mov ds, ax
; 输入第一个字符串
lea dx, str1
mov ah, 0Ah
int 21h
; 输入第二个字符串
lea dx, str2
mov ah, 0Ah
int 21h
; 比较两个字符串是否相同
mov si, offset str1
mov di, offset str2
mov cx, 100 ; 假设字符串长度不超过 100
cmp_loop:
mov al, [si]
mov bl, [di]
cmp al, bl
jne diff ; 如果不相等,跳转到 diff 标签
inc si
inc di
loop cmp_loop ; 循环比较
; 两个字符串相同,将结果存储为 1
mov result, 1
jmp end_prog
diff:
; 两个字符串不同,将结果存储为 0
mov result, 0
end_prog:
; 输出结果
mov dl, result
mov ah, 2h
int 21h
mov ah, 4ch
int 21h
end
```
假设输入的两个字符串分别为 "hello" 和 "hello",则输出为 "1",代表两个字符串相同。如果输入的两个字符串分别为 "hello" 和 "world",则输出为 "0",代表两个字符串不同。
阅读全文