⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plm_a01.asm

📁 在伟福环境下实现PLM51调用ASM51范例
💻 ASM
字号:
       public Refresh
       public ClrScr
       public SetColor
       public SetBackGround
       public GotoXY
       public GetXY
       public WriteChar
       public WriteStr

       public KeyPressed
       public ReadKey

       public PutPixel
       public LineH

       bits   segment bit
       bytes  segment data
       proc   segment code

       public ?SetColor?BYTE
       public ?SetBackGround?BYTE
       public ?GotoXY?BYTE
       public ?WriteChar?BYTE
       public ?WriteStr?BYTE

       public ?PutPixel?BYTE
       public ?LineH?BYTE

       public ?PutPixel?BIT
       public ?LineH?BIT

       rseg   bits

?PutPixel?BIT:
?LineH?BIT:
       dbit   1

       rseg   bytes

?SetColor?BYTE:
?SetBackGround?BYTE:
?GotoXY?BYTE:
?WriteChar?BYTE:
?WriteStr?BYTE:
?PutPixel?BYTE:
?LineH?BYTE:
       ds     8

       rseg   proc

Refresh:
       nop     ; refresh screen
       ret

ClrScr:
       nop     ; clear screen
       ret

SetColor:
       mov    a, ?SetColor?BYTE
       nop     ; set display color
       ret

SetBackGround:
       mov    a, ?SetBackGround?BYTE
       nop     ; set background color
       ret

GotoXY:
       mov    a, ?GotoXY?BYTE
       mov    b, ?GotoXY?BYTE+1
       nop     ; goto (X, Y)
       ret

GetXY:
       nop     ; get (X, Y)
       mov    r6, a
       mov    r7, b
       ret

WriteChar:
       mov    a, ?WriteChar?BYTE
       nop    ; write a character on screen
       ret

WriteStr:
       mov    dph, ?WriteStr?BYTE
       mov    dpl, ?WriteStr?BYTE+1
       nop    ; write a string on screen
       ret

KeyPressed:
       nop   ; check is a key pressed
       clr    c
       jz     Goon1
       setb   C
Goon1:
       ret

ReadKey:
       nop   ; read a key
       ret

PutPixel:
       mov    r0, ?PutPixel?BYTE
       mov    r1, ?PutPixel?BYTE+1
       mov    r2, ?PutPixel?BYTE+2
       mov    r3, ?PutPixel?BYTE+3

       clr    a
       jnb    ?PutPixel?BIT, Goon2
       mov    a, #0ffh
Goon2:
       nop     ; draw a pixel on screen
       ret

LineH:
       mov    r0, ?LineH?BYTE
       mov    r1, ?LineH?BYTE+1
       mov    r2, ?LineH?BYTE+2
       mov    r3, ?LineH?BYTE+3
       mov    r4, ?LineH?BYTE+4
       mov    r5, ?LineH?BYTE+5

       clr    a
       jnb    ?LineH?BIT, Goon3
       mov    a, #0ffh
Goon3:
       nop     ; draw a line
       ret

       end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -