--
Input:
ROW內需有值(row座標,不是address)
Output:
A=07
B=ROW低位*80 + COL座標
丟進parmset
A=08
B=ROW高位*80 + C(低位的進位)
丟進parmset
****************************
A有 8bit , 一個16進制的英文字 = 4 bit
ROW讀進來的8bits 先INC ROW後
分成高4低4
把高4低4交換 why???
低4 bits*80 存到A
高4 bits * 80 存到B
↑錯的
是交換完後,乘完後的高8存B,低8存A
高位是因為低位乘完後超出的部分才放在高位 ,大部分還是在低位
COL有8bit,但COL最大值只有80
若合計值超過 255 則 C = 1 (因為A /8bits 11111111b=255)
****************************
SH1E1:
MOV A,ROW
INC A
SWAP A
MOV B,#80
MUL AB
ADD A,COL
XCH A,B
ADDC A,#0
PUSH A
MOV A,#07H ;CURSOR ADDR. LOW
; MOV B,#0
CALL PARMSET
MOV A,#08H ;CURSOR ADDR. HI
; MOV B,#0
POP B
CALL PARMSET
POP A
POP B
POP DPH
POP DPL
POP RR6
POP RR5
POP RR4
POP RR0
SCRUP: ;DUMMY SCROLL UP. WON'T SCROLL UP IN THIS APPLICATION
RET
No comments:
Post a Comment