看板Programming
标 题Re: [问题] 8051程式的问题...
发信站交大资科_BBS (Thu Jun 8 11:30:31 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!news.cis.nctu!c
==> 在 [email protected] (霏歆) 的文章中提到:
> .MODEL SMALL
> .STACK
> .DATA
> port1 equ 3e0h
> port2 equ 3e4h
> port3 equ 3e8h
> table db 40h,79h,24h,30h,19h,12h,03h,58h,00h
> strg1 db 'program normal end',10,13,'$'
> strg2 db 'No switch set [ON]',10,13,'$'
> [ showstr MACRO buffer <==请问这四行的功用是什麽0.0???
> lea dx,buffer
> mov ah,09
> int 21h ]
> ENDM
> .CODE
这是定义一个假指令 showstr, 後面的参数是 buffer
以後当你用这个指令时: showstr msg
Assembler 会把这指令代换成
lea dx,msg
mov ah,09
int 21h
> start: mov ax,@data
> mov ds,ax
> lea bx,table
> mov dx,port1
> in al,dx
> mov cl,8
> lp1:
> shr al,1
> jnc pas1
> mov ah,09
> sub ah,cl
> mov al,ah
> xlat table
> out dx,al
> showstr strg1
> jmp exit
> pas1:
> loop lp1
> showstr strg2
> exit:
> mov ah,4ch
> int 21h
> end start
--
* Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>