首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图用汇编语言对4行字符串进行居中

试图用汇编语言对4行字符串进行居中
EN

Stack Overflow用户
提问于 2021-12-08 06:29:34
回答 1查看 224关注 0票数 1

因此,我在汇编语言中是新的,我试图对4字符串的中心。但我不知道为什么不行。

这些是我在代码中使用的4个字符串。当我运行程序时,str1是唯一到中心的。剩下的在左边。

代码语言:javascript
复制
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, "$"

下面是我使用的代码:

代码语言:javascript
复制
 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
EN

回答 1

Stack Overflow用户

发布于 2021-12-10 00:53:08

MOV,001Ah MOV,02h

这些行调用DOS api函数02h,该函数可以显示DL寄存器中其ASCII代码的字符。您没有使用DL,因此结果将是意外的。

也许您试图使用BIOS api函数02h定位游标。鉴于您的任务描述,这将是有意义的。

在输出每个字符串之前,最好将光标放在正确的位置。不要在字符串中包含回车(13)和linefeed (10),因为它们不再有意义了。

代码语言:javascript
复制
str1 db "ADRIAN PAUL$"
str2 db "BS Computer Science$"
str3 db "09462524725$"
str4 db "macatopaul@gmail.com$"
代码语言:javascript
复制
mov  bh, 0       ; DisplayPage
mov  dx, 0B23h   ; At(35,11)
mov  ah, 02h     ; BIOS.SetCursor
int  10h
mov  dx, OFFSET str1
mov  ah, 09h     ; DOS.PrintString
int  21h

mov  dx, 0C1Eh   ; At(30,12)
mov  ah, 02h     ; BIOS.SetCursor
int  10h
mov  dx, OFFSET str2
mov  ah, 09h     ; DOS.PrintString
int  21h

mov  dx, 0D23h   ; At(35,13)
mov  ah, 02h     ; BIOS.SetCursor
int  10h
mov  dx, OFFSET str3
mov  ah, 09h     ; DOS.PrintString
int  21h

mov  dx, 0E1Eh   ; At(30,14)
mov  ah, 02h     ; BIOS.SetCursor
int  10h
mov  dx, OFFSET str4
mov  ah, 09h     ; DOS.PrintString
int  21h

80x25文本屏幕中心的预期输出:

ADRIAN PAUL BS Computer Science 09462524725 macatopaul@gmail.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70270834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档