当前位置:   article > 正文

汇编程序:将字符串倒序输出_汇编语言输入字符串反序输出

汇编语言输入字符串反序输出

【任务】
  程序功能:从键盘上输入一个字符串,以$结束,将字符串倒序输出(字符串不超过80个字符)。
  输入样例:abcd#1234 efg$
  输出样例:gfe 321#dcba
  算法要求:逐个输入字符(21H中断的01H功能)并压栈,遇$后,将字符出栈按倒序写入数据区,输出字符串(21H中断的09H功能)
  技术要求:用.data、.code等伪指令,写“简洁型”程序

【参考解答】

.8086
.MODEL small
.data
  str db 81 dup ('$')   ;初始全$,前面加任意字符后均可结束
.stack 100H
.code
start: mov ax,@data
       mov ds,ax

       mov cx, 0

input: mov ah, 01    ;输入字符并压栈,直到¥
       int 21h
       cmp al, '$'
       je reverse
       push ax       ;实际关心的,只是al中的字符
       inc cx
       jmp input

reverse:             ;反转并存储
       lea bx,str
       mov si, 0
b_rev:
       pop ax
       mov [bx+si], al  ;将从栈中倒序取出的数据存储下来
       inc si
       loop b_rev

output:
       lea dx,str  ;字符串的起始地址放dx
       mov ah, 09h
       int 21h     ;输出

 stop: mov ax,4c00h
       int 21h
end start

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/215337
推荐阅读
相关标签
  

闽ICP备14008679号