Найти ошибки в коде - Assembler

Узнай цену своей работы

Формулировка задачи:

вот текст программы, переписывал с примера пишу tasm name.asm и вот выводит ошибки но в примере точь в точь так, в чем же ошибка то ?

Решение задачи: «Найти ошибки в коде»

textual
Листинг программы
; masm dos com #
.model TINY
.code
.286
org 100H
StarsT: push sp
    pop DX
    cmp DX,SP
    jz Is286
    lea DX, PCN
    jmp LastHi
Is286:  mov AX, 1A00h
    int 10h
    cmp AL,1Ah
    jne Bye
    lea DI, Starss
    mov CX, 600
    xor AL, AL
    rep stosw
    mov AX,13h
    int 10h
    lea SI, Starss
    call LoadP
    mov AX,0A000h
    mov ES, AX
Hiding: call AdvS
    dec  Numbers
    jnz Hiding
    mov AH, 2
    xor BH, BH
    mov DX, 80Eh
    int 10h
    lea SI, World
    mov CX, 16
UUsTa:  mov AH, 0Eh
    mov BL, 7
    lodsb
    int 10h
    dec Tot
    loop UusTa
    lea SI, Colore
    call LoadP
Vell:   mov CX, 1000
Ikka:   call WaitV
    loop Ikka
    mov AX, 0f000h
    mov DS, AX
    mov SI, 0fA6Eh
    call Scrool
    call AdvS
    mov AH, 1
    int 16h
    jz Vell
    xor AH, AH
    int 16h
    mov AX,3
    int 10h
Bye:    ret
LastHi: mov AH, 9
 int 21h
 ret
Advs: xor SI, SI
NextS:  mov DI,[Starss.OldDi+SI]
 mov AL,[Starss.OldC+SI]
 mov ES:[DI], AL
 mov DI,[Starss.X+SI]
 cmp [Starss.X+SI], 320
 jg SOut
 cmp [Starss.X+SI], 0
 jne GoodS
SOut: mov CX, 190
 call Random
 mov [Starss.Y+SI],DX
 mov CX, 5
 call Random
 inc DL
 mov [Starss.Speed+SI], DL
 mov [Starss.X+SI], 1
mov DI,[Starss.X+SI]
 
GoodS: mov BX, [Starss.Y+SI]
 mov AX, 320
 mul BX
 add DI, AX
 mov BL, [Starss. Speed+SI]
 xor BH, BH
 add [Starss.X+SI], BX
 add DI, BX
    mov AL,byte ptr ES:[DI]
    cmp AL, 7
 je Red 
 mov [Starss.OldC+SI], 0
 jmp NotOK
Red:    mov [Starss.OldC+SI], AL
NotOK:  mov byte ptr ES:[DI], BL
    mov [Starss.OldDI+SI], DI
    add SI, size Stars
    cmp SI, 400
    jng NextS
Alld: ret
Random: push BX
 mov AX, Seed
 mov BX, 9821
 imul BX
 inc AX
 ror AL, 1
 add AX, 8191
 rol AH, 1
 mov Seed, AX
 xor DX, DX
 div CX
 pop BX
 ret
WaitV: mov DX, 3dah
@@1: in AL, DX
 test AL, 8
 jnz @@1
@@2: in AL, DX
 test AL, 9
 jz @@2
 ret
LoadP: mov DX, 3c8h
 mov AL, 1
 out DX, AL
 inc DX
 mov CX, 7*3
 rep outsb
 ret
Nexton: lodsb
 mov BL, 1
 shl BL, CL
 and AL, BL
 jz NoPix
 mov byte ptr ES:[DI], 7
NoPix: add DI, 320
 dec DL
 jnz Nexton
 dec Reid
 cmp Reid, 0
 jne Edasi
 mov Reid, 8
 inc Tot
 cmp [Tot], 330
 jne Edasi
 mov [Tot], 0
Edasi: ret
 
Scrool: cld
 push Es
 pop DS
 mov BL, 8
 mov SI, 61442
 mov DI, 61441
UUsrid: mov CX, 319
 rep movsb
 inc SI
 inc DI
 dec BL
 jnz Uusrid
 ret
World db 'Welcom by Intro$'
Tot dw 14
Reid db 8
Seed dw 9821
StrN db 0
Numbers db 255
Colore db 20, 20, 20
       db 30, 30, 30
       db 35, 35, 35
       db 40, 40, 40
       db 50, 50, 50
       db 63, 63, 63
       db 63, 0,  0
PCN db 'Izvinite, no y vas slabui kompyter...', 10, 13, '$'
Stars STRUC
 X dw ?
 Y dw ?
 OldDI dw ?
 OldC db ?
 Speed db ?
Stars ENDS
Starss Stars <!--?-->
END StarsT

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы