采用子程序或者宏等多种设计方法编写程序,从键盘输入一字符串(字符数>1), 然后在下一行以相反的次序显示出来(采用9号和10号系统功能调用)。 给出程序设计流程图和设计代码。
时间: 2024-02-29 19:56:20 浏览: 64
以下是程序设计流程图和设计代码:
程序设计流程图:
![程序设计流程图](https://img-blog.csdnimg.cn/20211201162122195.png)
设计代码:
```assembly
assume cs:codesg
datasg segment
buffer db 100 dup(0)
len db 0
datasg ends
codesg segment
start:
mov ax, datasg
mov ds, ax
; 读入字符串
lea dx, buffer
mov ah, 0Ah
int 21h
; 计算字符串长度
mov si, offset buffer + 1
mov cx, 0
mov al, len
sub al, 2
mov len, al
; 字符串反转
mov di, offset buffer + len
mov al, [di]
mov [si], al
inc si
dec di
mov cx, len
reverse:
cmp si, di
jge output
mov al, [di]
mov bl, [si]
mov [si], al
mov [di], bl
inc si
dec di
loop reverse
output:
; 输出反转后的字符串
lea dx, buffer + 2
mov ah, 9
int 21h
; 换行
mov dl, 10
mov ah, 2
int 21h
mov dl, 13
mov ah, 2
int 21h
; 程序结束
mov ah, 4ch
int 21h
codesg ends
end start
```
该程序使用 0Ah 功能调用从键盘读入一字符串,然后使用循环将字符串反转。最后使用 9h 功能调用输出反转后的字符串,并且在下一行输出一个换行符。
阅读全文