"Move R4 to R3" is clearly a poor, misleading comment. It should be "Copy
R4 to R3" 😉
Used to write a lot of assembler in both mainframe days and MS-DOS.

Would comment code like this:

; -------------------------------------------------------------------
;   bdi_rcv - process received character interrupt
;
;   entry: dx = io_base
; -------------------------------------------------------------------
bdi_rcv     proc    near

            in      al, dx                  ; Get the character

            push    ds                      ; save the DS register
            lds     bx, cs:rcv_bufint       ; ds:bx -> next rcv byte
            mov     byte ptr [bx], al       ; save the char
            pop     ds                      ; restore ds

            inc     bx                      ; bx -> next position

            cmp     bx, cs:rcv_bufsiz       ; q. end of buffer?
            jne     bdi_rcv10               ; a. no .. continue
            xor     bx, bx                  ; .. else .. reset pointer

bdi_rcv10:  cmp     bx, cs:rcv_bufget       ; q. overrun?
            jne     bdi_rcv90               ; a. no .. save ptr & leave

            mov     cs:rcv_ovfl,1           ; show an overrun occurred
            ret                             ; .. and return to caller

bdi_rcv90:  mov     cs:rcv_bufput, bx       ; save buffer pointer
            ret

Learned the q: a: format while writing on mainframes. Answers the what and
why in most cases.

Bob


On Thu, Apr 30, 2020 at 12:34 PM Paul Gilmartin <
00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:

> > On 2020-04-30, at 10:17:03, Phil Smith III wrote:
> >
> > Seymour J Metz wrote:
> >
> >> I can already figure out that the instruction will be executed; tell me
> >> *why* in the comment. How does it fit in the broader scheme of things?
> >> Where are the EX instructions and what is the significance of the
> >> lengths that they use?
> >
> I was quite frustrated when I had to modify some
> well-parameterized but adversely commented code
> (actually FOSS output from PL/S) which resembled:
>
> NROWS  DC  H'16'
> where I wanted to change NROWS, but I stumbled onto:
>
>        MH    R2,NROWS  Multiply by 16
>
> Grrr.  The code was parameterized, the comment wasn't.
>
> -- gil
>

Reply via email to