title: Printing in assembly with drawing
body: <p>I am creating a sign up page and a login page in assembly tasm ms-dos. I am trying to print &quot;Name:&quot; on the screen, but it doesn't work as long as there is a drawing on the screen. Do you know what I am doing wrong?
  Here is my code:</p>
  <pre><code>
  proc SignUpPage
      mov ah, 0   ; set display mode function.
      mov al, 13h ; mode 13h = 320x200 pixels, 256 colors.
      int 10h     ; set it!
      mov al, 0Fh
      mov cx, -1  ;col
      mov dx, -1 ;row
      mov ah, 0ch ; put pixel
      ;jmp WRITE
      signUpTopBar:
      inc cx
      int 10h
      cmp cx, 640
      jne signUpTopBar
  
      mov cx, 10  ; reset to start of col
      inc dx      ;next row
      cmp dx, 30
      jne signUpTopBar
  
      mov al, 0h
      mov cx, 0  ;col
      mov dx, 5  ;row
      mov ah, 0ch ; put pixel
  
  
      loginButton:
      inc cx
      int 10h
      cmp cx, 60
      jne loginButton
  
      mov cx, 0  ; reset to start of col
      inc dx      ;next row
      cmp dx, 30
      jne loginButton
  
      call printNewLine
      call printNewLine
      mov dx, offset LoginMessage
      mov ah, 09h
      int 21h
  
      mov ax, 0h
      int 33h
      mov ax, 1h
      int 33h
      pressLogin:
      mov ax, 3h
      int 33h
      cmp bx, 01h
      jne pressLogin
      shr cx, 1
      sub dx, 2
      cmp cx, 60
      ja pressLogin
      cmp dx, 5
      jb pressLogin
      cmp dx, 30
      ja pressLogin
      mov si, 0
      mov cx, 200
      BREAKLINE_SIGNUP:
          call printNewLine
          inc si
          loop BREAKLINE_SIGNUP
      call LoginPage
      WRITE:
      MOV  DL, 0   ;SCREEN COLUMN.
      MOV  DH, 7     ;SCREEN ROW.
      MOV  AH, 2     ;SERVICE TO SET CURSOR POSITION.
      MOV  BH, 0     ;PAGE NUMBER.
      INT  10H       ;BIOS SCREEN SERVICES.
      mov dx, offset nameMessage
      mov ah, 09h 
      int 21h
      
      
      ret
  endp SignUpPage
  
  proc LoginPage
      mov ah, 0   ; set display mode function.
      mov al, 13h ; mode 13h = 320x200 pixels, 256 colors.
      int 10h     ; set it!
      mov al, 0Fh
      mov cx, -1  ;col
      mov dx, -1 ;row
      mov ah, 0ch ; put pixel
  
     
      loginTopBar:
      inc cx
      int 10h
      cmp cx, 640
      jne loginTopBar
  
      mov cx, 10  ; reset to start of col
      inc dx      ;next row
      cmp dx, 30
      jne loginTopBar
  
      mov al, 0h
      mov cx, 0  ;col
      mov dx, 5  ;row
      mov ah, 0ch ; put pixel
  
  
      signUpButton:
      inc cx
      int 10h
      cmp cx, 70
      jne signUpButton
  
      mov cx, 0  ; reset to start of col
      inc dx      ;next row
      cmp dx, 30
      jne signUpButton
  
      call printNewLine
      call printNewLine
      mov dx, offset SignUpMessage
      mov ah, 09h
      int 21h
  
      mov ax, 0h
      int 33h
      mov ax, 1h
      int 33h
      pressSignUp:
      mov ax, 3h
      int 33h
      cmp bx, 01h
      jne pressSignUp
      shr cx, 1
      sub dx, 2
      cmp cx, 60
      ja pressSignUp
      cmp dx, 5
      jb pressSignUp
      cmp dx, 30
      ja pressSignUp
      mov si, 0
      mov cx, 200
      call SignUpPage
      ret
  endp LoginPage
  
  </code></pre>
  <p>call printNewLine is a function to print a new line from an assembly library</p>