GuyOfHells
22.10.2012, 15:52
Прошуктем кто разбираеться в асм и может помочь пояснить код очень прошу это сделать что да как внем происходит
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
.model small
.stack 100h
.data
txt db 100 dup (0),'0'
.code
print:
mov ah, 9
mov bl, 7
mov cx, 1
int 10h
ret
printf1:
mov ah,9
mov bh,0
mov al, '*'
mov bl,138
mov cx,53
int 10h
ret
printf2:
mov ah,9
mov bh,0
mov al, '|'
mov bl,138
mov cx,1
int 10h
ret
set_cursor:
mov ah, 2
mov bh, 0
int 10h
ret
get_cursor:
mov ah, 3
mov bh, 0
int 10h
ret
hit_key:
mov ah, 0
int 16h
ret
start:
mov ax, @data
mov ds, ax
mov bx, offset txt
xor sp,sp
input_txt:
call hit_key
cmp al, 0
jz output
mov [bx], al
push bx
call print
call get_cursor
inc dl
call set_cursor
pop bx
inc bx
inc sp
cmp sp,50
jz output
jmp input_txt
output:
mov dh,4
xor dl,dl
call set_cursor
call printf1
mov al, '0'
mov [bx], al
mov bx, offset txt
mov dl,1
mov dh,5
call set_cursor
go:
mov al, [bx]
cmp al, '0'
jz exit
push bx
call print
call get_cursor
inc dl
call set_cursor
pop bx
inc bx
jmp go
exit:
mov dh,6
mov dl,0
call set_cursor
call printf1
mov dl,0
mov dh,5
call set_cursor
call printf2
mov dl,52
mov dh,5
call set_cursor
call printf2
mov dh,8
call set_cursor
mov ax, 4c00h
int 21h
end start
Добавлено через 6 минут
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
И сдеськод
.model small
.stack 100h
.code
v_mode:
mov ah,0
mov al,10h
int 10h
ret
ret
set_pixel2: ;синий
mov ah,0ch
mov al,3
ret
;____________________________________________
start:
mov ax,@data
mov ds,ax
call v_mode
mov dx,149
K:
mov cx,50
call set_pixel2
inc dx
int 10h
S:
call set_pixel2
inc cx
int 10h
cmp cx,150
jz exit01
jmp S
exit01:
cmp dx,250
jz exit0
jmp K
exit0:
;___________________________________________
mov ax,4c00h
int 21h
end start
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
.model small
.stack 100h
.data
txt db 100 dup (0),'0'
.code
print:
mov ah, 9
mov bl, 7
mov cx, 1
int 10h
ret
printf1:
mov ah,9
mov bh,0
mov al, '*'
mov bl,138
mov cx,53
int 10h
ret
printf2:
mov ah,9
mov bh,0
mov al, '|'
mov bl,138
mov cx,1
int 10h
ret
set_cursor:
mov ah, 2
mov bh, 0
int 10h
ret
get_cursor:
mov ah, 3
mov bh, 0
int 10h
ret
hit_key:
mov ah, 0
int 16h
ret
start:
mov ax, @data
mov ds, ax
mov bx, offset txt
xor sp,sp
input_txt:
call hit_key
cmp al, 0
jz output
mov [bx], al
push bx
call print
call get_cursor
inc dl
call set_cursor
pop bx
inc bx
inc sp
cmp sp,50
jz output
jmp input_txt
output:
mov dh,4
xor dl,dl
call set_cursor
call printf1
mov al, '0'
mov [bx], al
mov bx, offset txt
mov dl,1
mov dh,5
call set_cursor
go:
mov al, [bx]
cmp al, '0'
jz exit
push bx
call print
call get_cursor
inc dl
call set_cursor
pop bx
inc bx
jmp go
exit:
mov dh,6
mov dl,0
call set_cursor
call printf1
mov dl,0
mov dh,5
call set_cursor
call printf2
mov dl,52
mov dh,5
call set_cursor
call printf2
mov dh,8
call set_cursor
mov ax, 4c00h
int 21h
end start
Добавлено через 6 минут
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
И сдеськод
.model small
.stack 100h
.code
v_mode:
mov ah,0
mov al,10h
int 10h
ret
ret
set_pixel2: ;синий
mov ah,0ch
mov al,3
ret
;____________________________________________
start:
mov ax,@data
mov ds,ax
call v_mode
mov dx,149
K:
mov cx,50
call set_pixel2
inc dx
int 10h
S:
call set_pixel2
inc cx
int 10h
cmp cx,150
jz exit01
jmp S
exit01:
cmp dx,250
jz exit0
jmp K
exit0:
;___________________________________________
mov ax,4c00h
int 21h
end start