如何8086判断二位字符串数组的尾指针
时间: 2023-06-29 13:13:48 浏览: 66
C语言之字符串典型例题解析
5星 · 资源好评率100%
在8086中,二维字符串数组可以看作是由多个字符串组成的数组,每个字符串又是由多个字符组成的数组。在这种情况下,我们需要使用字符串的结束标志来判断字符串是否结束。
在ASCII码中,字符串的结束标志是0,所以我们可以使用循环来遍历字符串数组,直到找到结束标志为止。当找到结束标志后,我们就可以确定该字符串的尾指针。
下面是一个示例程序,演示如何判断二维字符串数组的尾指针:
```
; 假设字符串数组的首指针存储在SI寄存器中
; 假设字符串数组的末尾有一个0,作为结束标志
mov bx, si ; 将首指针存储到BX寄存器中
mov cx, 0 ; 初始化计数器为0
loop_start:
cmp byte ptr [bx], 0 ; 检查当前字符是否为0
je loop_end ; 如果是0,则说明字符串结束,跳转到loop_end
inc bx ; 否则继续遍历下一个字符
inc cx ; 计数器加1
jmp loop_start ; 跳转到loop_start,继续遍历下一个字符
loop_end:
; 此时,BX寄存器中存储的就是该字符串的尾指针
; CX寄存器中存储的是该字符串的长度(不包括结束标志)
```
在这个示例程序中,我们使用了一个循环来遍历字符串数组,每次检查当前字符是否为0。如果当前字符是0,则说明该字符串已经结束,跳转到loop_end,否则继续遍历下一个字符。当循环结束时,BX寄存器中存储的就是该字符串的尾指针,CX寄存器中存储的是该字符串的长度(不包括结束标志)。
阅读全文