第一个月的前两行被切断,我不知道为什么。如果您切换正在打印的订单或删除四月份,这并不重要;如果你这样做,也可能会被切断。我在程序集中以日历格式打印月份(使用dosbox的tasm)。我的第一个月不断被切断
.model tiny
.data
Apr db " April 2017 ",13,10
db "Sun Mon Tue Wed Thu Fri Sat",13,10
db " 1 ",13,10
db " 2 3 4 5 6 7 8 ",13,10
db " 9 10 11 12 13 14 15 ",13,10
db "16 17 18 19 20 21 22 ",13,10
db "23 24 25 26 27 28 29 ",13,10
db "30 ",13,10,0
May db " May 2017 ",13,10
db "Sun Mon Tue Wed Thu Fri Sat ",13,10
db " 1 2 3 4 5 6 ",13,10
db " 7 8 9 10 11 12 13 ",13,10
db " 14 15 16 17 18 19 20 ",13,10
db " 21 22 23 24 25 26 27 ",13,10
db " 28 29 30 31 "
.code
org 100h
print :
mov ah,9
int 21h
ret
end print
start:
lea dx,Apr
call print
lea dx,May
call print
mov ah, 4ch
int 21h
end start
正如'int 21h/ah = 9'的文档中指定的那样,字符串应该以''$''结尾。 – Michael
'.MODEL tiny','组织100h'(.COM程序)和'.data',''.CODE(.EXE程序)不匹配。你建立.COM程序还是.EXE程序?显示您构建程序的命令行。 – rkhb
添加'$'也没有帮助。它实际上使情况变得更糟,因为只有一行正在打印:16 17 18 19 20. – ajstc