Refactor parallel comms a bit
This commit is contained in:
28
ftp.asm
28
ftp.asm
@@ -1,6 +1,7 @@
|
||||
CPU 8086
|
||||
|
||||
chunksize equ 0x20
|
||||
devicedelay equ 0x08
|
||||
|
||||
_start:
|
||||
push bp
|
||||
@@ -13,24 +14,35 @@ _start:
|
||||
mov bx, [bp-8]
|
||||
mov [bx], byte 0x42
|
||||
l0:
|
||||
cmp word [bp-4], 0xf400
|
||||
cmp word [bp-4], 0xf600
|
||||
jb l1
|
||||
add sp, 8
|
||||
l2:
|
||||
mov sp, bp
|
||||
pop bp
|
||||
ret
|
||||
l1:
|
||||
mov ah, 0x07
|
||||
int 0x80
|
||||
test al, al
|
||||
jnz l1
|
||||
push word [bp-2]
|
||||
push word [bp-4]
|
||||
mov ah, 0x05
|
||||
int 0x80
|
||||
add sp, 4
|
||||
test al, al
|
||||
jz l2
|
||||
mov ah, 0
|
||||
add [bp-4], ax
|
||||
push word [bp-6]
|
||||
push word [bp-8]
|
||||
mov ah, 0x06
|
||||
int 0x80
|
||||
add sp, 4
|
||||
add word [bp-4], chunksize
|
||||
mov cx, 0x200
|
||||
l2: dec cx
|
||||
jnz l2
|
||||
add sp, 8
|
||||
mov cx, devicedelay
|
||||
l3:
|
||||
mov ah, 0x07
|
||||
push cx
|
||||
int 0x80
|
||||
pop cx
|
||||
loop l3 ; give the device some time to answer
|
||||
jmp l0
|
||||
|
Reference in New Issue
Block a user