Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 用汇编语言8086显示方框_Assembly_Dos_X86 16_Ascii Art - Fatal编程技术网

Assembly 用汇编语言8086显示方框

Assembly 用汇编语言8086显示方框,assembly,dos,x86-16,ascii-art,Assembly,Dos,X86 16,Ascii Art,我费了好大劲才弄明白如何创建一个如下图所示的盒子。 盒子里还有一些文字。我怎样才能做到呢 请参见下面的代码、当前结果和预期结果 代码 当前结果 预期结果应仍具有文本性别、公民身份、性格 如果要继续使用ascii代码绘制框, 请尝试使用以下代码: 在你的问题中你并没有真正说明问题。如果你写一些程序来帮助你画线,而不是简单地写出一个固定的字符串,你会有一个更愉快、更灵活的时间。如果你想有一个滚动窗口,你可能需要编写一些独立于你想显示的内容的图形助手函数。这是最难的部分。从这里开始,打印要显示在框中的

我费了好大劲才弄明白如何创建一个如下图所示的盒子。 盒子里还有一些文字。我怎样才能做到呢

请参见下面的代码、当前结果和预期结果

代码

当前结果

预期结果应仍具有文本性别、公民身份、性格


如果要继续使用ascii代码绘制框, 请尝试使用以下代码:


在你的问题中你并没有真正说明问题。如果你写一些程序来帮助你画线,而不是简单地写出一个固定的字符串,你会有一个更愉快、更灵活的时间。如果你想有一个滚动窗口,你可能需要编写一些独立于你想显示的内容的图形助手函数。这是最难的部分。从这里开始,打印要显示在框中的数据将变得微不足道,因为您已经完成了艰苦的工作。@ThomasJager。对不起,我刚开始学习汇编语言。现在不需要滚动窗口。目前只是一个静态用户界面。无论哪种方式,都有两种方式。您可以使事情变得完全不灵活,并在某些点输出某些字符串以提供所需的外观。更好的方法是创建我在第一篇评论中提到的UI例程。您不必做任何像滚动这样的花哨的事情,但是能够构建UI是一个很好的步骤。然而,这是一个很大的工作。你可以解释多一点,让提问者可以从你的答案中学习!您的代码至少应该使用dup运算符:OUTPUT_HORIZONTAL_LINE DB 10、13、40 dup 205、203、205、187$
.MODEL SMALL
.STACK 100H
.DATA
    OUTPUT_HORIZONTAL_LINE DB 10, 13, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, "$" 
    OUTPUT_GENDER DB 10, 13, "Gender: Male$"
    OUTPUT_CIVIL DB 10, 13, "Civil status: Single$"
    OUTPUT_CHARACTER DB 10, 13, "Character: Neutral$" 
.CODE
    MOV AX, @DATA
    MOV DS, AX

    LEA DX, OUTPUT_HORIZONTAL_LINE
    MOV AH, 09H
    INT 21H

    LEA DX, OUTPUT_GENDER
    MOV AH, 09H
    INT 21H  

    LEA DX, OUTPUT_CIVIL
    MOV AH, 09H
    INT 21H   

    LEA DX, OUTPUT_CHARACTER
    MOV AH, 09H
    INT 21H

    LEA DX, OUTPUT_HORIZONTAL_LINE
    MOV AH, 09H
    INT 21H      

    MOV AH, 4CH
    INT 21H
END   
.MODEL SMALL
.STACK 100H
.DATA
    OUTPUT_HORIZONTAL_LINE DB 10, 13, 205, 40 DUP(205), 203, 205, 187,"$"
    OUTPUT_GENDER DB 10, 13, "Gender: Male",4 DUP(9),32,186,30,186,"$"
    OUTPUT_CIVIL DB 10, 13, "Civil status: Single",3 DUP(9),32,186,219,186,"$"
    OUTPUT_CHARACTER DB 10, 13, "Character: Neutral",3 DUP(9),32,186,31,186,"$" 
    OUTPUT_HORIZONTAL_LINE_S DB 10, 13, 205, 40 DUP(205), 202, 205, 188,"$" 

.CODE
    mov AX, @DATA
    mov DS, AX

    lea DX, OUTPUT_HORIZONTAL_LINE
    mov AH, 09H
    int 21H

    lea DX, OUTPUT_GENDER
    mov AH, 09H
    int 21H  

    lea DX, OUTPUT_CIVIL
    mov AH, 09H
    int 21H   

    lea DX, OUTPUT_CHARACTER
    mov AH, 09H
    int 21H

    lea DX, OUTPUT_HORIZONTAL_LINE_S
    mov AH, 09H
    int 21H       

    mov AH, 4CH
    int 21H
END