求编程语言大神逐句翻译,以下是一段显示程序和一段回车换行程序

显示程序如下:

回车换行程序:
额,是汇编语言

用文字给出程序,便于写入注释。

文字,可以放在你自己的百度空间。追问

那啥,怎么放进百度空间啊?哦,好了。我已经上传到百度空间了

追答

DISP PROC NEAR ;自定义DISP过程
PUSH CX
PUSH BX
PUSH DX   三行压栈,保护现场

XOR CX, CX  令CX=0
NEXT_DIV:
XOR DX, DX  令DX=0
MOV BX, 10 设定除数

DIV BX DX_AX / BX = AX...DX

PUSH DX 保存余数,即个位数
INC CX 位数加一

CMP AX, 0 与0比较
JE D_END 相等就转移

JMP NEXT_DIV 不为0则继续去除以10

上面,循环除以10,直到AX=0。
余数,在DX,即为:个位、十位、百位...,
都压栈了。
CX,位数
;-----------------------
下面是显示。

D_END:
POP DX   取出最后压栈的,比如说是百位数
ADD DL, 30H 变成 ASCII 码

MOV AH, 2  这两行是显示DL内容
INT 21H

LOOP D_END  CX-1,非零转移到前面,去显示十位数

按照 CX 来循环,依次显示出来百位、十位、个位。

MOV AH, 2   2 号功能调用,是显示 DL 的内容
MOV DL, ' '  这三行,显示一个空格
INT 21H

POP DX   三行,恢复现场
POP BX   弹出次序,要和压栈次序相反
POP CX
RET     返回主程序
DISP ENDP   过程结束

CRLF PROC NEAR ;自定义过程
PUSH AX
PUSH DX
MOV AH, 2   2 号功能调用,显示 DL 的内容
MOV DL, 0DH  这三行,显示0D,回车符
INT 21H
MOV DL, 0AH  这两行,显示0A,换行符
INT 21H
POP DX
POP AX
RET    返回
CRLF ENDP   过程结束

CODES ENDS 代码段结束

END START 全部程序结束,从 START 开始执行

字数超了,删了一些。

觉得没有说明白,还可以追问。

追问

大神啊,我膜拜你,来来来,财富值拿好,辛苦你了

追答

DISP 过程的功能是:以十进制数,显示 AX 中的内容。
显示数字之后,还显示了一个空格。

DIV BX,是 32 位数除以 16 位数。
即: DX_AX / BX = AX...DX
商在 AX,余数在 DX。

CRLF 过程的功能是,显示回车、换行。

温馨提示:答案为网友推荐,仅供参考
相似回答