为什么我们在消息DB 10,13, 'foo $'中使用10,13?
Why do we use 10,13 in message DB 10,13, 'foo $'?
这是用汇编语言为 8086 编写的代码 microprocessor.This 查找数字是正数还是负数的代码。我理解代码,但无法理解该代码的第 4 行和第 5 行。
;FIND A NUMBER THAT WAS POSITIVE OR NEGETIVE
DATA SEGMENT
X DW 28H
MSG1 DB 10,13, 'NUMBER IS POSITIVE $'
MSG2 DB 10,13, 'NUMBER IS NEGETIVE $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
ROL AL, 01H
JC NEGA
LEA DX, MSG1
JMP LAST
NEGA:
LEA DX, MSG2
LAST:
MOV AH, 09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
为什么他们在第 4 行和第 5 行的 MSG1 DB 之后使用 10,13?
由于内部服务器错误的注释表明 10
是换行的 ASCII 控制代码,而 13
是回车代码 return。换行控制代码将光标移动到下一行,而回车 return 代码将光标移动到行首。两个控制代码一起将光标移动到下一行的开头。
这两个控制代码一起也构成了标准的 MS-DOS 行结束序列,不同的顺序除外。换句话说,序列 13, 10
是标准的 MS-DOS 行结尾。虽然在示例程序中以错误的顺序排列它们可能不会产生任何实际差异,但您应该在自己的程序中使用正确的顺序。这将确保其他可能读取您程序输出的程序不会混淆。
这是用汇编语言为 8086 编写的代码 microprocessor.This 查找数字是正数还是负数的代码。我理解代码,但无法理解该代码的第 4 行和第 5 行。
;FIND A NUMBER THAT WAS POSITIVE OR NEGETIVE
DATA SEGMENT
X DW 28H
MSG1 DB 10,13, 'NUMBER IS POSITIVE $'
MSG2 DB 10,13, 'NUMBER IS NEGETIVE $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
ROL AL, 01H
JC NEGA
LEA DX, MSG1
JMP LAST
NEGA:
LEA DX, MSG2
LAST:
MOV AH, 09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
为什么他们在第 4 行和第 5 行的 MSG1 DB 之后使用 10,13?
由于内部服务器错误的注释表明 10
是换行的 ASCII 控制代码,而 13
是回车代码 return。换行控制代码将光标移动到下一行,而回车 return 代码将光标移动到行首。两个控制代码一起将光标移动到下一行的开头。
这两个控制代码一起也构成了标准的 MS-DOS 行结束序列,不同的顺序除外。换句话说,序列 13, 10
是标准的 MS-DOS 行结尾。虽然在示例程序中以错误的顺序排列它们可能不会产生任何实际差异,但您应该在自己的程序中使用正确的顺序。这将确保其他可能读取您程序输出的程序不会混淆。