DIV 命令 (Divide Accumulator) |
オペコード | 構文 | アドレッシングモード | バイト数 | 命令サイクル | 注 |
---|---|---|---|---|---|
9E
|
DIV YA, X
|
Divide
|
1
|
12
|
; DIV Sample ; #$0035 / #$10 (= Q: #$03, R: #$05) MOV A, #$35 ; ***-*-** MOV Y, #$00 ; n**-*-z* MOV X, #$10 ; n**-*-Z* YA: 0035 DIV YA, X ; n**-*-z* X: 10 *** ; nv*-H-z* A: 03 X: 10 Y: 05 ; #$0105 / #$24 (= Q: #$07, R: #$09) MOV A, #$05 ; ***-*-** MOV Y, #$01 ; n**-*-z* MOV X, #$24 ; n**-*-z* YA: 0105 DIV YA, X ; n**-*-z* X: 24 *** ; nv*-h-z* A: 07 X: 24 Y: 09 ; #$0005 / #$10 (= Q: #$00, R: #$05) MOV A, #$05 ; ***-*-** MOV Y, #$00 ; n**-*-z* MOV X, #$10 ; n**-*-Z* YA: 0005 DIV YA, X ; n**-*-z* X: 10 *** ; nv*-H-Z* A: 00 X: 10 Y: 05 ; #$13EC / #$14 (= Q: #$FF, R: #$00) MOV A, #$EC ; ***-*-** MOV Y, #$13 ; N**-*-z* MOV X, #$14 ; n**-*-z* YA: 13EC DIV YA, X ; n**-*-z* X: 14 *** ; NV*-h-z* A: FF X: 14 Y: 00 ; #$6415 / #$64 (= Q: #$100, R: #$15) MOV A, #$15 ; ***-*-** MOV Y, #$64 ; n**-*-z* MOV X, #$64 ; n**-*-z* YA: 6415 DIV YA, X ; n**-*-z* X: 64 *** ; nV*-H-z* A: 00 X: 64 Y: 15 (overflow!) ; #$C801 / #$64 (= Q: #$200, R: #$01) MOV A, #$00 ; ***-*-** MOV Y, #$C8 ; n**-*-Z* MOV X, #$64 ; N**-*-z* YA: C800 DIV YA, X ; n**-*-z* X: 64 *** ; NV*-H-z* A: FF X: 64 Y: 65 (invalid result) ; #$D480 / #$64 (= Q: #$220, R: #$00) MOV A, #$80 ; ***-*-** MOV Y, #$D4 ; N**-*-z* MOV X, #$64 ; N**-*-z* YA: D480 DIV YA, X ; n**-*-z* X: 64 *** ; NV*-H-z* A: EB X: 64 Y: B4 (invalid result) ; #$1234 / #$00 (invalid operation) MOV A, #$34 ; ***-*-** MOV Y, #$12 ; n**-*-z* MOV X, #$00 ; n**-*-z* YA: 1234 DIV YA, X ; n**-*Zz* X: 0 *** ; NV*-H-z* A: ED X: 00 Y: 34 (invalid result)