Не работает часть программы формирующая на экране монитора изображение флага - Assembler
Формулировка задачи:
Не работает часть программы формирующая на экране монитора изображение флага, написано в fasm, вот код
при нажатии клавиши f должен показывать флаг
format MZ CurrVideoMode = 0xf00 VideoMode_GR640_350 = 0x10 IntVideo = 0x10 start: mov ax,VideoMode_GR640_350 int IntVideo mov ah,00 int 0x16 cmp ah,0x01 JE exit cmp ah,0x21 JE flag cmp ah,0x30 JE name cmp ah,0x4b JE left cmp ah,0x4d JE right cmp ah,0x48 JE up cmp ah,0x50 JE down cmp ah,0x1e JE family JNE start left: mov al,0x1b mov ah,09 mov bl,01 mov cx,1 int 10h mov ah,00 int 0x16 jmp start right: mov al,0x1a mov ah,09 mov bl,01 mov cx,1 int 10h mov ah,00 int 0x16 jmp start up: mov al,0x18 mov ah,09 mov bl,01 mov cx,1 int 10h mov ah,00 int 0x16 jmp start down: mov al,0x19 mov ah,09 mov bl,01 mov cx,1 int 10h mov ah,00 int 0x16 jmp start name: mov al,65 mov ah,09 mov bl,01 mov cx,1 int 10h mov dl,2 mov dh,0 mov ah,2 int 10h mov al,78 mov ah,09 mov bl,02 mov cx,1 int 10h mov dl,4 mov dh,0 mov ah,2 int 10h mov al, 68 mov ah, 09 mov bl, 03 mov cx, 1 int 0x10 mov dl,6 mov dh,0 mov ah,2 int 10h mov al, 82 mov ah, 09 mov bl, 04 mov cx, 1 int 0x10 mov dl,8 mov dh,0 mov ah,2 int 10h mov al, 69 mov ah, 09 mov bl, 05 mov cx, 1 int 0x10 mov dl,10 mov dh,0 mov ah,2 int 10h mov al, 89 mov ah, 09 mov bl, 06 mov cx, 1 int 0x10 mov ah,00 int 0x16 pop ax xor ah,ah int IntVideo JE start flag: mov bx, 0000 mov ah, 0x0c mov al, 01 mov dx, 0x19 mov cx, 0x14 v: int 10h inc cx cmp cx, 0xDC jne v mov cx, 0x14 inc dx cmp dx, 0x150 jne v mov al, 15 mov dx, 0x19 mov cx, 0xDC w: int 10h inc cx cmp cx, 0x1A4 jne w mov cx, 0xDC inc dx cmp dx, 0x150 jne w mov al, 04 mov dx, 0x19 mov cx, 0x1A4 s: int 10h inc cx cmp cx, 0x26C jne s mov cx, 0x1A4 inc dx cmp dx, 0x150 jne s mov ah,00 int 0x16 jmp start family: mov al,77 mov ah,09 mov bl,01 mov cx,1 int 10h mov dl,2 mov dh,0 mov ah,2 int 10h mov al,79 mov ah,09 mov bl,02 mov cx,1 int 10h mov dl,4 mov dh,0 mov ah,2 int 10h mov al, 82 mov ah, 09 mov bl, 03 mov cx, 1 int 0x10 mov dl,6 mov dh,0 mov ah,2 int 10h mov al, 68 mov ah, 09 mov bl, 04 mov cx, 1 int 0x10 mov dl,8 mov dh,0 mov ah,2 int 10h mov al, 86 mov ah, 09 mov bl, 05 mov cx, 1 int 0x10 mov dl,10 mov dh,0 mov ah,2 int 10h mov al, 73 mov ah, 09 mov bl, 06 mov cx, 1 int 0x10 mov dl,12 mov dh,0 mov ah,2 int 10h mov al, 78 mov ah, 09 mov bl, 07 mov cx, 1 int 0x10 mov dl,14 mov dh,0 mov ah,2 int 10h mov al, 79 mov ah, 09 mov bl, 05 mov cx, 1 int 0x10 mov dl,16 mov dh,0 mov ah,2 int 10h mov al, 86 mov ah, 09 mov bl, 06 mov cx, 1 int 0x10 mov ah,00 int 0x16 pop ax xor ah,ah int IntVideo JE start exit: int 0x20
При нажатии клавиши f просто черный экран
Решение задачи: «Не работает часть программы формирующая на экране монитора изображение флага»
textual
Листинг программы
;format MZ CurrVideoMode = 0xf00 VideoMode_GR640_350 = 0x10 IntVideo = 0x10 org 100h start: mov ax, VideoMode_GR640_350 int IntVideo mov si, param mov cx, 3 @@: lodsw push cx mov bx,ax lodsw mov cx,ax lodsw mov dx,ax mov ax, 600h int 10h ; ; xor ax,ax ; int 16h ; pop cx loop @B xor ax,ax int 16h mov ax, 3 int 10h int 20h ; цвет, Y1X1 , Y2X2 param: dw 01100h, 0001h, 191Bh dw 0FF00h, 001Ch, 1935h dw 04400h, 0036h, 194Fh
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д