将文本模式屏幕写入文本文件。 (MASM)

时间:2017-05-26 16:13:18

标签: assembly masm

基本上我必须创建一个迷宫并将其存储在一个文本文件中,以便我可以稍后打开它,我已经创建了迷宫部分,但是我生命中的我无法保存它屏幕上显示文本文件的所有内容(即使是空格)我知道我可以使用int 21h将文件写入文件我只是不知道如何将所有内容写入所述文本文件(整个订单屏幕上显示订单中的80行和25列)。

public interface IAbilityScore : IBaseEntity
{
    string Name { get; set; }
}

public interface IBonus<T,K> where T : IBonusable<K>
{
    K Value { get; set; }
}

public interface IBonusable<T>
{
    T Value { get; set; }
}

public interface ICharacterAbilityScore : IBaseEntity, IBonusable<int>
{
    ICharacter Character { get; set; }
    IAbilityScore AbilityScore { get; set; }
    bool IsSaveProficient { get; set; }
}

我使用MASM和dosBOX。

1 个答案:

答案 0 :(得分:0)

接下来是您的代码段和修正中的4个错误:

mov ax,0b800h
mov es,ax
xor si,si     ;◄■■ INITIALIZE SI = 0.
ciclo2:
    mov aL, es:[si]    ;◄■■ CHARACTER IN AL.
    mov aH, es:[si+1]  ;◄■■ COLOR IN AH.
    mov var1, ax
    mov ah,40h
    mov cx,2
;   mov dx,var1       ;◄■■ WRONG : VARIABLE VALUE.
    lea dx,var1       ;◄■■ RIGHT : VARIABLE ADDRESS.
    mov bx,handle
    int 21h
    inc si
    inc si
    cmp si, 4000
    jne ciclo2
fim:

当您阅读文件以显示内容时,请记住屏幕首先包含字符(mov al, es:[si])和后面的颜色(mov ah, es:[si+1]),按顺序显示字节,或者您将看到屏幕上有奇怪的字符和颜色。