|
|
@@ -3,16 +3,41 @@ SYS_READ equ 3
|
|
|
SYS_WRITE equ 4
|
|
|
STDIN equ 0
|
|
|
STDOUT equ 1
|
|
|
+SYS_IOCTL equ 54
|
|
|
+
|
|
|
+section .bss
|
|
|
+ sz RESW 4 ; 4 byte for window size
|
|
|
|
|
|
section .text
|
|
|
global _start
|
|
|
|
|
|
_start:
|
|
|
-
|
|
|
+ ; get windwo size
|
|
|
+ mov eax, SYS_IOCTL ; syscall ioctl
|
|
|
+ mov ebx, STDOUT ; stdout for something?
|
|
|
+ mov ecx, 0x5413 ; get windowsize command TIOCGWINSZ
|
|
|
+ mov edx, sz ; target struct
|
|
|
+ int 0x80 ; call kernel
|
|
|
+
|
|
|
+ ; print rows
|
|
|
+
|
|
|
+ mov ecx, [sz]
|
|
|
+ add ecx,'0'
|
|
|
+
|
|
|
+ mov eax, SYS_WRITE
|
|
|
+ mov ebx, STDOUT
|
|
|
+ ;mov ecx, [sz]
|
|
|
+ mov edx, 2
|
|
|
+ int 0x80
|
|
|
+
|
|
|
+ ; print cols
|
|
|
+
|
|
|
+ ;add [sz+2],'0'
|
|
|
+
|
|
|
mov eax, SYS_WRITE
|
|
|
mov ebx, STDOUT
|
|
|
- mov ecx, 1
|
|
|
- mov edx, 0x03
|
|
|
+ mov ecx, [sz+2]
|
|
|
+ mov edx, 2
|
|
|
int 0x80
|
|
|
|
|
|
exit:
|