解释下面汇编代码
设计一个小程序, 用次数控制在终端屏幕上输出'0'到'9'十个数字符。
从地址2020H 开始输入下列程序:
2020:MVRD R2,00OA ;送入输出字符个数
2022:MVRD R0,0030 ;“0” 的ASCII 码送寄存器R0
2024:OUT 80 ;输出保存在R0 低位字节的字符
2025:DEC R2 ;输出字符个数减1
2026:JRZ 202E ;判10 个字符输出完否,已完,则转到程序结束处
2027:PUSH R0 ;未完,保存R0 的值到堆栈中
2028:IN 81 ;查询接口状态,判字符串输出完否,
2029:SHR R0 ;
202A:JRNC 2028 ;未完成, 则循环等待
202B:POP R0 ;已完成, 准备输出下一字符并从堆栈恢复R0 的值
202C:INC R0 ;得到下一个要输出的字符
202D:JR 2024 ;转去输出字符
202E:RET
202F:↙
不太了解汇编语言,帮忙解释一下2024:OUT 80,R0低位字节字符指什么,保存R0的值到堆栈怎么理解