用汇编语言打出26个字母的大写和小写?

OwQJ 2018-10-08 09:08:43
第一次发帖求助,各位大佬帮帮忙,为什么我运行完会少个大写的 Z ?

...全文
859 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
因为输出小写那部分写完z之后不再写了,当然你修改成跟上面一样的方式更稳妥

OwQJ 2018-10-10
  • 打赏
  • 举报
回复
引用 5 楼 早打大打打核战争的回复:
不是,我认为可以在输出之后立即检测写状态,把
dec r2
jrz 2036
这两条指令移到
jrnc 2030
之后
当然这个2030偏移也要调整一下,应该是202d
请问一下为啥上面要改下面不要改呢?
zara 2018-10-09
  • 打赏
  • 举报
回复
不懂你这个汇编,看流程,大写和小写的没区别,唯一的不同就是输出 Z 后没有能进行等待输出完成的检测直接就开始进行小写的输出了,可能因此导致大写 Z没能输出就又有后面的小写 a来了覆盖了?
  • 打赏
  • 举报
回复
不是,我认为可以在输出之后立即检测写状态,把
dec r2
jrz 2036
这两条指令移到
jrnc 2030
之后
当然这个2030偏移也要调整一下,应该是202d
OwQJ 2018-10-09
  • 打赏
  • 举报
回复
引用 3 楼 DelphiGuy 的回复:
先不管这是啥架构,从 2030 in 81 2031 shr r0 2032 jrnc 2030 来看,它这是带缓冲的写,80是数据端口,81是状态端口,81读入最低位是0表明端口输出已经完成,在此之前不要写80口
所以请问是该将 OUT 80改为OUT 81吗?
  • 打赏
  • 举报
回复
先不管这是啥架构,从
2030 in 81
2031 shr r0
2032 jrnc 2030
来看,它这是带缓冲的写,80是数据端口,81是状态端口,81读入最低位是0表明端口输出已经完成,在此之前不要写80口
OwQJ 2018-10-08
  • 打赏
  • 举报
回复
图片怎么没贴上?再发一次

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧