## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Hitachi SH-1 Processor

Assembler code

    seg001:0A227704                 cmp/eq  #1, r0          ; Compare: Equal
    seg001:0A227706                 bf      loc_A227718     ; Branch if False
    seg001:0A227708                 mov.l   #h'210907D, r3  ; Move Immediate Long Data
    seg001:0A22770A                 mov.b   @r3, r2         ; Move Byte Data
    seg001:0A22770C                 tst     r2, r2          ; Test Logical
    seg001:0A22770E                 bf      loc_A227718     ; Branch if False
    seg001:0A227710                 mov.l   #h'210907D, r1  ; Move Immediate Long Data
    seg001:0A227712                 mov.l   #h'A23C5E0, r3  ; Move Immediate Long Data
    seg001:0A227714                 jsr     @r3 ; sub_A23C5E0 ; Jump to Subroutine
    seg001:0A227716                 mov.b   r10, @r1        ; Move Byte Data
    seg001:0A227718
    seg001:0A227718 loc_A227718:                            ; CODE XREF: sub_A227018+6EE↑j
    seg001:0A227718                                         ; sub_A227018+6F6↑j
    seg001:0A227718                 mov     r8, r0          ; Move Data
    seg001:0A22771A                 mov.b   @(9,r0), r0     ; Move Structure Byte Data
    seg001:0A22771C                 tst     #h'10, r0       ; Test Logical
    seg001:0A22771E                 movt    r0              ; Move T Bit
    seg001:0A227720                 add     #-1, r0         ; Add binary
    seg001:0A227722                 neg     r0, r0          ; Negate
    seg001:0A227724                 cmp/eq  #1, r0          ; Compare: Equal
    seg001:0A227726                 bt      loc_A22772C     ; Branch if True
    seg001:0A227728                 bra     loc_A2278AE     ; Branch
    seg001:0A22772A                 nop                     ; No Operation
    seg001:0A22772C ; ---------------------------------------------------------------------------
    seg001:0A22772C
    seg001:0A22772C loc_A22772C:                            ; CODE XREF: sub_A227018+70E↑j
    seg001:0A22772C                 mov     r11, r0         ; Move Data
    seg001:0A22772E                 mov.b   @r0, r0         ; Move Byte Data
    seg001:0A227730                 tst     #4, r0          ; Test Logical
    seg001:0A227732                 bt      loc_A227740     ; Branch if True
    seg001:0A227734                 mov.l   #h'21094BA, r1  ; Move Immediate Long Data
    seg001:0A227736                 mov.b   @r1, r3         ; Move Byte Data
    seg001:0A227738                 mov.l   #h'21094B5, r0  ; Move Immediate Long Data
    seg001:0A22773A                 mov.b   r3, @r0         ; Move Byte Data
    seg001:0A22773C                 mov.l   #h'21094B1, r2  ; Move Immediate Long Data