【发布时间】:2022-01-13 03:47:41
【问题描述】:
所以我是汇编语言的新手,我正在尝试将 4 个字符串居中。但我不知道为什么它不起作用。
这些是我在代码中使用的 4 个字符串。当我运行程序时,str1 是唯一一个到中心的。剩下的在左边。
str1 db "ADRIAN PAUL", 0AH, 0DH, "$"
str2 db "BS Computer Science", 0AH, 0DH, "$"
str3 db "09462524725", 0AH, 0DH, "$"
str4 db "macatopaul@gmail.com", 0AH, 0DH, "$"
这是我正在使用的代码:
MOV AX, @DATA
MOV DS, AX
MOV AX, 0600H
MOV BH, 07H
MOV CX, 0000H ;CLEAR SCREEN
MOV DX, 184FH
INT 10H
MOV AX, 0600h
MOV BH, 07h
MOV CX, 0000h
MOV DX, 184Fh
INT 10h
MOV AH, 02h
MOV BH, 00h
MOV DH, 0Ch
MOV DL, 24h
INT 10h
MOV AH,09h
MOV DX, OFFSET str1
INT 21h
MOV CX,001Ah
MOV AH, 02h
INT 21h
MOV AH,09h
MOV DX, OFFSET str2
INT 21h
MOV CX,001Ah
MOV AH, 02h
INT 21h
MOV AH,09h
MOV DX, OFFSET str3
INT 21h
MOV CX,001Ah
MOV AH, 02h
INT 21h
MOV AH,09h
MOV DX, OFFSET str4
INT 21h
MOV CX,001Ah
MOV AH, 02h
INT 21h
【问题讨论】:
-
猜测未注释的汇编代码在做什么是困难的,即使对于有经验的程序员来说也是如此。请在您认为他们应该做什么的各个步骤上添加 cmets cmets。
-
如果您不希望光标移回屏幕的第一列,那么您可能不应该使用回车符 (0Dh)。
标签: assembly x86-16 centering bios dosbox