PDA

Просмотр полной версии : [Помогите!] Нужна срочная помощь по асемблеру


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