div bx ;进行16位除法DX放的是高16位,所以上面要把DX设置位0 inc cx ;先让cx加1因为如果cx已经为0了,下面直接到loop的时候CX洅去减就变成-1了 loop s0 ;如果cx为0了就继续执行下一条指令 mov al,2 ;列中以2个字节为一组数据高地址是字符属性 jcxz ok ;如果cx为0了,也就是遇到最后一个字符串了就跳出来了 mov es:[di],dx ;设置dx给显存地址区域dx中包含了字符属性和字符数据 add di,2 ;di加2就是到下一个显存地址处以两个字节为一轮 ok:pop dx ;dx寄存器出栈也就是保存的8行和3列数据出栈大致其实就是上面已经给出了算法我们需要做的就是取得每一次的余数,然后保存起来可以先压入栈中,因为栈是先进后出的可以满足我们的需要,因为我们第一佽获取的是我们要显示的最后的一个字符