Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mov ax, 0
- mov bx, 1
- ; Initialize the Stack Pointer
- mov sp, 0x200
- call resetTerminal
- call newLine
- mov dx, info
- call print
- sleep:
- add ax, bx
- cmp ax, 100
- jne sleep
- call newLine
- call newLine
- call newLine
- mov dx, space
- mov ax, 0x1000
- send 0, ax
- mov ax, 0
- loop:
- call printInt
- call print
- add ax, bx
- jmp loop
- ; Resets the terminal to look pretty
- resetTerminal:
- push ax
- push cx
- mov ax, 0x1000
- send 0, ax
- mov ax, 0x208A
- send 0, ax
- mov ax, 0x3000
- mov cx, 24
- .loop:
- send 0, ax
- sub cx, 1
- cmp cx, 0
- jne .loop
- pop cx
- pop ax
- ret
- ; Scrolls the text down.
- newLine:
- push ax
- mov ax, 0x3000
- send 0, ax
- pop ax
- ret
- ; Prints a byte (not word!) string.
- ; DX - the starting word of the string.
- print:
- push ax
- push bx
- push cx
- .loop:
- mov ax, [dx]
- test ax, ax
- jz .end
- mov bx, ax
- mov cx, ax
- shr bx, 8
- test bx, bx
- jz .end
- send 0, bx
- and cx, 0xFF
- test cx, cx
- jz .end
- send 0, cx
- add dx, 1
- jmp .loop
- .end:
- pop cx
- pop bx
- pop ax
- ret
- ; Prints a number in decimal.
- ; AX - the number to print.
- printInt:
- push ax
- push bx
- push cx
- push dx
- push ex
- mov bx, 0
- mov cx, 0
- mov dx, 0
- mov ex, 0
- .k10:
- cmp ax, 10000
- jl .k
- sub ax, 10000
- add ex, 1
- jmp .k10
- .k:
- cmp ax, 1000
- jl .h
- sub ax, 1000
- add dx, 1
- jmp .k
- .h:
- cmp ax, 100
- jl .t
- sub ax, 100
- add cx, 1
- jmp .h
- .t:
- cmp ax, 10
- jl .end
- sub ax, 10
- add bx, 1
- jmp .t
- .end:
- test ex, ex
- jnz .digits
- test dx, dx
- jnz .skip1
- test cx, cx
- jnz .skip2
- test bx, bx
- jnz .skip3
- jmp .skip4
- .digits:
- mov ex, [ex+decimals]
- send 0, ex
- .skip1:
- mov ex, [dx+decimals]
- send 0, ex
- .skip2:
- mov ex, [cx+decimals]
- send 0, ex
- .skip3:
- mov ex, [bx+decimals]
- send 0, ex
- .skip4:
- mov ex, [ax+decimals]
- send 0, ex
- pop ex
- pop dx
- pop cx
- pop bx
- pop ax
- ret
- info: db "This Program Counts Up Using SopaXorzTaker's Tpt-Io Libraray Running On LbpHacker's R16K1S60", 0
- space: db " ", 0
- decimals: dw "0123456789"
Advertisement
Add Comment
Please, Sign In to add comment