只在一行中打印字符串,并且很难理解代码.(TASM / DOSbox)



所以我目前正在尝试我的老师的指示,并一步一步地尝试。我甚至试着复制他的错误,这样我就可以看看我的任务是否和他的一样。现在我们有一个练习,我们需要在3个不同的层次上输出cas。有人可以向我解释一下这些是什么意思,以及我如何能够打印这三个"大小写"吗?在从右上到左下的对角线上的三层?

.model small
.code
org 100h
start: jmp main
mess 1 db"CAS$"
mess 2 db"CAS$"
mess 1 db"CAS$"
main proc near
mov ax,03
int 10h
mov ah,05
mov bh,05
mov dh,05
mov dl,05
int 10h
mov ah,09
mov cx,03
mov bl,42h
int 10h
mov ah,09
mov dx,offset mess1
int 21h
mov ah,02
mov bh,00
mov dh,12
mov dl,40
int 10h
mov ah,09
mov cx,03
mov bl,42h
int 10h
mov ah,09
mov dx,offset mess2
int 21h
mov ah,02
mov bh,00
mov dh,12
mov dl,40
int 10h
mov ah,09
mov cx,03
mov bl,42h
int 10h
mov ah,09
mov dx,offset mess3
int 21h
int 20h
main endp
end start
看,我真的不明白我在这里做什么,因为我只是听从老师的工作。他并没有很好地解释,只是一步一步地向我们展示过程,而没有解释他在做什么和为什么做。我在这里唯一知道的是cx是字符数,bh是文本的背景颜色?希望有人能帮助我解决我的问题!看,我真的不明白我在这里做什么,因为我只是听从老师的工作。他并没有很好地解释,只是一步一步地向我们展示过程,而没有解释他在做什么和为什么做。我在这里唯一知道的是cx是字符数,bh是文本的背景颜色?希望有人能帮助我解决我的问题!

默认情况下不会出现换行。您需要手动添加它们。我更喜欢的方法是将它们直接放入字符串中。

mess1 db "cas",13,10,'$'
mess2 db " cas",13,10,'$'
mess3 db "  cas",13,10,'$'

如果你连续打印这些,你应该得到:

cas
cas
cas

最新更新