home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,023 of 4,255   
   Robert Pengelly to Robert Pengelly   
   Re: COM1 interrupt for 16-bit OS   
   01 Dec 23 06:09:25   
   
   From: robertapengelly@gmail.com   
      
   On Friday, 1 December 2023 at 14:04:58 UTC, Robert Pengelly wrote:   
   > On Monday, 13 November 2023 at 09:47:06 UTC, wolfgang kern wrote:   
   > > On 13/11/2023 10:39, Robert Pengelly wrote:   
   > >   
   > > > Yeah, I have. Thanks for all the help.   
   > > You're Welcome,   
   > > this trip into the past confirmed that my brain still works,   
   > > almost all other body parts are either artificial or death :)   
   > > __   
   > > wolfgang   
   > > whenever you got more questions just ask away.   
   > Can you figure out what I'm doing wrong with the following code:   
   >   
   > serial_handler:   
   >   
   > push ax   
   > push bx   
   > push cx   
   > push dx   
   > push ds   
   >   
   > mov ax, cs   
   > mov ds, ax   
   >   
   > mov dx, HEX (03FD)   
   > in al, dx   
   >   
   > test al, HEX (40)   
   > jz serial_handler.done   
   >   
   > test al, HEX (01)   
   > jz serial_handler.done   
   >   
   > mov dx, HEX (03F8)   
   > in al, dx   
   >   
   > mov bx, [serial_index]   
   > mov [serial_buffer + bx], al   
   >   
   > inc word ptr [serial_index]   
   >   
   > cmp bx, 2   
   > jb serial_handler.done   
   >   
   > serial_handler.got_all:   
   >   
   > mov word ptr [serial_index], 0   
   > xor ax, ax   
   > xor dx, dx   
   > xor cx, cx   
   > mov bx, offset serial_buffer   
   > mov al, [bx]   
   >   
   > test al, HEX (40)   
   > jz serial_handler.done   
   > and al, HEX (0C)   
   >   
   > mov cl, 4   
   > shl ax, cl   
   >   
   > cbw   
   >   
   > mov cl, [bx + 2]   
   > or ax, cx   
   > mov [delta_y], ax   
   > mov al, [bx]   
   > and al, HEX (03)   
   >   
   > mov cl, 6   
   > shl ax, cl   
   >   
   > cbw   
   >   
   > mov cl, [bx + 1]   
   > or ax, cx   
   > mov [delta_x], ax   
   >   
   > serial_handler.done:   
   >   
   > mov al, HEX (20)   
   > out HEX (20), al   
   >   
   > pop ds   
   > pop dx   
   > pop cx   
   > pop bx   
   > pop ax   
   > iret   
   >   
   > If the "mov [delta_x], ax and mov [delta_y], ax" parts are changed from "add   
   [mouse_x], ax and add [mouse_y], ax". The latter was working but for some   
   reason the new code doesn't.   
   Also, forgot to mention that if I change "cmp     bx,     2" to "cmp       
   bx,     1" the x position seems to update like expected.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca