汇编语言 如何倒序输出hello world

 我来答
NJGQZF
2015-04-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1339万
展开全部
三个方法:1、定义字符串时倒序。2、一个一个字符发,寻址时偏移量指向字符串末端,发一个字符偏移量减一。3、倒序迁移字符串到内存再发送。
anan640925
2015-10-06 · TA获得超过5421个赞
知道大有可为答主
回答量:4868
采纳率:51%
帮助的人:1166万
展开全部
两种方法,一种是你输入的时候就人工倒序,最为简单

另一种是输出的时候从尾端开始输出,

或者把数组的信息先倒序后,然后输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcbjoy
推荐于2016-10-21 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2336万
展开全部
code  segment
      assume cs:code
      org 100h
start:
      jmp bbb
      nop
msg   db 250 dup(' '),'$'
lfcr  db 10,13,'$'
msg1  db 254 dup(' ')

bbb:
      push cs
      pop ds
      lea bx,msg
      mov cl,0
l1:
      mov ah,1  ;读键盘字符
      int 21h
      cmp al,13
      je l2
      mov byte ptr[bx],al  ;逐个存入msg
      inc bx
      inc cl      ;字符计数
      jmp l1
l2:
      dec bx
      lea dx,lfcr
      mov ah,9
      int 21h
        
      lea di,msg1
ll3:
      mov al,byte ptr[bx]  ;倒序取字符
      mov byte ptr[di],al  ;顺序存字符
      inc di
      dec bx
      dec cl
      jnz ll3
      
      mov byte ptr[di],10
      mov byte ptr[di+1],13
      mov byte ptr[di+2],'$'
      
      lea dx,msg1
      mov ah,9       ;输出
      int 21h
      mov ah,4ch
      int 21h
code  ends
      end start



程序运行示例如下:

C:\FUTURE~1\FASM\OUT>z2a
1234567890-=poiuytrtrewqasdfghjkl;'.,mnbvcxz
zxcvbnm,.';lkjhgfdsaqwertrtyuiop=-0987654321

C:\FUTURE~1\FASM\OUT>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-04
展开全部
这个是比较简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式